Course Description: Computer Vision has become ubiquitous in our society, image searches to self-driving cars. On the other hand, Deep learning has shaken the world of artificial intelligence in the recent years. Most of these developments greatly advanced the performance of state-of-the-art visual recognition systems, which put Computer Vision in the epicenter of most technological progress from the past decade. In this context, this course aims at providing a consistent exploration of how deep learning started to its most recent achievements, always using Computer Vision tasks as their main application, historically or practically. During the course, we'll also understand many of the main computer vision problems and use them as cases for the introduction of various deep learning related problems. Finally, this course hopes to give students working knowledge of PyTorch, one of the main deep learning frameworks, and prepare them to future industrial and academic careers in the field.
Course Description: This course provides a broad introduction to foundational concepts in artificial intelligence and machine learning. We will consider the design and implementation of (apparently) intelligent computational agents inhabiting complex environments. This is a quantitative class with a focus on mathematical, logical, and algorithmic concepts, plus a significant amount of programming. Typical "AI" course topics include heuristic graph search, basic probability theory, Bayesian inference, and Markov Decision Problems. Typical "ML" course topics include fitting and overfitting models, cross-validation, classification and regression tasks, and unsupervised learning. Towards the end of the course, we will cover feed-forward neural networks, the back propagation algorithm, and as many advanced neural architectures as time allows. All along the way, we will consider how the performance measures that guide our agents might lead to unfair outcomes, plus a case study deep-dive into statistical measures that can potentially shine a light on the biases an intelligent model may have "learned".
Course Description: This course provides an introduction to computational thinking, programming, and the field of computer science in general. Computer science is fundamentally a study of problem solving, not simply computers (or computer programs) themselves. We consider questions such as "What defines computer science?", "How do we design an algorithm to solve a problem?", "How do we translate an algorithm into a computer program?". Over the course of the semester, students learn the fundamentals of programming using the Python programming languageLinks to an external site. and write a variety of programs during weekly homework assignments and larger projects.