It may not be completely over just yet, but I’ve gone as far as I can in Algorithms, Part I from Princeton on Coursera. It was an interesting course that ultimately defeated me in some areas, but taught me quite a lot along the way. I’ve given up on the very last part though since the difficulty has ramped up above what I want to burn my free time on and I have quite a few open-source-ish things I’d much rather be pursuing. I’d highly recommend it if you have some of these qualities:

  • Already have an understanding of compsci or complexity. Possibly already finished a prior course.

  • A good understanding of mathematics and algebra, at least at A-Level or beyond. (I really struggled on that front since I only studied math at GCSE)

  • A little bit of Java experience may help, but you can get along just fine, the language isn’t the focus.

  • Quite a lot of free time that you’re willing to burn on extra work every week. I found it to be upwards of 10 hours which destroyed my evenings and weekend.

  • You don’t mind structured and relentless education for ~6 weeks.

On the last point, I do mind it. A lot. Hence why I’m excited about being able to clean up my Linux install, swap to Emacs and work my way through the two “7 languages in 7 weeks” books at my own pace with no deadlines. Which means I can intermingle all that work with some Red Orchestra 2, EVE or Homeworld without being consumed from within with guilt.

On the whole it was very interesting. I’ve published my (incomplete) work on GitHub if you’re interested but I implore you not to copy it. It will probably hinder your grade rather than improve it. Now I get to play with text editors and languages again!