What every computer science major should know (2011)
These kind of lists are always hilariously overstuffed, like a big comfortable rhetorical couch.<p>It&#x27;s not all that hard to make up a giant list of 8-10 years worth of material, which if anyone took seriously would also lead to a monoculture i.e. we didn&#x27;t have any time to do anything aside from computer science and this giant-ass list of requirements like &quot;physics up to electromagnetism&quot;.<p>I&#x27;d say I was close to hitting, for about the year 1997 or so, these requirements or their equivalents as they existed then, after (a) a pretty decent prep at high school level (Australian high schools allowed a heavy math&#x2F;science concentration), (b) 4 years of undergrad with - nominally CS as 1 subject in 4 in first year, 1 in 3 in second year, 1 in 2 in third year and full-time in honours (but actually way more focus on CS vs other subjects), and (c) completing the 8 graduate courses required to move on to the rest of the PhD at CMU.<p>Even then I&#x27;d have a long list of gaps in his definition. And that&#x27;s off 7-8 years of prep, not 4, and an Australian honours CS degree allowed a lot more specialization than a lot of 4-year degrees in the US at the time.<p>It would be a more interesting approach to try to define a minimal set. Anyone can spam out 8-10 years of study and everyone will agree that, sure, someone who knew all that would be Pretty Good (better have 11 programming languages under your belt, hey). But a far more interesting task is - what do you <i>need</i>?<p>And, perhaps, in a class of 100 people, why should everyone come out with the same laundry list? Maybe it&#x27;s good to have 20 really good statisticians there, as well as 20 people who could design the processor they are programming on, etc etc (obviously an overlapping set).