This course provides an introduction to deep learning. Students taking this course will learn the theories, models, algorithms, implementation and recent progress of deep learning, and obtain empirical experience on training deep neural networks. The course starts with machine learning basics and some classical deep models (including convolutional neural network, deep belief net, and auto-encoder), followed by optimization techniques for training deep neural networks, implementation of large-scale deep learning, multi-task deep learning, transferred deep learning, recurrent neural networks, applications of deep learning to computer vision and speech recognition, and understanding why deep learning works. The students taking are expected to have some basic background knowledge on calculus, linear algebra, probability, statistics and random process as a prerequisite. (For ELEG UG (under 4-Year Undergraduate Curriculum) and ELEG RPG students as elective; Not for students who have taken ELEG5040.)