Courses
Mathematics
Linear Algebra
Topics include Vector spaces, Matrix vector operations, Rank of a matrix, Norms, Eigenvectors and values and a bit of Matrix calculus too.
- Linear algebra explained in four pages (PDF) (opens in a new tab): The fundamental ideas of linear algebra
- Linear Algebra Review and Reference (PDF) (opens in a new tab): Basic concept of linear algebra
- Linear Algebra (opens in a new tab): This is a basic subject on matrix theory and linear algebra. Emphasis is given to topics that will be useful in other disciplines, including systems of equations, vector spaces, determinants, eigenvalues, similarity, and positive definite matrices.
- Matrix Algebra for Engineers (opens in a new tab): This course is all about matrices, and concisely covers the linear algebra that an engineer should know.
Probability & Statistics
Topics include Random variables, expectation, Probability distributions and so on.
- CME 106 - Introduction to Probability and Statistics for Engineers (opens in a new tab)
- Review of Probability Theory (PDF) (opens in a new tab)
- Introduction to Probability and Statistics (opens in a new tab): This course provides an elementary introduction to probability and statistics with applications. Topics include: basic combinatorics, random variables, probability distributions, Bayesian inference, hypothesis testing, confidence intervals, and linear regression.
- Statistics 110: Probability (opens in a new tab): Statistics 110 (Probability) has been taught at Harvard University by Joe Blitzstein (Professor of the Practice in Statistics, Harvard University) each year since 2006.
Calculus
Topics include Limits, Derivatives, Implicit differentiation, Finding extrema, MVT, Newton's method and Integral calc stuff. The advanced materials are about Matrix calculus - Gradients, Directional derivatives etc.
Optimization
- Convex Optimization (opens in a new tab): his course concentrates on recognizing and solving convex optimization problems that arise in applications. The syllabus includes: convex sets, functions, and optimization problems; basics of convex analysis; least-squares, linear and quadratic programs, semidefinite programming, minimax, extremal volume, and other problems; optimality conditions, duality theory, theorems of alternative, and applications; interior-point methods; applications to signal processing, statistics and machine learning, control and mechanical engineering, digital and analog circuit design, and finance.
Mathematics for Machine Learning
- Mathematics of Machine Learning (opens in a new tab) : Broadly speaking, Machine Learning refers to the automated identification of patterns in data. As such it has been a fertile ground for new statistical and algorithmic developments. The purpose of this course is to provide a mathematically rigorous introduction to these developments with emphasis on methods and their analysis.
Aritificial Intelligence
- Intro to AI (opens in a new tab) : Lecture and course materials for UC Berkeley CS188 Intro to AI
- Artificial Intelligence - MIT (opens in a new tab) : This course introduces students to the basic knowledge representation, problem solving, and learning methods of artificial intelligence.
- Techniques in Artificial Intelligence (SMA 5504) (opens in a new tab) : Topics covered include: representation and inference in first-order logic, modern deterministic and decision-theoretic planning techniques, basic supervised learning methods, and Bayesian network inference and learning.
- CS221: Artificial Intelligence: Principles and Techniques (Stanford / Autumn 2023-2024) (opens in a new tab) : The goal of artificial intelligence (AI) is to tackle complex real-world problems with rigorous mathematical tools. In this course, you will learn the foundational principles and practice implementing various AI systems. Specific topics include machine learning, search, Markov decision processes, game playing, constraint satisfaction, graphical models, and logic.
Natural Language Processing
- Natural Language Processing — Stanford University by Dan Jurafsky (opens in a new tab)
- Natural Language Processing Specialization (opens in a new tab) : Break into the NLP space. Master cutting-edge NLP techniques through four hands-on courses!
- Stanford's Natural Language Processing with Deep Learning (CS224n) (opens in a new tab) : Natural language processing (NLP) is a crucial part of artificial intelligence (AI), modeling how people share information. In recent years, deep learning approaches have obtained very high performance on many NLP tasks. In this course, students gain a thorough introduction to cutting-edge neural networks for NLP.
- CS324 - Large Language Models (opens in a new tab) : The fundamentals about the modeling, theory, ethics, and systems aspects of large language models
- CS25: Transformers United V2 (opens in a new tab) : Learn how transformers work and deepp drive into the different kinds of transformers and how they're applied in deifferent fields.
- Neural Networks: Zero to Hero (opens in a new tab) : A course by Andrej Karpathy on building neural networks, from scratch, in code.
- Self-Driving Cars — Andreas Geiger (opens in a new tab) : This course covers the most dominant paradigms of self-driving cars: modular pipeline-based approaches as well as deep-learning based end-to-end driving techniques.
Machine Learning
- Machine Learning by Andrew Ng (opens in a new tab): This course provides a broad introduction to machine learning, datamining, and statistical pattern recognition. Topics include: (i) Supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks). (ii) Unsupervised learning (clustering, dimensionality reduction, recommender systems, deep learning). (iii) Best practices in machine learning (bias/variance theory; innovation process in machine learning and AI). The course will also draw from numerous case studies and applications, so that you'll also learn how to apply learning algorithms to building smart robots (perception, control), text understanding (web search, anti-spam), computer vision, medical informatics, audio, database mining, and other areas.
- Machine Learning - MIT (opens in a new tab): an introductory course on machine learning which gives an overview of many concepts, techniques, and algorithms in machine learning, beginning with topics such as classification and linear regression and ending up with more recent topics such as boosting, support vector machines, hidden Markov models, and Bayesian networks.
- Machine Learning for Healthcare (opens in a new tab): This course introduces students to machine learning in healthcare, including the nature of clinical data and the use of machine learning for risk stratification, disease progression modeling, precision medicine, diagnosis, subtype discovery, and improving clinical workflows.
- CS 329S: Machine Learning Systems Design (opens in a new tab): This course aims to provide an iterative framework for designing real-world machine learning systems. The goal of this framework is to build a system that is deployable, reliable, and scalable.
- Applied Machine Learning (Cornell Tech CS 5787, Fall 2020) (opens in a new tab): Lecture videos and materials from the Applied Machine Learning course at Cornell Tech, taught in Fall 2020.
- Machine Learning with Kernel Methods, Spring 2021 | Julien Mairal and Jean-Philippe Vert Google Brian & INRIA (opens in a new tab): The goal of this course is to present the mathematical foundations of kernel methods, as well as the main approaches that have emerged so far in kernel design.
- Machine Learning with Graphs (opens in a new tab) Complex data can be represented as a graph of relationships between objects. Such networks are a fundamental tool for modeling social, technological, and biological systems. This course focuses on the computational, algorithmic, and modeling challenges specific to the analysis of massive graphs. By means of studying the underlying graph structure and its features, students are introduced to machine learning techniques and data mining tools apt to reveal insights on a variety of networks.
Deep Learning
- Practical Deep Learning for Coders (opens in a new tab): Deep Learning for Coders with fastai and PyTorch: AI Applications Without a PhD - the book and the course
- Introduction to Deep Learning (opens in a new tab): This is MIT's introductory course on deep learning methods with applications to computer vision, natural language processing, biology, and more! Students will gain foundational knowledge of deep learning algorithms and get practical experience in building neural networks in TensorFlow.
- Deep Learning Specialization by Andrew Ng (opens in a new tab): Become a Deep Learning experts. Master Deep Learning and Break into AI
- Deep Reinforcement Learning (opens in a new tab): Lectures for UC Berkeley CS 285: Deep Reinforcement Learning.
- Deep Learning for Computer Vision (opens in a new tab): Lecture for Michigan University EECS 498-007/598-005 Deep Learning for Computer Vision
- Introduction to Deep Learning-Spring 2021, Carnegie Mellon University (opens in a new tab) : This course we will learn about the basics of deep neural networks, and their applications to various AI tasks.
- Full Stack Deep Learning-Spring 2021, UC Berkeley (opens in a new tab): Full Stack Deep Learning helps you bridge the gap from training machine learning models to deploying AI systems in the real world.
- NYU’s Deep Learning (opens in a new tab): This course concerns the latest techniques in deep learning and representation learning, focusing on supervised and unsupervised deep learning, embedding methods, metric learning, convolutional and recurrent nets, with applications to computer vision, natural language understanding, and speech recognition.
- The Deep Learning Lecture Series 2020 (DeepMind x UCL) (opens in a new tab): In this series, DeepMind Research Scientists and Research Engineers deliver 12 lectures on a range of topics in Deep Learning.
- The Deep Learning Lecture Series 2021 (DeepMind x UCL) (opens in a new tab) - The Deep Learning Lecture Series is a collaboration between DeepMind and the UCL Centre for Artificial Intelligence.
- Deep Learning in the Life Sciences-Spring 2021, MIT (opens in a new tab): This courses introduces foundations and state-of-the-art machine learning challenges in genomics and the life sciences more broadly
- NYU Deep Learning Spring 2021 (NYU-DLSP21), NYU Center For Data Science (opens in a new tab): This course includes history, backpropagation, and gradient descent, parameter sharing: recurrent and convolutional networks, latent variable (LV) energy based models (EBMs)
- Deep Learning Systems—Algorithms and Implementation (opens in a new tab): An understanding and overview of the “full stack” of deep learning systems, ranging from the high-level modeling design of modern deep learning systems, to the basic implementation of automatic differentiation tools, to the underlying device-level implementation of efficient algorithms.
- TinyML and Efficient Deep Learning Computing (MIT-Fall-2024) (opens in a new tab) - This course focuses on efficient machine learning and systems.
Computer Vision
- Convolutional Neural Networks (opens in a new tab): In the fourth course of the Deep Learning Specialization, you will understand how computer vision has evolved and become familiar with its exciting applications such as autonomous driving, face recognition, reading radiology images, and more.
- Become a Computer Vision Expert (opens in a new tab): Master the computer vision skills behind advances in robotics and automation. Write programs to analyze images, implement feature extraction, and recognize objects using deep learning models.
- Self-Driving Cars Specialization– University of Toronto (opens in a new tab): Launch Your Career in Self-Driving Cars. Be at the forefront of the autonomous driving industry.
- Introduction to Computer Vision with Watson and OpenCV– IBM (opens in a new tab): This course you will utilize Python, Pillow, and OpenCV for basic image processing and perform image classification and object detection.
- AWS Computer Vision: Getting Started with GluonCV– AWS (opens in a new tab): This course provides an overview of Computer Vision (CV), Machine Learning (ML) with Amazon Web Services (AWS), and how to build and train a CV model using the Apache MXNet and GluonCV toolkit. The course discusses artificial neural networks and other deep learning concepts, then walks through how to combine neural network building blocks into complete computer vision models and train them efficiently.
- Python for Computer Vision with OpenCV and Deep Learning– Udemy (opens in a new tab): Learn the latest techniques in computer vision with Python , OpenCV , and Deep Learning
- Deep Learning and Computer Vision A-Z™: OpenCV, SSD & GANs– Udemy (opens in a new tab): Become a Wizard of all the latest Computer Vision tools that exist out there. Detect anything and create powerful apps.
- Image Understanding with TensorFlow on GCP– Google Cloud Training (opens in a new tab): This is the third course of the Advanced Machine Learning on GCP specialization. In this course, We will take a look at different strategies for building an image classifier using convolutional neural networks. We'll improve the model's accuracy with augmentation, feature extraction, and fine-tuning hyperparameters while trying to avoid overfitting our data. We will also look at practical issues that arise, for example, when you don’t have enough data and how to incorporate the latest research findings into our models.
- 3D Computer Vision - National University of Singapore - 2021 (opens in a new tab): an introductory course on 3D Computer Vision which was recorded for online learning at NUS due to COVID-19.
- CV3DST - Computer Vision 3: Detection, Segmentation and Tracking (opens in a new tab)
- ADL4CV - Advanced Deep Learning for Computer Vision (opens in a new tab)
Computer Science
- Introduction to Computer Science and Programming in Python (opens in a new tab): Introduction to Computer Science and Programming in Python is intended for students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems and to help students, regardless of their major, feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class uses the Python 3.5 programming language.
- Introduction to Algorithms (opens in a new tab): This course provides an introduction to mathematical modeling of computational problems. It covers the common algorithms, algorithmic paradigms, and data structures used to solve these problems. The course emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems.
- Mathematics for Computer Science (opens in a new tab): An interactive introduction to discrete mathematics oriented toward computer science and engineering.
Pytorch
- Intro to Machine Learning with PyTorch (opens in a new tab) - Learn foundational machine learning techniques -- from data manipulation to unsupervised and supervised algorithms.
- Deep Learning with PyTorch - DataCamp - You will use PyTorch to first learn about the basic concepts of neural networks before building your first neural network to predict digits from an MNIST dataset. You you will learn about convolutional neural networks and how to use CNN to build more powerful models that give more accurate results.
- Deep Neural Networks with PyTorch - Coursera (opens in a new tab) - The course will teach you how to develop deep learning models using Pytorch. The course will start with Pytorch's tensors and Automatic differentiation package. Then each section will cover different models starting off with fundamentals such as Linear Regression, and logistic/softmax regression. Followed by Feedforward deep neural networks, the role of different activation functions, normalization and dropout layers. Then Convolutional Neural Networks and Transfer learning will be covered. Finally, several other Deep learning methods will be covered.
- PyTorch: Deep Learning and Artificial Intelligence– Udemy (opens in a new tab) - the best beginner-level course and starts with machine learning basics and then moves to the deep learning concepts such as Deep Neural Networks, Convolutional Neural Networks (image processing), and Recurrent Neural Networks.
- PyTorch for Deep Learning with Python– Udemy (opens in a new tab) - Learn how to create state of the art neural networks for deep learning with Facebook's PyTorch Deep Learning library!
- PyTorch Basics for Machine Learning-edX (opens in a new tab) - This course is the first part in a two part course and will teach you the fundamentals of PyTorch. In this course you will implement classic machine learning algorithms, focusing on how PyTorch creates and optimizes models. You will quickly iterate through different aspects of PyTorch giving you strong foundations and all the prerequisites you need before you build deep learning models.
- Deep Learning with Python and PyTorch (opens in a new tab) - This course is the second part of a two-part course on how to develop Deep Learning models using Pytorch.
- Intro to Deep Learning with PyTorch (opens in a new tab) - In this course, you’ll learn the basics of deep learning, and build your own deep neural networks using PyTorch. You’ll get practical experience with PyTorch through coding exercises and projects implementing state-of-the-art AI applications such as style transfer and text generation.
- PyTorch Tutorials– pytorch.org (opens in a new tab) - The official PyTorch website that provides a variety of PyTorch tutorials to clear the PyTorch basics such as Writing Custom Datasets, Transfer Learning for Computer Vision Tutorial, and Deep Learning, etc.
Data Science
- Introduction to Computational Thinking and Data Science (opens in a new tab): The continuation of "Introduction to Computer Science and Programming in Python" and is intended for students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems and to help students, regardless of their major, feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals.
Software Engineering & Data Engineering
- CS839 Modern Data Management and Machine Learning Systems (opens in a new tab) Modern Data Analytics and Machine learning (ML) are enjoying rapidly increasing adoption. However, designing and implementing the systems that support modern data analytics and machine learning in real-world deployments presents a significant challenge, in large part due to the radically different development and deployment profile of modern data analysis methods, and the range of practical concerns that come with broader adoption.