• Forum
  • Lounge
  • What level of mathematics do you think s

 
What level of mathematics do you think should be required for a computer science major?

At the moment I am taking pre calculus and the most "advanced" mathematics that i am planning on taking is calculus 3. Do you think i should take more advanced mathematics or is calculus enough for a software engineer/computer programmer?
Degree programs typically have course requirements.

Personally, I don't think you should do less than some discrete mathematics and/or some number theory, in addition to whatever calculus you take. I rather enjoyed calc 4.

Also, you should definitely have some theory of computation and something like design and analysis of algorithms on the table.

All that said, you don't really need anything more than algebra for most jobs, AFAIK.
Disclaimer: I teach mathematics (the entire Calc I-III stack, this summer I will even teach for first time precalc). Thus my opinion is totally subjective. Read everything I write critically with the above disclaimer in mind.

Math is what will distinguish your skill set and your CV from that of a high-school graduate who has gone through a series of programming courses. In this forum, you will read many math questions that pop up in the life of programmers: the ability to deal with those questions is what will make you the manager of those who simply know the java/c++/python standard libraries.

When I was in high school, the hot stuff was C++. When I went to uni, the hot stuff was java. Now java has been de-crowned and the hot stuff that everyone talks about (**in university**) is Python (and there's a bit of a C renaissance as well).

Programming languages in their infancy such as Go or D have not even entered academia yet, but when they do, we may again have a drastic change of opinion.

Chances are the programming language you study will not be the programming language you will work all your life with. On the other hand, all math you will learn in Uni will not change and will be useful to you all your life.

When you study programming, you study the ideas and designs of people who are still alive. Many of them are probably as old as your parents. Their ideas have not withstood the test of time. On the other hand, math is the rock-solid concentrated experience of humanity. The ideas of Calculus have withstood the test of 300 years of time, including the scientific and the industrial revolutions.

I personally am spending about half of my work time programming in C++(essentially all the time in which I don't teach). I have learned how to program entirely from books and the internet (quite a bit from this forum). Yet I have taken only 2 computer science courses - in java - 'cause they were mandatory for math majors. On the other hand, I don't think I'd manage to learn 1/50th of what I know in math had I not been taught by experienced mathematicians. Mathematics has a well-tested narrative that helps cover a lot of material relatively fast, and you won't get that by reading Wikipedia. Of course, all the math material is in there, but the order in which to study, as well as the choice of exercises, is what you will get from your teachers.
Last edited on
Discrete mathematics will be very good, in fact I would argue it is the most relevant for software. People say linear algebra is helpful (even though I hated linear algebra). Some high level statistics is also recommended just because of how many places it pops up. If you plan on taking calc. 3, then I would argue to continue on to differential equations.

All that said, time is finite so you may not be able to fit everything in. If your university has a mathematics minor, I recommend grabbing that or even a dual major if it isn't too much more. It'll look good on a resume and you'll be exposed to a pretty broad range of fields in mathematics. Speak with your adviser and you see how can you fit in a handful of extra math courses.

Going off on a tangent here: Don't neglect communication classes! Take an extra public speaking class, take a business writing class if your university offers it. Far too many people in these programs neglect communication, but it is arguably the most important skill you can learn. Nobody wants to hire someone who can't speak or can't write.
Topic archived. No new replies allowed.