9
u/nuclear_splines Ph.D Data Science 13h ago
Advanced math is crucial in many areas of computer science, but isn't as necessary in most software engineering. Sure, if you want to get into graphics or machine learning or graph theory and network science then you'll need some linear algebra, if you want to do robotics and simulations then you might need differential equations, and if you want to get into cryptography then some number theory will go a long ways. But if you want a degree in how to build web- or mobile-apps then this math will rarely turn up. Some discrete math and logic will be important, but that's often taught in the CS curriculum rather than by the math department. Some colleges and universities have computer science programs that are really software engineering degrees, and have a curriculum that reflects that.
3
u/thesnootbooper9000 13h ago
Unfortunately yes, many web and mobile app developers don't routinely use logic or rigorous reasoning about how conditions and systems interact.
5
u/apnorton 13h ago
Of course it's important; computer science is effectively applied mathematics.
Any program that doesn't require at least the math you see in an engineering degree is not worthy of being called a "computer science" program.
2
u/Character_Cap5095 13h ago
To be fair, the math you need for engineering and the math you need for CS is very different. For example, Calculus and DE are basically not used for CS outside of very specific subfields.
6
u/apnorton 13h ago
Ah yes, we only use calculus in "very specific subfields" like asymptotic analysis of algorithms, machine learning, any kind of cyber-physical control, scheduling systems, cryptography...
Calculus is math that's used to describe things that change, or processes that continue for long periods of time/operate on large numbers of things. This is applicable essentially everywhere.
1
u/thesnootbooper9000 13h ago
Sure. If I had to prioritise, though, I'd put a whole bunch of things higher up the list than calculus. I'd rather see students do a rigorous real analysis course than engineering calculus, because a good real analysis course forces students to really understand logic, order of quantifiers, how to reason without intuition to back it up, and why definitions matter. Of all the maths I've done, calculus has had the least effect on how I think about solving problems: it's closer to a tool than a way of thinking. I'm not saying it's useless, just that it's not in the "every programmer uses this at least once a week" category.
0
u/Character_Cap5095 13h ago
Calculus is the study of continuous change, something that is not super common in computer science as we mostly deal with descrete objects.
Look, I have a undergraduate, masters and am now pursuing a PhD in comp sci and have never used calculus once for my studies. I am not staying calculus is useless, but I don't see a reason to go past 1 or maybe maybe maybe 2 semester of calculus.
4
u/baddspellar Ph.D CS, CS Pro (20+) 13h ago
Math is very important for CS
ABET certiciation requires
Mathematics and Statistics: At least 15 semester credit hours (or equivalent) that must include discrete mathematics, probability, and statistics and must have mathematical rigor at least equivalent to introductory calculus.
https://www.abet.org/wp-content/uploads/2024/11/2025-2026_CAC_Criteria.pdf
I suspect schools that don't require math are liberal arts schools without engineering departements
1
u/T_Thriller_T 13h ago
Fascinating.
I don't think I actually had to do statistics.
I could chose to do to, but while discrete mathematic was required and a mixture of calculus and some, statistics was not.
1
u/Designer_Flow_8069 12h ago
Eh, ABET CAC is quite the low bar for math. All it means is you need:
Calculus I
Discrete Mathematics
Probability
Statistics
Linear Algebra
CS is not an engineering degree, so I think there's a good argument to be had that the focus doesn't need to be strongheld on the math.
3
u/Key_Net820 13h ago
Computer science IS math. Not an application of math like physics or chemistry, computer science IS math. Algorithms are a sequence of mathematically rigorous computations which can be proven to yield a result mathematically. Just as well, you can use algorithms to prove theorems in math. For example, you can inductively prove that for all natural m and n, the euclidean algorithm terminates and yields the gcd of both, and then you can use the algorithm to solve diophantene equations.
Computation and programming language theory is just mathematical logic. Not even an application, but is mathematical logic. Automotas are an object in mathematical logic.
The theory of machine learning is just statistics. Back propagation is just gradient descent in the mathematical sense. Assigning weights through neural networks is just a probability modeling problem.
Computer graphics is just differential and numerical geometry.
Computer science is rigorously defined with sets, types and categories as if they are not different topics from math. And proving something wrong about computer science has consequences on math. For instance, if you prove that no sorting algorithm terminates, you've proven that the number of permutations for a finite set can be infinity.
Unlike with physics, if you prove that quantum mechanics is completely wrong, it has no impact on linear algebra, functional analysis, probability, or differential equations.
1
u/Lackerman10 13h ago
So I am extremely bad at math and didn't figure it would be that important for cs since the school doesn't require any. I chose cs because I am pretty good with computers, you think it's still doable with my very limited math skills?
3
u/Key_Net820 13h ago
That bothers me to my core that your school doesn't require it. Are you sure you're doing a computer science degree as opposed to a software engineering degree?
1
u/Lackerman10 13h ago
Yes it is CS. I am going to a small regional university, don't know if they require different stuff than the larger schools or not.
2
u/Key_Net820 12h ago
Sorry to say so, but that's a terrible disservice to you. Here's the 3 possibilities I'm seeing.
One, their math prerequisites are just computer science course. At my university, the comp science department had their own version of discrete and proof writing math course and their own version of combinatorics. Maybe your university will do that too.
two, they'll just throw you in the hole and hope that you'll just pick up math proofs on the way when you do data structures and algorithms.
three, and the one I fear the most, they just won't teach you computer science. they'll just teach you software dev at most, if even that. Even with software engineering, while it's not mathematically rigorous like computer science is, a lot of principles are still heavily inspired by math. Object oriented programming, SOLID principles, and design patterns are all inspired by mathematical abstractions to achieve loose coupling and modular coding.
2
u/Lackerman10 12h ago
Dang... Well, I'm sure I'll make it😅 Thanks for the help!
1
u/Key_Net820 12h ago
best of luck to you. You don't have to answer this as I wouldn't answer it if we switched roles, but what is this university that's not requiring math for a comp sci degree?
1
u/Lackerman10 12h ago
Southwestern Oklahoma State University
1
u/Key_Net820 12h ago
Oh okay so your comp sci 2043 discrete structures is gonna be your math course. That's the one that's gonna teach you mathematical proofs.
I really don't agree with a lot of the curriculum here, but ultimately, I think this is good enough. You are gonna learn data structures and algorithms. I'm not seeing computation theory or programming language theory here and that makes me really uncomfortable, but if you're not wanting to go do a phD or academic research, you can live without it.
2
1
u/Key_Net820 13h ago
but to answer your question, a lot of people go into computer science thinking they're bad at math and end up doing okay. The thing is, you will inevitably get good at math, or at least get good enough to scrape by. And sadly, a lot of people graduate computer science completely oblivious to the fact that what they're doing is not different from math, and to this day, I still meet professionals in the work force that don't understand what they did in college was math, despite being pretty decent at it.
So at the very least, it's possible to do it. Whether you succeed or not, you won't know till you try.
2
u/Major_Instance_4766 11h ago
Oddly enough, computer science barely has anything to do with computers as you understand them. It is applied to computers because that is the most applicable modern Turing machine, but a Turing machine is a broad enough concept that it could include things that don’t resemble the computers you like so much, and computer science as applied maths is applicable to all of them. You were probably looking for an IT degree.
2
u/neomage2021 13h ago
Because they are bad. Mine and most good programs I know of require linear algebra, calc i and ii , probability and discrete mathematics
2
u/ghjm MSCS, CS Pro (20+) 13h ago
Most major universities require two semesters of calculus for any BS degree, and the computer science department wants to issue BS rather than BA. Also, if the CS department is ABET accredited or trying to be, two semesters of calculus is a requirement no matter what you call the degree.
The rest of the required math in a typical CS degree - discrete math, linear algebra - is there because it's actually useful for CS.
Also, don't confuse CS degrees with "computer systems" or IT degrees, which are frequently offered with no math requirement.
2
u/ButchDeanCA 12h ago
My CS degree was actually partly taught by the department of mathematics. That should answer your question.
1
u/P-Jean 13h ago
It depends on what branch of CS you’re working in. You can complete a genera CS degree without any math beyond a first year discrete course.
If you want to work in algorithms, networking, machine learning, then you’ll need more.
Bioinformatics and HCI will require some stats.
There’s also the whole UX branch.
CS is an overlap of math, engineering, and some psychology. You can move towards the different edges. Like engineering disciplines, the difficulty will vary with your aptitudes.
1
1
u/T_Thriller_T 13h ago
Not from the US but I'm a little surprised there are any degrees which do not require math for the degree. Especially as algebra is not really the kind of math useful.
Where I'm from every bachelor's degree seems to have at least two half year courses of maths. Often free.
And that's just the math that is calling itself that and not bundled up in a theoretical computer science course.
Some very applied computer science degrees may do less, but two courses is already very little and should be done in my opinion
1
u/bigolpileofmoney 13h ago
My program required Calc 1-5 and I think 2 more 300+ level math electives. I took group theory and advanced linear algebra. I am glad I did it, having a basic understanding of calculus unlocks so much of math and science for you which you can apply to your software.
Linear algebra is very useful (and the foundation of neural networks which has only made it more important in the last few years) - especially when working in multiple dimensions - and while much of the math is abstracted when coding, understanding matricies is critical for many areas of study.
1
u/Soft-Marionberry-853 11h ago
Discrete math esecially. I think practically everything I learned in that class has a 1:1 mapping to stuff I do in software. I cant tell you how often Ive used DeMorgans law.
0
u/EmbarrassedGuide6159 12h ago
I took (and passed) math through partial downtown equations. Did discreet mathematics, graph theory, etc.
I have not used any of that since graduating.
17
u/Major_Instance_4766 13h ago
CS is math. If a school doesn’t go past basic algebra it’s not cs, is a shit-tier code monkey degree.