The bachelors degree in computer science that I’m about to start requires calculus 1 and calculus 2, both of which I fortunately have the credit for already through high school. However, my high school calculus teacher did not teach us very well (I got a 2 on the Calc BC exam, but still get the credit through dual enrollment), and to be honest I don’t remember really anything we learned. Should I re-take Calculus 1 and 2 in college, or just be done with it and go on to the next math class (Logic)? This question could also be rephrased as, “Will I really need calculus for computer science?”.
I would say that most likely you should retake the classes. Before doing that though, you should see though whether you can find some example tests from your university for Calc 1 and Calc 2 and see if you can score 75% or more on it.
Depending on the school you go to, you will definitely need Calculus and/or proof mathematical maturity for any linear algebra or applied linear algebra classes, any discrete math classes, and any college level statistics and probability classes. That’s just the math classes. Then if you ever need to take any machine language learning classes, it’s probably that you will need multivariable calculus, so you may need to take multivariable calculus as well, which of course requires a lot of Calc 1 and Calc 2.
However, it is possible that you might go into a CS program that is not necessarily as rigorous for math.
To answer your questions, I’m going to Arizona State University, and I received a 3 on the AB portion of the exam.
I will say I know a fair amount of Calc 1, I just didn’t spend a second preparing for the exam. What I never learned was most of the Calc 2 stuff, like polar, parametric, etc. But I can absolutely derive and integrate. When I asked my math teacher this same question, she said that I could try to simply pick up any calculus that I need as I go. What do you think?
While calculus is used in some CS courses, it’s usually quite basic and usually nothing more than basic derivatives.
While ML specifically will need more advanced math for a full understanding, it is only offered at the grad level and only one course is offered. Unless you plan on taking that it doesn’t seem worth it to retake a full two classes worth of credit that could be saved money or spent on new material for a single course.
Given that you only need discrete (explicitly not calculus usually), logic in CS (likely using proofs but also teaching proofs) and applied linear algebra, I think some simple review should do the trick here.
When it comes to practical CS, very little actually uses advanced math but is mainly about mathematical thinking and problem-solving. As both an upper-class CS major and a full-time software engineer I can’t remember the last time I required any seriously challenging math. Even when you use complex math, many libraries abstract away the actual solving and computation, requiring more choice of tooling than the math that is classically taught in CS degree programs (here’s a problem and the steps to solve problems of type X).
I’ve long thought most CS programs went overboard on the math requirements. Most software engineers could have very good careers with one semester of calculus, one semester of statistics, and one semester of linear algebra.
Commonly, liberal arts based CS majors require single variable calculus, discrete math, linear algebra, and (often calculus based) statistics. Engineering based CS majors are more likely to require additional math like multivariable calculus, as well as non CS science.
Upper level CS theory courses will be their own kind of math courses. Additional math may be used in some specialty areas, like abstract algebra and number theory for cryptography.
Just to let you know, the major map you linked is outdated (2015). Calculus for Engineers (III) is now optional, I could take Logic in Computer Science instead.
This isn’t to say I’m not considering your opinion, thank you for your replies.
Not unless you want to take calculus 3 or other courses which strongly depend on calculus 1 and/or 2, and you have difficulty with the old calculus 1 and/or 2 final exams or the quizzes linked above.
Yes, you should definitely retake those classes. Most high schools try to cram too much information in too little time, and if there’s any hint of evidence that you don’t 100% know what you’re doing, you’re gonna want to change that. Math in high school just really isn’t the same as math in college.
@mathpigeon If it was a building block class I’d agree but Calculus really isn’t an essential part of the majority of CS, not so much as to warrant spending about half a semesters worth of tuition on if it won’t have any real effects on other courses.
@collegeboi12345 Deep learning requires calculus, as does quantum computing. What is now being called “classical computing” is very much based in discrete math, but cutting-edge technologies increasingly have underpinnings more in calculus, linear algebra and statistics. “Future-proofing” your CS education by taking advanced math courses would be a smart move. Maybe, to avoid a complete do-over, take a class in applied calculus, and then another in multivariate calculus.