Hacker News new | ask | show | jobs
by tnecniv 2756 days ago
I wonder how much better off students would be if the majority of the formal CS classes they take are replaced with more traditional (applied) math classes for that reason. I seem to rely on ideas from those classes more than the ones from my CS classes when I write / reason about code.
1 comments

I think many folks would consider abstract algebra more of a branch of pure math, rather than applied math.
What was known as "applied math" through the 20th century was actually just one application of math: calculus / differential equations and linear algebra applied to physics (in turn applied to engineering, mechanical or electrical).

But then you have computer science, which is in many ways applied "pure" math. Although if you want to separate "applied" abstract algebra from "pure" abstract algebra, then the subject you'd want to talk about is simply called automata theory.

In fact, in the book Elements of Automata Theory Jacques Sakarovitch characterizes automata theory as the "linear algebra of computer science", in more ways than one:

I suggest that automata theory is the linear algebra of computer science. I mean this in two ways. Properly speaking, automata theory IS non-commutative linear algebra, or can be viewed as such: the theory of matrices with coefficients in suitable algebras. I am more interested, however, in the figurative sense: automata theory as a basic, fundamental subject, known and used by everyone, which has formed part of the intellectual landscape for so long that it is no longer noticed. And yet, there it is, structuring it, organizing it: and knowing it allows us to orient ourselves.

Note: if you look at my other comment in this thread, I suggested that exmadscientist was talking about Floyd's invariance principle, which, if you follow my cited source there, you can see explicitly formulated as an induction proof on transitions of a state machine.

It is (unless you are...well...applying it to something). I just didn't want to limit my statement to pure math topics, since I find, e.g. optimization, to be helpful.