Join the discussion on Reddit
I started the Let's Learn Algorithms series originally by writing tutorials that would:
(2) and (3) are in my opinion incredibly important pieces to the puzzle that are often missing in many other courses, so I really try to give them just as much focus as the initial lesson that just teaches how the algorithm works. Let’s face it - if you can’t recognize when to use an algorithm, knowing it doesn’t serve you much purpose.
The entire series is based on feedback on reddit and my personal experience at college learning with fellow classmates on the programming team (we did things like Topcoder, ACM ICPC, Google Code Jam, etc). I tried to replicate what worked well for me and a few friends who all learned a ton of algorithms in a relatively short timeframe.
Up until recently I would always start each lesson by writing a text-based version of everything and then I would try to make time later to come back and record videos/screencasts to go along with the tutorials. So far that format has worked well for readers (I think?), but unfortunately it is incredibly time consuming on my end. It is also starting to feel like a bad way to move forward because it feels way less natural and inline with how I learned algorithms.
Algorithms are tricky to write about because they entail a lot of minor details that are easy to miss or gloss over. Writing about all of those details is very hard hard because you can’t be writing a 20 page book for each article. It just simply takes too much time. I think this is why so many people find themselves struggling with algorithms at times - there are just so many small pieces that can be skimmed over and the end result is a lost reader.
Moving forward I am looking to try out a new approach. Rather than writing first, I am instead going to focus exclusively on videos (screencasts to be precise). I’ll try to also provide transcribed text, but that will be auto-generated so I can’t promise it is 100% accurate.
I am opting to go with this format because:
Because this is a new process, I would like to get your feedback on it. If you happened to read one of my past articles, you can start by checking out the new format with my Graph Theory series. The videos in that series that I have published so far are:
If you haven’t read any of my past articles you can easily jump into the graph theory series and any feedback is welcome, but if you get a chance I’d also love to know how you think it compares to one of my older format lessons, like the one on bubble sort:
Sign up for my mailing list and I'll send you a FREE sample from my course - Web Development with Go. The sample includes the first few chapters from the book, and over 2.5 hours of screencasts.
You will also receive emails from me about upcoming courses (including FREE ones), new blog posts, and course discounts.
Jon Calhoun is a full stack web developer who also teaches about Go, web development, algorithms, and anything programming related. He also consults for other companies who have development needs. (If you need some development work done, get in touch!)
Jon is a co-founder of EasyPost, a shipping API that many fortune 500 companies use to power their shipping infrastructure, and prior to founding EasyPost he worked at google as a software engineer.
Jon's latest progress update: Writing Course Notes
Spread the word
Did you find this page helpful? Let others know about it!
Sharing helps me continue to create both free and premium Go resources.
Want to discuss the article?
©2018 Jonathan Calhoun. All rights reserved.