Hacker News new | ask | show | jobs
by ajijwww 1595 days ago
This is the greatest folly of people getting into programming. When I was in school for CS the dropout rate was precipitous basically until your junior year. This is a good thing in my opinion.

The truth is computer science is the science of computation not how to perform specific computation. General CS education follows the line of most STEM degrees, minus the degree for more advanced math like PDEs except when you're in a specialized scientific computing sub-degree. We all had to take 3 semesters of calculus, 2 semester of discrete math, and one semester of probability. ALL of these are important to various fields of CS.

Programming is rarely discussed. Most ABET programs give you one to two semesters warm up and that's the last time you see programming except for a few elective courses. Programming is a means to an end for a CS major. Once your algorithm is verified mathematically on paper you head over to the terminal to implement it and play around. Programming first then designing is like a mechanical engineer building a car and then drawing the blueprints.

The vast, vast majority of computer science even today can be done on paper (with enough paper, of course). programming is a means to an end. If you want to be a programmer get a job out of high school because it takes virtually nothing except drive to succeed. Getting a CS degree for the purpose of being a programmer is like getting a mechanical engineering degree to be a machinist. Sure, you can do machining. Just like you can do programming as a CS major. But the CS degree is so, so, so much more than programming.

Everything your daughter is learning w.r.t. math, logic, proofing, etc is CRITICAL to the generalization of ideas into algorithms that are language and implementation dependent. A mathematically verified pure algorithm can be implemented anywhere, by anyone, at any time not unlike a complicated math formula. This is why the weed out is a good thing. People who just want to be programmers leave the program and become programmers. No sense in wasting time in a CS degree if your aspirations are to become <language> expert.