### Re-learning Math

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

- Probability

- Functions, limits and continuity

- Matrices and Determinants

Thanks.

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

Set theory

Tapiwa
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?

Senthilnathan N.S.
September 8th, 2006 8:42am

How exactly does Lisp require differential calculus?

just me
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.

vincent d'onfrinio
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.

bon vivant
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.

Senthilnathan N.S.
September 8th, 2006 3:39pm