
Ask HN: What would be the ideal “Software Engineering” curriculum? - austenallred
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&#x2F;css a little JS), but want to become engineers more fully.<p>They&#x27;re kind of torn between the boot camps who preach &quot;CS doesn&#x27;t teach you applicable stuff, it&#x27;s all theory,&quot; and CS people who say, &quot;Well, yeah, it&#x27;s not great, but it&#x27;s a hell of a lot better than just learning to churn out code at a boot camp.<p>I think there&#x27;s likely some truth to both of those statements - CS may teach a lot of stuff that isn&#x27;t completely necessary (or perhaps a bit of a waste of time), yet bootcamps don&#x27;t go into near enough depth.<p>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
The 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.

