These are the subject updates for the fall term 2022
When new subject numbers are listed below, previous subject numbers are listed in [brackets].
6.1900 [6.0004] / 6.S077 Introduction to Low-Level Programming in C and Assembly
Half Term Subject, taught in both first half (H1) and second half (H2); half-semester assignments announced before semester starts
Prereqs: 6.100A [6.0001]
Schedule: M12:30-2, room 34-101
Satisfies: same as 6.1900 [6.0004]
Introduction to C and assembly language for students coming from a Python background (6.0001). Studies the C language, focusing on memory and associated topics including pointers, and how different data structures are stored in memory, the stack, and the heap in order to build a strong understanding of the constraints involved in manipulating complex data structures in modern computational systems. Studies assembly language to facilitate a firm understanding of how high-level languages are translated to machine-level instructions.
Since 6.1900 is taught in both halves of the semester, and requires hardware and lab space, you will be assigned to a section in either the first half or second half in order to balance section size. Please preregister or register for 6.1900. You will be asked for your constraints and preferences, and before the semester starts, you will receive an assignment to either the first half or the second half of the semester. (The subject number for the first half course may be 6.S077 for scheduling reasons, but 6.S077 is the same as 6.1900.)
6.S046/6.S976 Silicon Photonics
Prereqs: 6.2300 (6.013) or 8.07
Instructor: Prof. Jelena Notaros (firstname.lastname@example.org)
Satisfies: Physics Concentration
Introduces students to the field of silicon photonics with topics spanning silicon-photonics-based devices, circuits, systems, platforms, and applications. Covers the foundational concepts behind silicon photonics based in electromagnetics, optics, and device physics; the design of silicon-photonics-based devices (including waveguides, couplers, splitters, resonators, antennas, modulators, detectors, and lasers) using both theoretical analysis and numerical simulation tools; the engineering of silicon-photonics-based circuits and systems with a focus on a variety of applications areas (spanning computing, communications, sensing, quantum, displays, and biophotonics); the development of silicon-photonics-based platforms, including fabrication and materials considerations; and the characterization of these silicon-photonics-based devices and systems through hands-on laboratory demonstrations and projects. Students taking graduate version complete additional assignments.
6.S083 Julia – Solving Real World Problems with Computation (meets with 18.S191)
Prereqs: 18.03, 18.06, 6.100A[6.0001], or equivalents
Instructor: Professor Alan Edelman (email@example.com)
Schedule: TR1-2:30, room 2-131
Satisfies: AUS2, II
Focuses on algorithms and techniques for writing and using modern technical software in a job, lab, or research group environment that may consist of interdisciplinary teams, where performance may be critical, and where the software needs to be flexible and adaptable. Topics covered include automatic differentiation, matrix calculus, scientific machine learning, parallel and GPU computing, and performance optimization with introductory applications to climate science, economics, agent based modeling, and other areas. Labs and projects focused on performant, readable, composable algorithms and software. Programming will be in Julia. We expect students to have some familiarity with Python, Matlab, or R but not Julia.
6.S084 Linear Algebra and Optimization (meets with 18.C06)
Satisfies: can be substituted for 18.06 requirement
Introductory course in linear algebra and optimization, assuming no prior exposure to linear algebra and starting from the basics, including vectors, matrices, eigenvalues, singular values, and least squares. Covers the basics in optimization including convex optimization, linear/quadratic programming, gradient descent, and regularization, building on insights from linear algebra. Explores a variety of applications in science and engineering, where the tools developed give powerful ways to understand complex systems and also extract structure from data.
6.S898 Deep Learning
Prereqs: (6.3900[6.036] or 6.C01 or 6.3720[6.401]) and (6.3700[6.041] or 6.3800[6.008] or 18.05) and (18.C06 or 18.06)
Instructor: Professor Phillip Isola (firstname.lastname@example.org)
Schedule: TR1-2:30, room 4-231
Satisfies: AUS2, II; AAGS, grad_AUS2; Concentration Subject in AI
Fundamentals of deep learning, including both theory and applications. Topics include neural net architectures (MLPs, CNNs, RNNs, transformers), backpropagation and automatic differentiation, learning theory and generalization in high-dimensions, and applications to computer vision, natural language processing, and robotics.
6.S974/6.1420[6.054] Fixed Parameter and Fine-grained Complexity
Prereqs: 6.1200[6.042] and 6.1210[6.006] and (6.1220[6.046] or 6.1400[6.045] or 18.404)
Satisfies: AUS2, II; AAGS, grad_AUS2; Concentration subject in Theoretical Computer Science
An overview of the theory of parameterized algorithms and the “problem-centric” theory of fine-grained complexity, both of which reconsider how to measure the difficulty and feasibility of solving computational problems. Topics include: fixed-parameter tractability (FPT) and its characterizations, the W-hierarchy (W, W, W[P], etc.), 3-sum-hardness, all-pairs shortest paths (APSP)-equivalences, strong exponential time hypothesis (SETH) hardness of problems, and the connections to circuit complexity and other aspects of computing.
6.S977 The Sum of Squares Methods
Schedule: Friday 9:30-12:30, room 5-234
Instructor: Prof. Sam Hopkins (email@example.com)
Satisfies: AAGS, grad_AUS2; Theoretical Computer Science concentration subject
Study of algorithms and computational complexity through the lens of the Sum of Squares method (SoS), a powerful approach to algorithm design generalizing linear programming and spectral methods. Specific sub-topics vary and are chosen with student input, potentially including algorithms for combinatorial and continuous optimization (graphs, constraint satisfaction problems, unique games conjecture), applications to high-dimensional algorithmic statistics (robustness, privacy, method of moments), applications to quantum information, and an SoS perspective on computational complexity (of NP-hard problems and/or of statistical inference).
6.S978 Tissue vs. Silicon in Machine Learning
Instructor: Prof. Nir Shavit (firstname.lastname@example.org)
Satisfies: Concentration subject in AI; AAGS
A seminar style class that investigates learnings from neurobiology in the design of ML hardware and software. Students should have an understanding of ML techniques.
6.S980 Machine Learning for Inverse Graphics
Prereqs: 6.3900[6.036] OR 6.3700[6.041] OR 6.1200[6.042] OR 18.06 (i.e., an intro machine learning course)
Instructor: Professor Vincent Sitzmann (email@example.com)
Schedule: TR2:30-4, room TBD
Satisfies: AAGS, grad_AUS2; AI or Graphics & HCI concentration subjects
From a single picture, humans reconstruct a mental representation of the underlying 3D scene that is incredibly rich in information such as shape, appearance, physical properties, purpose, how things would feel, smell, sound, etc. These mental representations allow us to understand, navigate, and interact with our environment in our everyday lives. We learn this from little supervision, mainly by interacting with our world and observing the world around us.
Emerging neural scene representations aim to build models that replicate this behavior: Trained in a self-supervised manner, the goal is to reconstruct rich representations of 3D scenes that can then be used in downstream tasks such as computer vision, robotics, and graphics.
This course covers fundamental and advanced techniques in this field at the intersection of computer vision, computer graphics, and deep learning. It will lay the foundations of how cameras see the world, how we can represent 3D scenes for artificial intelligence, how we can learn to reconstruct these representations from only a single image, how we can guarantee certain kinds of generalization, and how we can train these models in a self-supervised way.
6.S981 Introduction to Program Synthesis
Prereqs: 6.1010[6.009] and 6.1200[6.042] or equivalent
Instructor: Professor Armando Solar Lezama (firstname.lastname@example.org)
Schedule: TR1-2:30, room 26-328, Rec F1-2, room TBD
Satisfies: AAGS, grad_AUS2, Concentration Subject in Systems
The goal of this course is to provide a comprehensive introduction to the field of Software synthesis, an emerging field that sits at the intersection of programming systems, formal methods and artificial intelligence. The course will be divided into three major sections: the first will focus on program induction from examples and will cover a variety of techniques to search large program spaces. The second section will focus on synthesis from expressive specifications and the interaction between synthesis and verification. Finally, the third unit will focus on synthesis with quantitative specifications and the intersection between program synthesis and machine learning. The course will be graded on the basis of three problem sets and an open-ended final project.
6.S982 Clinical Data Learning, Visualization, and Deployments (meets with HST.953)
Prereqs: 6.7900[6.867] and HST.956
Instructor: Professor Marzyeh Ghassemi (email@example.com)
Schedule: Lectures: F9:30-12:30, room E25-117; Recitation: TBA
Satisfies: AAGS, grad_AUS2, BIOEECS_AAGS; AI or BioEECS Concentration Subject
Examines the practical considerations for operationalizing machine learning in healthcare settings, with a focus on robust, private and fair modeling using real retrospective healthcare data. Explores the pre-modeling creation of dataset pipeline to the post-modeling “implementation science” that addresses how models are incorporated at the point of care. Students will complete three homeworks (one each on machine learning, visualization and implementation) followed by a course project proposal and presentation. Students gain experience in dataset creation and curation, machine learning training, visualization and deployment considerations that target utility and clinical value. Most importantly, students will appreciate the multidisciplinary nature of data science by partnering with computer scientists, engineers, social scientists and clinicians.
6.S965 TinyML and Efficient Deep Learning Computing
Prereqs: 6.004[6.1900] and 6.3900[6.036] or equivalents
Instructor: Professor Song Han (firstname.lastname@example.org)
Satisfies: AAGS, grad_AUS2; Concentration subject in Computer Systems or AI
This course introduces tiny machine learning techniques that enable powerful deep learning applications on resource-constrained devices. Topics include model compression, pruning, quantization, neural architecture search, distributed training, gradient compression, on-device transfer learning, federated learning, efficient kernel design, auto-tuning, benchmarking and profiling, and quantum machine learning. It also introduces application-specific tinyML techniques for video recognition, GAN, point cloud, and natural language understanding. Students will get hands-on experience implementing deep learning applications on microcontrollers and mobile phones and quantum ML on real quantum machines with an open-ended design project.
6.7950[6.246] Reinforcement Learning: Foundations and Methods
Prereqs: see below
Instructor: Prof. Cathy Wu (email@example.com)
Schedule: TR2:30-4, room 4-237
Satisfies: Concentration subject in Control
Reinforcement learning (RL) as a methodology for approximately solving sequential decision-making under uncertainty, with foundations in optimal control and machine learning. Finite horizon and infinite horizon dynamic programming, focusing on discounted Markov decision processes. Value and policy iteration. Monte Carlo, temporal differences, Q-learning, and stochastic approximation. Approximate dynamic programming, including value-based methods and policy space methods. Special topics at the boundary of theory and practice in RL. Applications and examples drawn from diverse domains. While an analysis prerequisite is not required, mathematical maturity is necessary. Enrollment Limited
Expectations and prerequisites: There is a large class participation component. In terms of prerequisites, students should be comfortable at the level of receiving an A grade in probability (6.3700[6.041] or equivalent), machine learning (6.7900[6.867] or equivalent), convex optimization (from 6.7200[6.255] / 6.3900[6.036] / 6.7900[6.867] or equivalent), linear algebra (18.06 or equivalent), and programming (Python). Mathematical maturity is required. This is not a Deep RL course. This class is most suitable for PhD students who have already been exposed to the basics of reinforcement learning and deep learning (as in 6.3900[6.036] / 6.7900[6.867] / 1.041 / 1.200), and are conducting or have conducted research in these topics.