Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

Sponsored Links

Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs

$200K for a computer science degree? Or these free online classes?

Online curriculum for self-taught developers

  • Print
  • Feedback

I've been taking free business courses online at Coursera, despite some annoying limitations. I love it, especially since I don't have a few years and a few hundred thousand bucks to blow attending our local business school -- which I'm sure is very good, but hey, I have a business to run.

But there's more to Coursera. I was recently interviewed by a reporter from the BBC aboutmy post questioning the value of the modern computer science degree. At the time, Coursera didn't have a great background in theory. This has now changed.

Coursera offers what could be considered a basic grounding in computer science theory from some of the most prestigious universities. Here's what I'd want a prospective employee to sign up for:

That said, I don't think any of this gives you the help you may need to learn enough Java/C++/whatever to understand the materials. For this you may want to head over to Udemy, which has a lot more basic language instruction.

Skipping the theory and learning the language will never allow you to be great, nor will a bunch of theoretical knowledge be any replacement for -- drumroll, please -- knowing a programming language. Also, you'll notice that since there is no operating system course, I included a course from MIT instead. I couldn't find anything on the subject from Coursera.

MIT has more or less the whole shebang online, although the quality of the offerings is hit and miss. I'm a bit disappointed because I'm not a big fan of the West Coast slant.

My syllabus isn't by any means perfect, but if you did the appropriate exercises and reading (not just watched the videos), you'd get a good amount of knowledge on the basic theory -- the kind of background common among great software developers. There are a few selections like "Pattern Oriented Software Architectures" that you might not need in its entirety. However, I found a good general run of design patterns, and there isn't a lot of depth on another favorite topic of mine: concurrency. If you drank from the water fountain, you'd probably get some of both.

Also please note that I haven't taken all of these courses. I merely went around looking for the basic outline of the important nonfluff stuff that makes up a computer science background, then did a cursory review of the materials. I'd love to hear from a guinea pig if anyone is interested. Assuming adequate communication skills and such, I'd of course hire you upon successful completion.


  • Print
  • Feedback