Hacker News new | past | comments | ask | show | jobs | submit login

I once heard someone opine that computer science education plays a cruel joke on its students, and this blog post is perpetuating that joke. Computer science is often treated as an offshoot of mathematics when, in reality, you need to do far, far more writing than advanced math. Most students are going to be leaving school and working on professional programming, where they'll largely work with a group of people jointly maintaining systems. And these systems require good writing skills to effectively write documentation for the code, as well as writing the design documentation.

In contrast, you'll rarely need more than algebra, basic statistics, and maybe graph theory most of the time. All the advanced math stuff, such as SVM or Taylor expansions, are generally going to be found in the libraries that you'll use rather than code you'll write yourself. You may need math to understand what they're doing in detail, but with better writers on the documentation, you wouldn't need the advanced math to understand how to use them properly.




When I was in college, I was once not allowed to join a Complex Analysis course because there were 15 students in the class. College guidelines advise against more than 12 students in a writing-intensive course, and because this was an upper-level Mathematics course, the professor took that to heart (he thought 15 was too much, but some needed the course to graduate).

This is to say that proper abstract Mathematics courses should require the students to write many proofs. I'm sure that students in the aforementioned Complex Analysis course were writing 4 - 7 pages of mathematical prose for their weekly problem sets. This is a non-trivial amount of writing practice which is especially tuned toward accurately expressing the interplay of precisely-defined abstractions (which all documentation should strive for).

Even discrete mathematics courses (Combinatorics, Graph Theory) should eschew simple calculations of permutations/combinations and graph traversal algorithm steps in favor of writing proofs of more of the abstract concepts. In this way, students will be trained to write effectively about abstract concepts, which will prepare them for a career in programming as well.


I'm not sure that type of writing is anywhere near what you need to do in common programming jobs. As you wrote, it was "4 - 7 pages of mathematical prose...". I interpreted writing as writing text to others, including non-programmers.


>Computer science is often treated as an offshoot of mathematics when, in reality, you need to do far, far more writing than advanced math. Most students are going to be leaving school and working on professional programming, where they'll largely work with a group of people jointly maintaining systems. And these systems require good writing skills to effectively write documentation for the code, as well as writing the design documentation.

Computer science is an offshoot of mathematics— or it was until everyone decided that "computer science" meant "software engineering."


It seems like you didn't catch the point of the article, which is not that the math is useful in and of itself, but rather useful in training one to juggle abstractions.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: