**Description: **In this course, students will learn the fundamentals of neural networks and deep learning along with their applications in several domains, such as computer vision and natural language processing. In order to enroll in an online section of this course, you are expected to have a working camera and microphone. During class sessions, you must be able to participate using your microphone and you are expected to have your camera on for the duration of the class so that you are visible to the instructor and other students in the class, just as you would be in an in-person class. Recommended Prerequisite(s): 1. Proficiency in Python 3. 2. Familiarity with fundamental concepts of calculus, including partial derivatives, chain rule, total derivatives, derivatives and partial derivatives of vectors and matrices. 3. Familiarity with fundamental concepts of probability and statistics, including probability distributions, density functions, computing probabilities, expectation, variance, multivariate distributions, random variables and multivariate random variables. 4. Familiarity with fundamental concepts of linear algebra, such as inner products, vector spaces, vector and matrix norms, rank of a matrix, positive definite matrices, and matrix factorization, e.g., spectral decomposition and singular value decomposition. 5. Familiarity with fundamental concepts of machine learning and optimization theory, such as loss functions, gradient descent, maximum likelihood estimation, MAP estimation, and principal component analysis. Mutually Exclusive: Cannot register for COMP 647 if student has credit for COMP 646/ELEC 576.