I'm happy to announce that I've started working on standalone paid courses, so you could support my work and get cheap educational material. These courses will be of completely different quality, with more theoretical depth and niche focus, and will feature challenging projects, quizzes, exercises, video lectures and supplementary stuff. Publishing dates are uncertain, so stay tuned! — 25.03.2025

☝️ FYI

This course was revised in March 2025. However, there are still a considerable amount of gaps and bland narration. I'm still working hard to make this course engaging, so please be patient.

Here you can find tutorials on machine learning, data science and several other fields organized as a sequential, in-depth theoretical course presented in modules. I've created it single-handedly by studying and summarizing a huge amount of material, and launched together with this blog as open source.

I also have plans to make video tutorials based on Research posts for my YouTube channel @avheuristics in the future.

So far, the course is completely theoretical and covers a wide range of advanced topics taken from different online lectures, textbooks, articles and my university classes, including sophisticated concepts of AI algorithms, data analysis and statistics. This is a fully-fledged textbook designed to help students, but it doesn't feature homework or quizzes.

Fundamental concepts are covered superficially. For better understanding, it's recommended to first familiarize yourself with the basics of linear algebra, calculus, statistics and programming, even though it's not necessary.

I decided to integrate the course into this personal website to achieve better popularization, but it will probably be moved to a separate one in the future.

The course content is largely compiled from texts of the Research, or simply pulled as posts automatically, however, the contents may reference any sources.



📋 CONTENTS

  1. Where the course began: an introduction about AI and research

Programming

Basic ML theory & techniques

Mathematical optimization

Regression

Classification basics & ensembling

Clustering basics

Data visualization

Data analytics

Doing better experiments

Probabilistic models & Bayesian methods

Fundamental NN architectures

Generative models

Natural language processing

LLM engineering

Audio analysis

Specialized & advanced architectures

Time series & applications

Graph theory in ML

Other ML problems & advanced methods

AI engineering

Reinforcement learning

Scaling & distributed learning

AI web agents


🌱 UPDATES & CONTRIBUTION

The course keeps expanding while outdated information gets revised. Writing new chapters is a fairly time-consuming process, so if you'd like to see this educational project evolve, you're welcome to contribute. There are plenty of ways:

  • Report bugs, typos, grammar, syntax errors (LaTeX, Markdown, code blocks), semantic and logical inaccuracies, narrative mistakes, etc.
  • Suggest improvements or ideas (code optimization, readability, UX, content to include, etc.)
  • Modify the source code by opening a pull request (expand topics, add details, fix something, etc.)
  • Create new pages, sub-chapters, practical exercises, code notebooks, homework, quizzes, etc.

Please use GitHub Issues for reports and suggestions. You can open a new PR here and check accepted changes here. For more information, see the repository's README.md.

Your contributions are important in building accessible education in AI (and beyond). GitHub profiles of people who contribute significantly will be listed on this page (and, probably, in the Hall of fame).

Questions? Text me!


Adding new pages

If you're going to add a new article (lesson), you may link to a third-party resource. The content of the article doesn't have to be a part of Research, but it must comply with copyright and coherence in the context of the entire course.

Research posts are written in .mdx format and located here, while images (banners and post content) are stored here. Gatsby's frontmatter must include indexCourse, titleCourse and courseCategoryName to properly display your page in the table of contents.


Licensing

TL;DR: you're free to use, distribute and modify [only] the course-related content of this website, as long as you attribute.


The course material is distributed under a separate CC BY-SA 4.0 license, which is a special sublicense extending the permissions of the main website's content protection CC BY-NC-ND 4.0 license. This sublicense allows you to copy and redistribute the course material in any medium or format for any purpose (even commercially) and adapt it (remix, transform and build upon the material for any purpose, even commercially) with attribution under the same license (CC BY-SA 4.0).

The course material covers all the internal pages referenced in the table of contents above (i.e., .mdx files of the referenced posts located in the website's GitHub repository, including all the /research category posts covered in the course), as well as the current page (/course). The sublicense applies to the text of the mentioned pages and to the media files on these pages (except for those already copyrighted by someone else).

To summarize, you are not permitted to distribute the content of this website's posts either commercially or in a modified form, but this rule does not apply to course-related content (as long as you credit, of course).

Please note that the source code of the website (i.e. basically all the content of the website's GitHub repository excluding .mdx files and the /course page) is distributed under a separate (software) license. For more information, refer to the repository's README.md.


Plans & to-do

  • Finalize unfinished tutorials (with yellow notices)
  • Add quizzes (as Quiz component)
  • Add homework/practice sections to each tutorial
  • Add Jupyter notebooks to each chapter (or most chapters)
  • Integrate executable code blocks
  • Add more chapters related to AI theory, information theory, statistics, big data processing, geometry estimation, knowledge representation, semi-supervised learning, and beyond!

❤️ SUPPORT

The course is free forever. I've put a huge amount of my free time into this work, wished to make something enormous and helpful for people, and never sought to profit from this endeavor, as I believe that educational materials should be open to everyone. I also believe that earning the people's love is the only right way to earn coins from such projects, so if you found it useful — please consider support beyond contributing.

The easiest way to thank me and speed up development of the course is to donate right here.


🙏 ACKNOWLEDGMENTS

Many nights — in the light of a dim lamp — I've explored a completely new discipline, which at first seemed unfeasible to me. I must, therefore, express my gratitude to those who guided me through this arduous journey of learning:

  • Andrew Ng — for the greatest classic ML course, excellent deep learning Coursera specialization and online lectures at Stanford
  • Peter Norvig and Stuart Russell — for my favorite & one of the greatest textbooks on AI
  • Victor Kantor, Evgeniy Riabenko, Evgeniy Sokolov, Emeli Dral — my first lecturers who got me into data science
  • Josh Starmer — for being the best statistics teacher ever
  • Radoslav Neychev and Vladislav Goncharenko — for excellent and clear lectures and practices at MIPT
  • Ian Goodfellow, Yoshua Bengio and Aaron Courville — for their clear deep learning textbook
  • Marc Deisenroth, Aldo Faisal and Cheng Soon Ong — for their clear textbook on mathematics for ML
  • Konstantin Vorontsov — for in-depth knowledge in machine learning
  • Sergey Balakirev — for clearest CS/ML tutorials I've ever seen
  • Alexander Dyakonov — for courses and his captivating easy-to-read data science blog
  • Yury Kashnitsky — for his ML course platform with its inspiring community
  • Alexandr Boyko & Daniel Bourke — for making awesome DS/ML roadmaps I've been using
  • Wiki of ITMO students' notes, Department of Computer Science — for in-depth knowledge in various ML-related topics
  • machinelearning.ru — for plenty of good classic ML and data mining literature
  • and a lot of other teachers at MIT, MIPT and Harvard — for giving free online lectures

Thanks for educating, inspiring, or both.

UPDATED ON FEB 7, 2025