Hacker News new | ask | show | jobs
by sotojuan 3887 days ago
Serious question: Why?

My school does not require any math for the CS program, aside from very basic discrete math (very very basic). While I wish we did more math, the people that graduate get jobs and seem to do just fine without the math background.

I mean, they're not working at Google, Facebook, or the NSA (though a lot go work for the CIA for some reason), but it doesn't seem like it sucks for them.

2 comments

Linear algebra is incredibly useful and, when you know how to spot its shape, is just about everywhere.

A (long) while ago, one of my coworkers spent months putting together an enormous framework for processing some data. It was really well done - simple API, good error messages, verification at various steps, and reliable results. It was a little slow though. It was pushing 1 hour to complete a cycle, which was bumping up against other processes. A senior guy had a look at it, noticed that we could encode the data as a vector and apply some linear transformations to it, then decode afterwards. Thanks to lucky cache hits and BLAS, it took about 25 seconds to run.

I see. I think you hit an interesting point with that story: You may not need math to write an application, but it helps a lot when making it efficient and knowing which abstractions to use.

Personally, I'm going to spend some time after graduation teaching myself math. I think it can be incredibly helpful, even if it's just to improve my thinking.

I can highly recommend Gilbert Strang's Linear Algebra course, available as video lecture series [1]

[1] http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-...

Same for my school, though our discrete might be a bit less basic. I talked to the department head about it, specifically about calculus, and his answer was that in 30+ years of industry experience, getting a CS PhD (from an engineering university), etc. he had never used calculus in programming except as a type of problem to solve. He suggested people looking to go into fields that might require it to do a math or physics minor, but he saw no need to have everyone do it to get the major.
I find calculus to be a very useful set of mental models for framing problems, even if I'm not doing actual calculations with it. Understanding things like continuity, convergence, boundary conditions, gradients, etc... Almost everything you learn in a calculus course is a general problem-solving technique. (I'll say the same thing about Topology.)