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: Thursday 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 (21%) (3 practicals x 7% each)
  • Midterm Exam (20%)
  • Course Project (presentations and reports) (32%),
  • Paper Presentations (15%),
  • Weekly Quizzes (9%),


Date Topic Assignments
Feb 15 Introduction to Deep Learning
Feb 22 Machine Learning Overview
Mar 1 Multi-Layer Perceptrons Practical 1 out
Mar 8 Training Deep Neural Networks
Mar 15 Convolutional Neural Networks Practical 1 due, Practical 2 out
Mar 22 Understanding and Visualizing CNNs Project proposal due
Mar 29 Recurrent Neural Networks
Apr 5 Attention and Memory Practical 2 due, Practical 3 out
Apr 12 Midterm Exam
Apr 19 Representation Learning Project progress report due
Apr 26 Deep Generative Models Part I Practical 3 due
May 3 Deep Generative Models Part II
May 10 Deep Reinforcement Learning
May 17 Final Project Presentations
Detailed Syllabus and Lectures


Reference Books

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

Similar Courses

Deep Learning Frameworks