This paper describes the design and evaluation of the first iteration of a standalone course in neural networks aimed at upper level undergraduates and first-year graduate students. The development of this course was motivated by the advent in recent years of state-of-the-art results on challenging tasks in computer vision and natural language processing obtained using deep neural networks, and the subsequent widespread adoption of deep neural network models for various applications in industry. The course design emphasizes theoretical understanding and development of applications following existing best practices. Throughout, many unsettled aspects of the underlying mathematical theory of deep neural networks are highlighted, and students are prepared to adapt as current trends and techniques evolve.