1. CS50’s Introduction to Artificial Intelligence with Python (Harvard)

This course comes from Harvard and explores the concepts and algorithms at the foundation of modern artificial intelligence, diving into the ideas that give rise to technologies like game-playing engines, handwriting recognition, and machine translation.

Through hands-on projects, students gain exposure to the theory behind graph search algorithms, classification, optimization, reinforcement learning, and other topics in artificial intelligence and machine learning as they incorporate them into their own Python programs.

2. Data Science: Machine Learning (Harvard)

This course is from Harvard and it will help you will learn popular machine learning algorithms, principal component analysis, and regularization by building a movie recommendation system.

You will learn about training data, and how to use a set of data to discover potentially predictive relationships. As you build the movie recommendation system, you will learn how to train algorithms using training data so you can predict the outcome for future datasets. You will also learn about overtraining and techniques to avoid it such as cross-validation.

Harvard course that is being taught through projects, mentored by some of the world’s best professors?
SIGN ME UP !!! You don’t want to miss out on this one.

3. Artificial Intelligence (MIT)

This course comes from MIT and introduces students to the basic knowledge representation, problem-solving, and learning methods of artificial intelligence. After this course, the students should be able to develop intelligence, understand the role of knowledge representation, and appreciate the role of problem-solving, vision, and language in understanding human intelligence from a computational perspective.

As most of the courses in this list that come from MIT, this course has tons of PDF tutorials with summed up materials, video lectures from the classes taught by MIT’s best professors as well as tons of other references to some of the best books from these fields.

4. Introduction to Computational Thinking and Data Science (MIT)

This is an MIT course and is great 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.

This course has also tons of tutorials and video lectures.

5. Machine Learning (MIT)

This is an MIT course and it contains an introduction to 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.

6. Matrix Methods in Data Analysis, Signal Processing, and Machine Learning (MIT)

This MIT course focuses on Linear algebra’s concepts which are key for understanding and creating machine learning algorithms, especially as applied to deep learning and neural networks.

The course is equipped with video lectures and tutorials as well as with assignments and projects.

7. Machine Vision (MIT)

This is the MIT course for Machine Vision (Computer Vision) and provides an intensive introduction to the process of generating a symbolic description of an environment from an image. Lectures describe the physics of image formation, motion vision, and recovering shapes from shading.

Binary image processing and filtering are presented as preprocessing steps. Applications to robotics and intelligent machine interaction are discussed.

8. Advanced Natural Language Processing (MIT)

This MIT course is an introduction to natural language processing (NLP). It covers syntactic, semantic, and discourse processing models, emphasizing machine learning or corpus-based methods and algorithms. It also covers applications of these methods and models in syntactic parsing, information extraction, statistical machine translation, dialogue systems, and summarization.

If you are interested in NLP, this course is the best place to start with it.

9. Statistical Learning (Stanford)

This Stanford class is an introductory-level course in supervised learning, with a focus on regression and classification methods. The syllabus includes: linear and polynomial regression, logistic regression and linear discriminant analysis, cross-validation and the bootstrap, model selection and regularization methods, nonlinear models, splines and generalized additive models, tree-based methods, random forests and boosting, support vector machines. Some unsupervised learning methods are discussed: principal components and clustering (k-means and hierarchical).

10. Mining Massive Data Sets (Stanford)

This is a Stanford course that introduces the students to modern distributed file systems and MapReduce, including what distinguishes good MapReduce algorithms from good algorithms in general.

The rest of the course is devoted to algorithms for extracting models and information from large datasets. Participants will learn how Google’s PageRank algorithm models the importance of Web pages and some of the many extensions that have been used for a variety of purposes.