University courses.
Ideas that connect.
Discover courses by subject, meet their instructors and understand the prerequisites. Follow a considered route from first principles to deeper understanding.
A place to begin
Introduction to Computer Science
David J. Malan
Explore a field of study
Artificial intelligence
6 courses · From machine learning foundations to vision, language and decision systems.Computer science
4 courses · Build programming fluency and the ability to think in abstractions.Mathematics & statistics
5 courses · Explore the shared language of vectors, change, probability and optimization.Humanities & society
3 courses · Examine how people, ideas and economic systems interact.Design & interaction
2 courses · Turn an understanding of people into useful digital experiences.Algorithms & systems
2 courses · Understand how programs work and how to solve problems efficiently.A course is a starting point
Connect courses through their prerequisites and build an adaptable sequence for independent study.
Foundations of machine learning
This route is for learners who want to understand machine learning systematically. Begin with small programming tasks, then develop the matrix and statistical foundations.
Explore the pathIntroduction to Computer Science and Programming in Python
MIT · 6.0001Linear Algebra
MIT · 18.06Statistics for Applications
MIT · 18.650Machine Learning
Stanford · CS229Meet the people behind the courses
Notes for independent study
Read the syllabus before you begin
A syllabus is a map of the course. Establish the goals, prerequisites and organization of materials before playing the first lecture.
5 min readWhat mathematics comes before machine learning?
Instead of extending preparation indefinitely, build a short mathematics checklist around concrete problems.
6 min readMake room for a course in your week
A sustainable schedule needs specific tasks and room for adjustment. Start with a weekly plan you can keep.
4 min readChoose the question. Find the course.
Search by subject, level or instructor to find a useful next step.