It may not be completely over just yet, but I’ve gone as far as I can in [Algorithms, Part I](https://www.coursera.org/course/algs4partI) 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](https://github.com/Wolfy87/algos) 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!