Course Information


This is a undergraduate-level introductory course in machine learning (ML) which will give a broad overview of many concepts and algorithms in ML, ranging from supervised learning methods such as support vector machines and decision trees, to unsupervised learning (clustering and factor analysis). The goal is to provide students with a deep understanding of the subject matter and skills to apply these concepts to real world problems. The course is taught by Erkut Erdem - the teaching assistant is Burcak Asal.


Time and Location

Lectures: Tuesdays at 13:00-13:50 and Thursdays 13:00-14:50 (Zoom)
Tutorials: Tutorials: Thursdays at 16:00-18:00 (Zoom)

Reference Books

Policies: All work on assignments must be done individually unless stated otherwise. You are encouraged to discuss with your classmates about the given assignments, but these discussions should be carried out in an abstract way. That is, discussions related to a particular solution to a specific problem (either in actual code or in the pseudocode) will not be tolerated.

In short, turning in someone else’s work, in whole or in part, as your own will be considered as a violation of academic integrity. Please note that the former condition also holds for the material found on the web as everything on the web has been written by someone else.


The course webpage will be updated regularly throughout the semester with lecture notes, presentations, assignments and important deadlines. All other course related communications will be carried out through Piazza. Please enroll it by following the link


AIN311 is a mandatory course for third-year undergraduate students who enrolled in Artificial Intelligence Engineering program. The prerequisites for this course are:

Course Requirements and Grading

Grading for AIN311 will be based on

Grading for AIN313 will be based on


Date Topic Notes
Sep 28 Course outline and logistics, An overview of Machine Learning [slides] Reading: The Discipline of Machine Learning, Tom Mitchell
Video 1: The Master Algorithm, Pedro Domingos
Video 2: The Thinking Machine
Tutorial: Python/numpy
Sep 30 Machine Learning by Examples, Nearest Neighbor Classifier [slides] Reading: Barber 1,14.1-14.2
Demo: k-Nearest Neighbors
Oct 5 Kernel Regression, Distance Functions, Curse of Dimensionality
Oct 7 Linear Regression, Generalization, Model Complexity, Regularization Assg1 out
Oct 12 Machine Learning Methodology
Oct 14 Learning Theory, Basic Probability Review
Oct 19 Statistical Estimation: MLE
Oct 21 Statistical Estimation: MAP, Naïve Bayes Classifier Assg1 due
Oct 26 Logistic Regression, Discriminant vs. Generative Classification
Oct 28 No class
Nov 2 Project discussion
Nov 4 Linear Discriminant Functions, Perceptron Assg2 out
Nov 9 Multi-layer Perceptron Course project proposal due
Nov 11 Training Neural Networks: Computational Graph, Back-propagation
Nov 16 Introduction to Deep Learning
Nov 18 Deep Convolutional Networks Assg2 due
Nov 23 Support Vector Machines (SVMs)
Nov 25 Soft margin SVM, Multi-class SVM Assg3 out
Nov 30 Midterm review
Dec 2 Midterm exam
Dec 7 Kernels, Kernel Trick for SVMs, Support Vector Regression
Dec 9 Decision Tree Learning Assg3 due
Dec 14 Ensemble Methods: Bagging, Random Forests
Dec 16 Ensemble Methods: Boosting Project progress reports due
Dec 21 Clustering: K-Means
Dec 23 Clustering: Spectral Clustering, Agglomerative Clustering
Dec 28 Dimensionality Reduction: PCA, SVD, ICA, Autoencoders
Dec 30 Project presentations, Course wrap-up Final project reports due


Related Conferences

  • Advances in Neural Information Processing Systems (NeurIPS)
  • International Conference on Machine Learning (ICML)
  • The Conference on Uncertainty in Artificial Intelligence (UAI)
  • International Conference on Artificial Intelligence and Statistics (AISTATS)
  • IEEE International Conference on Data Mining (ICDM)

Related Journals

  • IEEE Transactions on Pattern Analysis and Machine Intelligence
  • Journal of Machine Learning Research
  • Data Mining and Knowledge Discovery
  • IEEE Transactions on Neural Networks

Python Resources

Linear Algebra

Resources for scientific writing and talks