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:
TL;DR - I would love your feedback on how I can improve the series. Get in touch - firstname.lastname@example.org, or leave a comment on Reddit.
Sign up for my mailing list and I'll send you a FREE sample from my course - Web Development with Go. The sample includes 19 screencasts and the first few chapters from the book.
You will also receive emails from me about Go coding techniques, upcoming courses (including FREE ones), and course discounts.
Jon Calhoun is a full stack web developer who teaches about Go, web development, algorithms, and anything programming. If you haven't already, you should totally check out his Go courses.
Previously, Jon worked at several statups including co-founding EasyPost, a shipping API used by several fortune 500 companies. Prior to that Jon worked at Google, competed at world finals in programming competitions, and has been programming since he was a child.
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?
See something that is wrong, think this article could be improved, or just want to say thanks? I'd love to hear what you have to say!
You can reach me via email or via twitter.
©2018 Jonathan Calhoun. All rights reserved.