I am embarking on revising some Math I learnt back in high school and college. Reason: I am reading a couple of books (on Lisp, Data Structures, Algorithms etc.), all of which converge in the assumption that you still remember calculus and differential equations.
I am trying to sort out topics that I think will be important for computer science. Help me add to the list:
- Differentiation and Integration
- Differential Equations
- Boolean Algebra
- Functions, limits and continuity
- Matrices and Determinants
jingalala jingalala ™
September 8th, 2006 6:08am
I think I typed in 'Boolean Algebra' by mistake. That is trivial and not essentially a part of Math.
jingalala jingalala ™
September 8th, 2006 6:56am
September 8th, 2006 7:47am
the thing where you keep track of numbers by stomping your hooves...
I think we need to subtract items from the list too.
Why do we need anything other than Boolean algebra? That is, set theory, truthtables, etc. They all may be part of what is taught in a school but in reality, though they may be interesting to learn, how do they relate to data structures or algorithms?
September 8th, 2006 8:42am
How exactly does Lisp require differential calculus?
September 8th, 2006 11:18am
Most of the Lisp books and AI stuff I read requires predicate calculus, whatever that is.
I don't know about On Lisp, but SICP had some problem sets where you implemented programs that did symbolic differentiation.
September 8th, 2006 11:53am
Hey jingalala: I suggest you go and look at all the Wikipedia articles related to boolean algebra, then come back when you have confirmed how trivial it is.
September 8th, 2006 12:15pm
What computer book are you reading that requires differential calculus?
I must admit, doing anything non-trivial will require you to write applications that might need this sort of thing.
If you want to do financial engineering, DSPs, or some types of AI, you will need higher math, for sure.
"I must admit, doing anything non-trivial will require you to write applications that might need this sort of thing. "
And yes, those jobs pay very well if you can demonstrate competency. Most of them pay much more than typical jobs doing IT, software engineering, or even embedded work.
I think you should be practical on what you spend your time on. No one's stopping you from learning higher math if you wish to. As sharkfish says DSP applications, financial engineering require higher math. But you should assess the chances of you actually using your knowledge in the near future.
There are applications that require higher math. But they are done by people who work on electrical engineering mainly and use software as a tool to achieve what they want. Our abstraction is in a different level. We are in the business of supplying bullets. We can spend a night or two in the trenches but we don't need to know the strategies adopted on where troops need to be posted.
Again, it's your discretion. If you feel you'll use the knowledge gained, it's fine. You may face hurdles like like you have to have a degree to qualify for the job which will use the math, etc. You may end up having the knowledge but denied the opportunity to use it. At a later point there's no use cribbing that people don't recognize it and all. You should be sure that the time you learn all the stuff will be time well spent.
September 8th, 2006 3:39pm