Machine learning (ML) techniques allow computers to adapt to data and solve new problems that are related to previously encountered problems, more efficiently. Such techniques allow machines to perform useful exploratory and predictive tasks without being explicitly programmed. ML finds its applications in speech recognition and synthesis, machine translation, object recognition, chatbots, question-answering, natural language understanding, anomaly detection, medical diagnosis and prognosis, autonomous vehicles and robots, time series forecasting, and much more. This introductory course covers the theoretical foundations and practical applications of ML and the design, implementation, and analysis of various ML algorithms. Students will learn to compare across and choose the most appropriate algorithms for various problem types and be able to design and implement their solutions. Students will be prepared for both industry and academia and pursue advanced courses.

For the Fall 2021 offering, we had a record-breaking enrollment of 205 students!


Taimoor Arif

Head Teaching Assistant

Dania Ahmad

Teaching Assistant

Eman Ijaz

Teaching Assistant

Hafiza Afirah Zahid

Teaching Assistant

Adeen Amer

Teaching Assistant

Shahbaz Ali

Teaching Assistant

Ayesha Majid

Teaching Assistant

Course Objectives

The goal of this course is to get the students excited about Machine Learning and to enable them to:

  • Develop a strong grip on the theory behind statistical learning

  • Understand and rigorously go through the phases of the design, implementation, and evaluation of fundamental ML algorithms

  • Choose the appropriate algorithm for each problem type and be able to compare the strengths and weaknesses of algorithms

  • Appreciate the end-to-end organic integration of ML in its application areas all the way from data sources, annotation pipelines, and choice of algorithms to societal biases, explainability of models and potentials to impact and even disrupt existing processes

Learning Outcomes

By the end of the course, students should be able to:

  • Develop an appreciation for what is involved in learning models from data, and integrating ML in existing real-world processes

  • Thoroughly understand the ML pipeline from design and data gathering to meaningful and relevant evaluation

  • Learn a wide variety of learning algorithms, and formulate and implement solutions to machine learning problems

  • Apply algorithms to real-world problems, optimize the trained models and report on the expected performance



  • Machine Learning, Tom Mitchell, McGraw Hill, 1997 – TM

  • The Elements of Statistical Learning: Data mining, Inference, and Prediction, Hastie, Trevor, Robert Tibshirani, and Jerome Friedman, Springer Science & Business Media, 2009 – ESLII

Reference books

  • Speech and Language Processing by Jurafsky and Martin, Ed 3 (online draft) – SLP

  • Machine Learning: A Probabilistic Perspective, Murphy, Kevin P. MIT press, 2012 – Murphy.

  • Pattern Recognition and Machine Learning, Christopher M. Bishop, Springer, 2006 – Bishop.

  • Introduction to Machine Learning, Ethem Alpaydin, Ed 2, MIT Press, 2010 – Alpaydin.

  • Deep Learning, Ian Goodfellow and Yoshua Bengio and Aaron Courville, 2016 – Goodfellow

Grading Breakup and Policy

  • Programming assignments, (5 - 6): 25%

  • Online timed quizzes, (weekly): 25%

  • Project: 20%

  • Reading assignments, (3): 15%

  • Online timed final examination + viva: 15%

Course Overview



Our special thanks to Professors Roni Rosenfeld, Kilian Weinberger, Andrew Ng, Sarmad Hussain, Dan Jurafsky, James H. Martin, Christopher Manning, and Victor Levrenko, whose Machine Learning, Natural Language Processing, and Speech Processing courses inspired the contents of several lectures in this series.

We would also like to express our gratitude towards Kalid Azad (Better Explained), Joshua Starmer (StatQuest), and Grant Sanderson (3blue1brown), as their amazing educational videos motivated and simplified several complex explanations in this course.