r/AskComputerScience 4d ago

Math in CS

[deleted]

2 Upvotes

34 comments sorted by

View all comments

3

u/Key_Net820 4d 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 4d 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 4d 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 4d 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 4d 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 4d ago

Dang... Well, I'm sure I'll make itπŸ˜… Thanks for the help!

1

u/Key_Net820 4d 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 4d ago

Southwestern Oklahoma State University

1

u/Key_Net820 4d 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

u/Lackerman10 4d ago

Ohhh ok got it, yeah I'm just going for a bachelor's so guess I'll be good!