Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Mathematics for computer science

  1. Jan 17, 2007 #1
    I understand that mathematics is important for a computer science major, but i'm not sure how much math is needed. I'm only required to go to Calc III, but i'm not sure if I should take more math. I enjoy math, but my schedule is too tight right now, so that if I did take extra math classes, I would be required to graduate in five years. I'm willing to take that extra year, but I would like to know how important the other fields of math are.

    I think that taking linear algebra would be helpful, but is there any other types that would benefit me more than others?
  2. jcsd
  3. Jan 17, 2007 #2
    I'm kind of throwing this out there but what about stats or probability if it's of any interest to you. I know that CS majors here are required to take one course in linear algebra so that might be a good idea.
  4. Jan 17, 2007 #3
    depends on what you wanna do as a career
    cryptography - graph theory/combinatorics/abstract algebra ...some other courses to lead you to studying sieve theories.

    AI - language theory or computability (usually a cs course), stats,stochastics...anything to teacxh you markov and bayesian (some cs courses will teach you this)

    Simulations - Math Modelling, Dynamical Systems, Fluids, stats, Numerical methods(PDE/ODE),linear algebra

    Game Development -depends on the level you want to do..but with physics or graphics...
    some to teach you classical mechanics, and LInear algebra

    Imaging- anything that will teach you FFT,DFTs, Transforms (usually a PDEs class)
  5. Jan 17, 2007 #4


    User Avatar
    Gold Member

    Well our computer science and electrical engineering department have combined to give us computer engineering. CS majors and CE majors are required to take the same math courses. The calculus series, linear algebra, and differential equations (PDEs).

    Linear Algebra is definitely a good course to take. In dealing with circuits with tons of unknowns, solving for them by methods discussed in linear algebra is a life safer.
  6. Jan 17, 2007 #5
    OKay, we'll thank you all for you reply, you all have been very helpful. With the information gathered, the choices I made for my math classes are:

    Stat theory, Stochastic Modeling, and Applied Statistics. I plan to go into the field of AI, so based on neurocomp advise, I picked classes that seem to fit.

    http://www.missouristate.edu/registrar/dept_ma.html#mth_courses [Broken]

    Is there anything else that is listed on the website that would be helpful such as applied Regression Analysis?
    Last edited by a moderator: May 2, 2017
  7. Jan 17, 2007 #6
    Take algebra, linear algebra, Numerical Analysis, number theory, and operation maths.
  8. Jan 17, 2007 #7


    User Avatar
    Homework Helper

    Well Leon's comment doesn't seem to helpful as it is a directive with no context.

    Bitter, that seems like a very directed set of choices. I'm just wondering if it is good to be that directed, or to perhaps become more rounded.

    But certainly if statistics is your thing then I have no worries.

    By the way, I think AI is an excellent direction for a CS major to go into, because natural language processing and the like is surely the way things will go in the future. I wonder how long it'll be until I can buy a robot nanny...
    Last edited: Jan 17, 2007
  9. Jan 17, 2007 #8
    I agree with Leon you should take descrete math/number theory or some math class that goes over strong induction, you prove recursion just like you do a math problem with strong induction and if your going into AI, your definatley going to have to do alot of algorithm design/analsysis.
  10. Jan 17, 2007 #9
    Well then. I thought giving titles will initiate his curiosity, and then he shall research about them. First of all, I am a applied maths major. I can't tell you much from the CS aspect. However, advance algebra and number theory are good preparation to code theory.

    Numerical Analysis is of course a must for algorithm analysis. Linear algebra is important because you will certainly linearise system for modeling purposes.

    Operation Maths like integer programming, linear programming, etc are not as important now because these people are no longer demanded in the industry anymore. However they have very interesting practical applications.

    If you can accept the abstractness, topology will provide you a very good argument in mappings.

    PDE and ODE arent as important anymore because I think you will hardly need to write a programme for a specific DE. There are too many good DE solvers in the industries.

    again, I am just a maths major. I see every topic of maths can be applied in computer science. For example, one can argue that they can use quaternion to discribe 3d rotation on computer. I suppose you are undergraduate student at this moment. so if you are interested enough, you should know what every topic of maths is about. Later you can always study very specific area when you need them. There are just too many areas can be applied computer science. An other way is to look at what MIT does with their computer science depertment and maths department and see how they overlap.
    Last edited: Jan 18, 2007
  11. Jan 18, 2007 #10
    I was a comp sci major. Took calculus, number theory, linear algebra, numerical analysis, PDE's, and lots of stats among my electives. Now doing a PhD in mathematical geology.

    I tried to take as broad a range of maths as I could, because at the time I wasn't entirely sure what I wanted to do when I got my BSc.
  12. Jan 18, 2007 #11


    User Avatar

    Can't see discrete maths mentioned - very important for AI type study.
  13. Jan 18, 2007 #12
    Well, thank you all for your help. I went through my course guide and selected classes that seem to fit with the advice given and also that interest me.

    Here is a list of the math classes I plan to take, and ones I've taken:

    Discrete Mathematics, Calculus I and II, Multivariate Calculus, Differential Equations, Algebraic Structures, Statistics for Scientists and Engineers, College Geometry, Advanced Calculus I, Introduction to Abstract Algebra, Linear Algebra I, Statistical Theory I, Statistical Theory II, Stochastic Modeling, Applied Statistics, Analysis of Variance and Design of Experiments, Applied Regression Analysis, and Applied Time Series Analysis.
  14. Jan 18, 2007 #13
    u should also talk to a prof at your school about what math is important.
    Not surch if the Analy of Var and Exp would be needed. ..best way is to search in journals ot see if they are used...

    Also with Discrete mathematics...is it offered as part of a cs class? Discrete math is fairly easy to learn on your own.
  15. Jan 18, 2007 #14
    That is odd that your college isn't making you take more math, all the universities i've looked at its math math math, and some programming on the side.

    I'm a computer science engineering major not a computer science so i'm not sure if I do more math than a regular cs major or not but i'm guessing because its basically a computer engineering degree without a few EE courses.
    Last edited: Jan 18, 2007
  16. Feb 2, 2007 #15
    my school makes CS and Computer engineers take the same

    Calc 1-3
    Diffy q
    Linear algebra
    a few more.
  17. Feb 2, 2007 #16
    Here the compEs are required to take calc 1-3, DE, prob/stats, and discrete math. Not sure what the CS majors need.
  18. Feb 2, 2007 #17


    User Avatar
    Science Advisor

    For CS i took Calculus 1-3, Differential Equations, Probability, Linear Algebra, Discrete Math and Numerical Analysis. I threw in probability because i was so close to getting a math minor, but probability/combinatorics is used heavily in Algorithm Complexity analysis and can be very useful. There are some popular randomized algorithmsm which are pretty efficient.
  19. Feb 4, 2007 #18


    User Avatar

    I'm a final year AI + CS undergrad. As a CS major you should try to take a few courses on computability, complexity theory and logic - these are really the heart of CS.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook