MIT - Introduction to Algorithms
MIT have a vast array of free education resources available, allowing you to sit in on excellent university lectures whenever you’ve got time.
Three years ago now, one of my most enjoyable MSc modules covered some basic data structures and algorithms in Python. However, spending so much time shunting data around in languages like SQL and SAS, removes the need for nitty gritty implementing of sorts and trees.
Given that I enjoyed this knowledge last time and had become more than a little rusty in the area, I did the standard trick of most people in tech… fired up Google and typed what I wanted followed by those three magic letters; P, D and F. Several things popped up, but after reading for a while I thought, “I wish I could have my Python lectures again”. Quickly followed by, “they were really interesting, but what if I could do a whole module on algorithms (the interesting bit), rather than sitting through the basics on lists, loops etc.”.
On the second page of Google, I came across some lecture notes for Introduction to Algorithms at MIT. Searching for the course (class) title led me straight to their OpenCourseWare page. From here you can watch lectures and workshops from an actual course at MIT, for free. It was just what I was searching for, wasting no time on “this is a loop” and diving straight in to explaining and analysing algorithms using asymptotic complexity.
Obviously, I won’t be taking an exam at the end of this module, but I did want some of the knowledge to stick; so I’ve decided to dive into some code on useful or interesting topics from the course. Some of it I knew before, some if it was completely new but it has all (so far) been very interesting. I’ll see how far I get through the videos, and I would encourage you to take a look at their course finder to see what things you could geek out on!