Learn ML / Stage 2
2 · Programming
Programming languages and tools, algorithms and data structures, and preparing for coding interviews. Builds on stage 1.
By the end of this stage, you can…write a Python script that loads a dataset with NumPy or pandas, fits a simple model, plots the result, and keep your code under version control with git.
What you will learn
- Python and tools Essential
- Algorithms and data structures Essential
- Coding interviews Essential
- R If you need it
- Julia If you need it
- MATLAB If you need it
Resources per subject
proof-based you learn by proving results · practical you learn by computing and applying
Python and tools Essential
- Scientific Python LecturesThe scientific toolkit after the basics: NumPy, SciPy and Matplotlib, with examples.★ recommended · free book · NumPy, SciPy, Matplotlib
- The Python Tutorial (official)docs
- NumPy: learndocs · tutorials
2 more options
- The Missing Semester of Your CS Education, MITcommand line · git · tooling
- Python for Everybody (Severance)course · free book
Algorithms and data structures Essential
- Erik Demaine & Srini Devadas, MIT 6.006: Introduction to AlgorithmsThe classic introduction, taught in Python. Continue with Leiserson & Demaine's 6.046J (the CLRS course) for design and analysis.★ recommended · videos · notes · exercises
- Charles Leiserson & Erik Demaine, MIT 6.046J: Introduction to Algorithms (based on the CLRS book)proof-basedvideos · notes · exercises
- Kevin Wayne & Robert Sedgewick, Algorithms I, Princeton University (Coursera)practicalvideos · exercises · free to audit
2 more options
- Kevin Wayne & Robert Sedgewick, Algorithms II, Princeton University (Coursera)practicalvideos · exercises · free to audit
- Robert Sedgewick, Analysis of Algorithms, Princeton University (Coursera)practicalvideos · exercises · free to audit
Coding interviews Essential
Covers: arrays and strings, linked lists, stacks and queues, hash tables, trees and graphs, sorting and searching, recursion and dynamic programming, bit manipulation, object-oriented design, system design, SQL, behavioural questions, and ML theory and ML system design
- Tech Interview HandbookFree and complete: what to study, a problem list by topic, and how to handle behavioural questions.★ recommended · guide · problem list
- NeetCode roadmapvideos · problems by topic
- Chip Huyen, Machine Learning Interviews Bookfree book · ML theory and ML system design
3 more options
- AI/ML Interviews (Dir)guide · ML system design
- System Design Primerguide · system design
- SQLBoltinteractive SQL lessons
R If you need it
- R for Data Science (Wickham, Çetinkaya-Rundel & Grolemund)The standard free introduction to R.★ recommended · free book
Julia If you need it
- MIT 18.S191: Computational Thinking with JuliaA full MIT course taught in Julia, with interactive notebooks.★ recommended · videos · notebooks
- Learning Julia (official)tutorials · books
MATLAB If you need it
- MATLAB Onramp, MathWorksA free two-hour interactive start. Continue with MIT 6.057.★ recommended · interactive course
- MIT 6.057: Introduction to MATLABnotes · exercises