2 ms·
In my line of work, I've been well-served by first-order logic, graph theory, and automata theory. But what to learn depends as much on what you know as it doe
by groovy2shoes 10y ago
In my line of work, I've been well-served by first-order logic, graph theory, and automata theory. But what to learn depends as much on what you know as it does on what you do. For example, if you don't know set theory, you should probably start there because practically every other branch of discrete mathematics rests on a foundation of set theory. If you do know set theory, you can pretty much take your pick among the branches of discrete math. Of course, there's more to math than just the discrete variety, and although I feel as though discrete math has served me the most in my programming career, it would never hurt to study numeric analysis/methods, the infinitesimal calculus, etc.
Abstract algebra has also been a fun subject for me, but hasn't really affected my programming as much as I'd anticipated. I suppose by the time I learned about abstract algebra, I'd already been well-versed in ADTs (both kinds - abstract and algebraic data types) and object-oriented design, and, apart from some new terminology, the underlying concepts didn't feel particularly new or profound to me.