ArsDigita University offered the equivalent of a whole undergraduate computer science education in 10 months. Is there a modern equivalent? If not, what do you think is the next best alternative for someone who wants to learn CS in a structured program?
I'm not sure how you could squeeze the education I got into 10 months, but I think, properly motivated and with good books, you could self-study an equivalent to a solid BS in 18-24 months.<p>Topics that come to mind (that my CS bachelors had):<p>Boolean algebra and gate level stuff (one semester)<p>Calculus and Linear Algebra (this totaled 4 semesters)<p>Discrete Math (had one semester on this)<p>Fairly deep knowledge of at least one traditional language and at least one functional language (as part of other classes)<p>Basic computing theory (DFA/NFA/Regex/Push-down Automata/Grammars/Turing Machines)<p>Data structures (the more the merrier)<p>Algorithms and algorithm analysis (had three semesters on this)<p>AI (lots of interesting stuff is happening here, and AI is totally not what you think it is)<p>Architecture and Assembly (had two semesters in this area)<p>Operating Systems and Assembly (two semesters)<p>Compilers and other practice at large engineering tasks with programming languages<p>If you search over at searchyc.com, you'll find the topic of good CS books has come up here over and over. You'll find lots of good reads in those threads.
There's pace and then there's content covered. Let me tell you, MIT's EECS undergraduate curriculum is fast paced and <i>hard</i>, and I assume they cover more ground than the ArsDigita University did (even subtracting the general requirements that don't overlap with an EECS degree).<p>I think 10 months is just too little time to absorb enough (and some "downtime" in e.g. a humanities course per term can be a blessing). MIT very strongly believes they need more than 4 years and established a 5 year MEng program that many if not most graduates take advantage of.<p>Perhaps a more narrow goal? (And I'll note that MIT is teaching everyone in the department some EE with the CS (and visa versa); less so with the new curriculum, although today the vast majority of EECS undergraduates go for the combined EECS major instead of the ones that focus on EE or CS.)