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 four 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 13:40-16:30 (D6)


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 ed. You can enroll it by following the link using your departmental (cs) email account.


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
Oct 4 Introduction to Deep Learning
Oct 11 Machine Learning Overview
Oct 18 Multi-Layer Perceptrons Practical 1 out
Oct 25 Training Deep Neural Networks
Nov 1 Convolutional Neural Networks Practical 1 due, Practical 2 out
Nov 8 Understanding and Visualizing CNNs Project proposal due
Nov 15 Recurrent Neural Networks
Nov 22 Attention and Memory Practical 2 due
Nov 29 Autoencoders and Deep Generative Models
Dec 6 Progress Presentations
Dec 13 Deep Generative Models (cont'd.) Project progress report due
Dec 20 Deep Generative Models (cont'd.)
Dec 27 Self-supervised Learning
Jan 3 Final Project Presentations
Detailed Syllabus and Lectures