Course Information


This course provides a thorough understanding of the fundamental concepts and recent advances in deep learning. The main objective is to provide students practical and theoretical foundations to use and develop deep neural architectures to solve challenging tasks in an end-to-end manner. The course is taught by Aykut Erdem.

The course will use Deep Learning by Ian Goodfellow, Yoshua Bengio and Aaron Courville as the textbook (draft available online and for free here).

Instruction style: During the semester, students are responsible for studying and keeping up with the course material outside of class time. These may involve reading particular book chapters, papers or blogs and watching some video lectures. After the first three lectures, each week a student will present a paper related to the topics of the week.

Time and Location

Lectures: Wednesday at 13:30-16:30 (Seminar Room)


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


CMP784 is open to all graduate students in our CENG department. Prospective senior undergraduate students may sit in on the class. Non-CENG graduate students, however, should ask the course instructor for approval before the add/drop period. The prerequisites for this course are:

  • Programming (you should be a proficient programmer to work out the practicals and to implement your course project.)
  • Calculus (differentiation, chain rule) and Linear Algebra (vectors, matrices, eigenvalues/vectors)
  • Basic Probability and Statistics (random variables, expectations, multivariate Gaussians, Bayes rule, conditional probabilities)
  • Machine Learning (you can still survive this course without a machine learning course before, but it is highly recommended. Some introductory ML courses are BBM406 Fundamentals of Machine Learning and CMP712 Machine Learning. CMP684 Neural Networks is also very related.)
  • Optimization (cost functions, taking gradients, regularization)

Course Requirements and Grading

Grading for CMP784 will be based on

  • Math Prerequisites Quiz (3%) (Each student must complete and pass this quiz!)
  • Practicals (16%) (2 practicals x 8% each)
  • Midterm Exam (25%)
  • Course Project (presentations and reports) (32%),
  • Paper Presentations (15%),
  • Weekly Quizzes (9%),

Reference Books

  • Ian Goodfellow, Yoshua Bengio, and Aaron Courville, Deep Learning, MIT Press, 2016 (draft available online)


Date Topic Assignments
Feb 26 Introduction to Deep Learning
Mar 4 Machine Learning Overview
Mar 11 Multi-Layer Perceptrons Practical 1 out
Mar 18 Classes suspended due to COVID-19 outbreak
Mar 25 Classes suspended due to COVID-19 outbreak Practical 1 due
Apr 1 Training Deep Neural Networks
Apr 8 Convolutional Neural Networks Practical 2 out
Apr 15 Understanding and Visualizing CNNs
Apr 22 Recurrent Neural Networks Project proposal due
Apr 29 Attention and Memory Practical 2 due
May 6 Midterm Exam (guide)
May 13 Autoencoders and Autoregressive Models
May 20 Generative Adversarial Networks and Flow Models Project progress report due
May 27 Variational Autoencoders
Jun 3 Self-supervised Learning
Jun 10 Final Project Presentations
Detailed Syllabus and Lectures