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 Erkut 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 group of students will present a research paper related to the topics of the week.

Time and Location

Lectures: Wednesday at 09:00-12:00 (D5)


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)
  • Final 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
Sep 29 Introduction to Deep Learning
Oct 6 Machine Learning Overview
Oct 13 Multi-Layer Perceptrons Practical 1 out
Oct 20 Training Deep Neural Networks
Oct 27 Convolutional Neural Networks Practical 1 due, Practical 2 out
Nov 3 Understanding and Visualizing CNNs Project proposal due
Nov 10 Recurrent Neural Networks
Nov 17 Attention and Memory Practical 2 due
Nov 24 Autoencoders and Autoregressive Models
Dec 1 Progress Presentations
Dec 8 Generative Adversarial Networks Project progress report due
Dec 15 Variational Autoencoders and Flow Models
Dec 22 Self-supervised Learning
Dec 29 Final Project Presentations
Detailed Syllabus and Lectures