In this course, we will talk about the foundational principles that drive machine learning applications and practice implementing machine learning algorithms. Specific topics include supervised learning, unsupervised learning, neural networks and graphical models. The main goal of the course is to equip you with the tools to tackle new ML problems you might encounter in life.