Hacker News new | ask | show | jobs
by kabdib 5407 days ago
Disagree on "tough math". Strongly disagree.

Be analytical, practical and tenacious. Know how to abstract, design, program. Know tools, know platforms. Know how to triage and actually ship stuff. Be good to work with. Keep learning, constantly. Read tons of code.

But "tough math"? Honestly, haven't needed anything more than simple statistics for most problems.

"Tough math" seems more like an ego thing. I'd watch out for that.

2 comments

You're correct for general problem solving in computer science. However, in order to get a degree from most universities you have to have taken 3 courses in calculus, a course in linear algebra and a course in differential equations. To most people those courses are "tough math".
If you are seeking a masters in CS most universities are only looking for programming languages, computer architecture, data structures and one algorithms course. These are the prerequisites for most courses.
That's true I'm just speaking from experience of looking at many undergraduate computer science programs in the United States. They all generally require some "tough math", and I think they should because that sort of analytic thinking in solving complex mathematical problems applies directly to computer science.
An ABET accredited CS major requires learning the calculus and probably somewhat beyond the AP BC level plus a course in discrete math. And maybe a bit more, you can check out their web site at http://www.abet.org/
I agree. Even as a math major myself, I have only needed formal math when math was part of the domain knowledge. Math is a great major, but I think you can be an absolutely top programmer with a degree in a different subject or no degree at all.

I mentioned this because if you want to be the kind of programmer with a CS or related degree, you'll need to be very good at math.

You do not need to be very good at math to get a CS degree. The last role I had was in a company heavily loaded up with UMich CS grad students, none of whom could (for instance) deploy a discrete cosine transform.

There's a level of "street math" that good programmers tend to have (statistics, maybe some trig, maybe basic matrix arithmetic), but you'd be surprised how many excellent programmers don't even use algebra. A friend of mine interviewed at a very famous quant hedge fund (a decade or so ago) and shocked his interviewer by answering one of the questions with a system of equations in two variables.

I'd expect UMich CS to be very strong. I haven't looked at the undergrad curriculum, but I'd be surprised if it doesn't require calculus through differential equations, along with some more advanced electives.

I should have defined "tough math," because a lot of people on HN have gone far enough with math that what I described above wouldn't be considered "tough". But it actually does serve as a gatekeeper for most engineering and hard science curricula, including CS.

One can get through the required classes without being any good at them. Wannabe doctors take 2 years of chemistry as premeds and promptly forget it all when finals are over.

That said, I've never seen a CS degree that required any more math than a year of calc and maybe a semester of linear algebra. That doesn't seem so hard, one just has to keep up with the homework. Maybe you are thinking of computer engineering?

Semester of statistics required for mine.

Of course they have since dropped the stats requirement. And the calc 2 requirement. So now it's a semester of calculus and a semester of linear algebra. I guess too many people failed calculus 2 and stats.

People fail stat and pass linear algebra?!