Neural networks have enjoyed several waves of popularity over the past half century. The many applications of neural networks include: apps that identify people in photos, automated vision systems for large-scale object recognition, smart home appliances that recognize continuous, natural speech, self-driving cars, and software that translates from any language to any other language. In this course, we’ll learn the fundamental principles and concepts of neural networks and state-of-the-art approaches to deep learning. Students will learn to design neural network architectures and training methods using hands-on assignments. Students will read current research articles to appreciate state-of-the-art approaches and real-world applications. We will learn and use a critical software tool for deep learning: TensorFlow.