Stroustrup on What's Wrong With CS Programshttp://blogs.msdn.com/b/steverowe/archive/2008/12/23/stroustrup-on-what-s-wrong-with-cs-degrees.aspxSimilar to thinking of Joel Spolsky (and me ), Bjarne Stroustrup (the inventor of C++) says the way we teach CS today is broken . That is, it is at odds with the needs of the industry. Having just completed a Masters in CS I can say first hand that thisen-USTelligent Evolution Platform Developer Build (Build: 5.6.50428.7875)re: Stroustrup on What's Wrong With CS Programshttp://blogs.msdn.com/b/steverowe/archive/2008/12/23/stroustrup-on-what-s-wrong-with-cs-degrees.aspx#9259890Thu, 01 Jan 2009 14:58:34 GMT91d46819-8472-40ad-a661-2c78acb4018c:9259890Shane MacLaughlin<p>I've had a similar argument with a CS lecturer in the past, when after interviewing a few honours CS graduates, found out they couldn't program and knew precious little about current computer technology and techniques. &nbsp;The response I got was that CS wasn't about teaching programming, and I'd be better off with Computer applications grads. &nbsp;As it happens, I ended up hiring engineering grads with domain knowledge who had an interest in programming. &nbsp;So it goes.</p>
<p>I agree that learning low level langauges is hugely important, as it forces you to learn how to abstract for yourself, rather than rely on another persons abstractions. &nbsp;IMHO, if you can't abstract you can't really program. &nbsp;If you start by teaching languages with very rich libraries, you lend the false impression that all the hard work has already been done. &nbsp;I think we see the effect of this in so many modern slow and bloated applications. &nbsp;Programmers don't want to be responsible for performance, UI or a host of other items; they expect the libraries and hardware to take up the slack.</p>
<p>I wonder how many of todays CS grads could write a game like DOOM on a 8mhz VGA DOS box.</p>
<div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9259890" width="1" height="1">re: Stroustrup on What's Wrong With CS Programshttp://blogs.msdn.com/b/steverowe/archive/2008/12/23/stroustrup-on-what-s-wrong-with-cs-degrees.aspx#9250470Tue, 23 Dec 2008 20:29:44 GMT91d46819-8472-40ad-a661-2c78acb4018c:9250470Krishna<p>&quot;Everyone should learn C&quot; - I strongly believe in this but not as a first language. I think Scheme should be taught as a first language to translate some of the fundamemtal mathematical concepts into Computing and let the student get an idea for computing from a purely mathematical perspective. Then follow it up with C. One should also taste C++. &nbsp;And then to Java/C#. And finally to the dynamic language paradigm - Ruby, Python. Somewhere in between one should dabble with functional programming - Haskell, F#, Scala, Erlang to name a few. Taking a microcontroller course has helped me see many things that were just black boxes to me, so if one is up to it add it to the list. That should be a solid platter.</p>
<div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9250470" width="1" height="1">