3 ms·
Ask HN: What would be the ideal “Software Engineering” curriculum?
I have several friends who are at the point in their life where they are trying to decide what to do. Most of them love computer and can build simple stuff (html/css a little JS), but want to become engineers more fully.
They're kind of torn between the boot camps who preach "CS doesn't teach you applicable stuff, it's all theory," and CS people who say, "Well, yeah, it's not great, but it's a hell of a lot better than just learning to churn out code at a boot camp.
I think there's likely some truth to both of those statements - CS may teach a lot of stuff that isn't completely necessary (or perhaps a bit of a waste of time), yet bootcamps don't go into near enough depth.
So my question, for those of you who have done one or both of those (I have done neither), is what do you think the ideal curriculum would look like?
- RNeff 11y agoThe ACM and IEEE assembled a joint recommendation on the CS curriculum in 2013. The long pdf: https://www.acm.org/education/CS2013-final-report.pdf https://www.acm.org/education/CS2013-final-report.pdf University Computer Science teaches a substantial background for a career of 30 plus years, not the fads of today. For example: volume one of Knuth's Art of Computer Programming first appeared in 1968 (first draft 1962) is still in print in the third edition and still recommended. The other volumes are also important. The programming languages of the day were: FORTRAN IV, COBOL, ALGOL-60 variations, PL/I, and APL. The operating systems were owned by IBM, Burroughs, CDC, and DEC. Everything was on punched cards, accurate key punching was a very important programmer skill. So theory of algorithms, compilers, operating systems, networks, distributed systems, AI, NLP, robotics, security, databases, software engineering will assist for a long career, but not every day. Implementations and fads will change, hopefully for the better.