General Machine Learning Books:
Business Intelligence:
Natural Language Processing:
Computer Vision and AI:


The following major subdivisions of MOOCs are considered essential for substantial project development.


Math is essential for understanding most machine learning concepts. There may be several subtopics that can be skipped for the initial reading so that more is covered in less time. However, these subtopics may be relevant in specific research papers or projects. The following topics are highly recommended before beginning Machine Learning. Then, as per the requirement, specific topics may be covered apart from those mentioned here.

Machine Learning
Deep Learning
Computer Vision
Natural Language Processing

Other Resources

Resources from OpenSessions

This resource is intended for those completely new to Machine Learning as a discipline. It includes the basics of programming with the Python programming language and contains a shallow overview of few of the several subfields of Artificial Intelligence. There are some handy exercises and mini-projects that the student may wish to use to practically apply whatever they have learnt. The content of this course is approximately 12 hours long, but the exercises and projects to be completed would extend it to be much longer and would be better if it is spread out over a couple of weeks.

The Open Sessions Format:

  • Python Syntax, Object-oriented (anatomy of a class), and vector based calculations using NumPy.
  • Basic Data Manipulation and Data Exploration using Pandas. Visualizations using matplotlib and seaborn libraries.
  • Familiarity with common jargon, scikit-learn syntax, and approaches in ML using several different algorithms. Elaboration of the concept of regression (univariate and multivariate).
  • Familiarity with the concepts of classification and model ensembles. Understanding the bias-variance tradeoff.
  • Conceptual understanding of dimensionality reduction using PCA, t-SNE. Concept of unsupervised learning and examples with few clustering algorithms.
  • Introduction to Deep Learning and related libraries.
Short Course

This course is suitable for those who wish to build a better foundation for their understanding than the first course. While this one is more intensive and would take considerably more time to complete, it is much more rewarding in the academic sense due to the depth and breadth of the subjects within. It also suits those who have already familiarized themselves with the basics of Machine Learning and wish to expand their understanding from the point they believe would be the best. The resources provided here may be used to structure your learning endeavor or as a starting point for your exploration. Additional resources in the sections at the end may be useful for practice projects based on the knowledge obtained from this course.

Useful Blogs