Open ML University

Open Machine Learning University is a project to create an open education in Machine Learning for everyone. We are building 🔨 the curriculum in public, so it's still a work-in-progress 🔜

About OpenMLU

With the proliferation of ML in the past decade, there has been increasing influx of online courses, with thousands of resources on the internet teaching this subject. OpenML University aims to curate these resources similarly to what a university education might look like: starting with foundational knowledge and building up expertise through lectures, exercises and projects.
This curriculum is supposed to be a curated collection of resources rather than a compilation/dump of every single course online. As such, there are courses that will be missing, omissions either out of intention or lack of awareness. If you think we missed or misrepresented a course, feel free to submit an issue!
This is only the very first iteration of this curriculum, with hopefully many more revisions in the future.
For each topic, we try to present a diverse (but limited) set of available resources that could suit different backgrounds or needs.


This project has been inspired by FreeCodeCamp, Open Source Society University, The Odin Project, Depth First Learning, Metacademy and Full Stack Deep Learning.

Target Audience

Anyone who wants to learn Machine Learning or dive deeper into certain sub-topics of ML! We also hope this curriculum will be helpful for people who are trying to break into ML and want to become a ML engineer/founder/scientist.

Goals of this Project

  • Give an overview and a sense of direction within the ocean of resources.
  • Create a curriculum that could be indicative of what a "degree" in Machine Learning could look like in the future.

How to use OpenMLU

  • Use it any way you want. OpenMLU is not supposed to be prescriptive. The way the curriculum is currently designed is not the only one way you can use the resources presented here. You can follow the curriculum in order, pick and choose the topics you want to study or just bookmark resources to get some inspiration for what to study next, it's in your hands. For instance, to become a ML engineer, it is certainly not necessary to have finished all core courses. The reason we chose to structure the curriculum in such a comprehensive and broad way is to provide a self-studying roadmap that is close to what could be entailed in a university program.

Important things to note

  • All resources in this curriculum are free.
  • Contributions are always welcome.
  • Our newsletter sends out updates and highlights some of the best ML resources every now and then, so feel free to subscribe!
  • It's not enough to just watch lectures and read books. Put your newly acquired knowledge into practice: whether through coding exercises, quizzes or your own projects.
  • The proposed curriculum, modules and tracks are subjective suggestions. Feel free to stick to the curriculum or just pick and choose modules at your disposal. It is up to you what you make out of OpenMLU.
  • Coursera courses are free to audit. You never have to pay to watch their content. If you want to have access to assignments and quizzes, you can either i) apply for financial aid (which they are generally quite generous with) or ii) find previous assignments/quizzes on GitHub.
  • Even if you are using one primary course, take a look at the other courses in the lists as well. Often a topic that you might not fully grasp in one lecture, might be explained in a more approachable or simply different manner by another professor.


  • If you're looking for like-minded people in their journey to learning ML, stay tuned! We're thinking of starting a discord server if there's enough interest.

Things we want to improve in future iterations

  • Add specializations for more narrow topics such as self-supervised learning, meta learning, continual learning etc.
  • Make content available in more languages.
  • Create an account system to keep track of your progress and see a visual map of your learning path.
  • Create a system that outputs a personalized curriculum based on available time, background and goals.

How to contribute

  • Feel free to submit an issue if you want to add a resource or see any errors in our curriculum.


  • 🌐 = Blog Post or Website
  • 🤖 = Coding practice
  • 📚 = Books
  • 📕 = Exams
  • 🗋 = No additional resources
  • 🗒️ = Notes
  • 📄 = Paper
  • ✍️ = Written exercises
  • 🎥 = YouTube Channel
Last modified 2yr ago