Learn new skills
Great learning materials are rare. This is a collection of gems I’ve encountered over the years, presented as a 90’s style web link list, intended for anyone who wants to learn new skills.
Machine Learning Coursera Course by Andrew Ng
Skill: Machine Learning — learn how to apply existing machine learning techniques, understand why they work, and how to troubleshoot issues.
Type of material: Videos and coding exercises
Why is it good: Great interplay between lectures and exercises. Clarity of explanations. Introductory scope. Enough math to understand why these methods work, but not too much.
Competitive Programmer’s Handbook by Antti Laaksonen
Skill: Exact algorithms — learn how to invent algorithms for ”code competition” -type problems (problems where exactly-correct answer is required and the main challenge is time or memory complexity).
Type of material: Book
Why is it good: Simplified explanations of many algorithmic techniques and algorithmic problem solving approaches. Unlike most algorithm books, this one is focused on ideas and code, not on the underlying math. This is the ”bible” of Finnish competitive programmers.
Essentials of Metaheuristics by Sean Luke
Skill: Optimization algorithms — learn techniques to find ”good enough” solutions for problems where an exactly-correct solution is not required. Typically used when an exact algorithm would be computationally infeasible and machine learning methods can not be applied. For example, route optimization often falls into this category.
Type of material: Book
Why is it good: A practical approach. Scope. Clarity of explanations. I recommend you to read this book while implementing and testing selected approaches on a real problem as you go along.
Introduction to Cryptography by Christof Paar
Skill: Cryptography
Type of material: Videos
Why is it good: Clarity of explanations and visual illustrations. Entertaining presentation style.
Become a Data Scientist by DataCamp
Skill: Data Science
Type of material: Infographic
Why is it good: The entire field, from all angles, in one beautiful illustration.
The Modern JavaScript Tutorial by Ilya Kantor et al.
Skill: JavaScript language and browser APIs
Type of material: Website (alternatively available as a book)
Why is it good: Comprehensive, neatly organized & well written. Great explanations with illustrative examples. Goes wide and deep into the subject matter. Suitable both as a top-down read and as a place to look up specific topics.
Scrimba React course by Bob Ziroll
Skill: ReactJS — learn React fundamentals and practical coding skills
Type of material: Interactive screencasts
Why is it good: A modern way of combining lecture/presentation -elements and a development environment where you can practice on code exercises. Runs in your browser.
Money Stuff by Matt Levine
Skill: Finance — learn that everything is securities fraud.
Type of material: Email newsletter
Why is it good: Marvelous writing style. Unpacks recent events in finance with simplicity and wit, often connecting them to larger themes that run through the newsletter over time. Hugely entertaining and educational. Also released as web articles if you don’t want to give out your email.
Learning Music by Ableton
Skill: Composing music
Type of material: Interactive website
Why is it good: Experiment with composing music directly in your browser. No previous experience required. The tutorial begins with simple composing examples and tasks along with teaching basic fundamentals of music.