The Future of Computer Science And Why Every Other Major Sucks
techtv.mit.edu
techtv.mit.edu
And the blog post (no transcript): http://scottaaronson.com/blog/?p=442
One can avoid running PowerPoint by viewing them through the Google Docs Viewer:
https://docs.google.com/gview?url=http%3A%2F%2Fwww.scottaaro...
But the audio quality is poor. It seems like when someone high profile (like MIT TechTV) goes to the effort of recording and posting video, they could spend a few more bucks and put a microphone on the speaker (or hook in to whatever audio system that handheld mic was hooked up to).
As a general rule, using the build in mic of a video camera at the back of a room will yield tolerable audio only in very rare conditions (a room that's "dead" acoustically, and a very quiet or nonexistent audience).
Of the ~50 or so coders I've hired over the years for my co, the best were always ones with domain knowledge from another field. They weren't the best coders from a technical point of view, but were the best at being able to deliver working software to clients faster. More often than not the ones without extra knowledge were unable to grasp the domain problems, and their solutions always needed rejigging.
Edit: By being unable to grasp, I mean that the distance from their solution to the optimal solution was always quite large. More often than not their design, while designed for extensibility was flexible in a dimension that didn't move towards the optimal solution. So the extra engineering time was wasted.
I don't know that I would hire a pure CS grad again, and all the interns I have now I strongly recommend they concurrently study other fields. Computers are a means to an end. I suggest studying both the means and the end.
Of course, YMMV. These were core product developers - the folks who did well in customer facing roles did have more varied backgrounds.
Seems like recently theres been a lot of news on why its not relevant or unnecessary - which isn't optimistic news for me since thats what I'm going to be studying at University later this year!
Domain knowledge! Get some!
Why CS is different is due to less of a need of verification of skill. Many don't mind giving an informally taught programmer a job because his/her work can be verified by reading or executing code. That isn't possible in civil engineering, for example.
I think at the undergraduate level a lot of what they teach won't get you hired if you know it but will get you fired if it turns out you don't.
Programming is easier to commoditize than painting. Painting ceased being a professional skill in relatively high demand upon the advent of the camera. The individuality of the painter became even more important during impressionism.
I'd love to believe that someone could do this, but I haven't seen it happen. Most of the course-like learning I've been able to do "online" has been because some professor was nice enough to put a pdf of their textbook on their university page.
That said, I've created a subreddit specifically for people who want to read long articles that teach them something important. http://www.reddit.com/r/learnit/
The math and physics articles are generally pretty good, include derivations, background on the subject, and you can then click to learn about the personalities who discovered the idea. There are no problem sets, however.
This is one problem, the other problem is that there isn't a good way to sort the articles by prerequisites. There's also no easy way find out what you don't know you don't know about a subject.
http://www.slideshare.net/mobile/llimllib/the-future-of-comp...