Subject Updates Spring 2023

    The following subjects will be offered.

    6.120A Discrete Mathematics and Proof for Computer Science (NEW)
    • Second half of term
    • Level: U
    • Units: 3-0-3
    • Prereqs: Calculus I (GIR)
    • Instructor: Professor Muriel Medard ( and Zachary Abel, EECS Lecturer (
    • Schedule: TR1-2:30, room 32-144
    • Satisfies: 6-2 Fundamental Subject


    Subset of elementary discrete mathematics for science and engineering useful in computer science. Topics may include logical notation, sets, done relations, elementary graph theory, state machines and invariants, induction and proofs by contradiction, recurrences, asymptotic notation, elementary analysis of algorithms, elementary number theory and cryptography, permutations and combinations, counting tools.

    6.2200 Electric Energy Systems (NEW)
    • Level: U
    • Units: 4-0-8
    • Prereqs: 6.2000
    • Instructor: Professor Rajeev Ram (
    • Schedule: MWR2, room 26-168, Rec. TBD
    • Satisfies: EE Track: Energy Systems; AUS2


    Analysis and design of modern energy conversion and delivery systems. Develops a solid foundation in electromagnetic phenomena with a focus on electrical energy distribution, electro-mechanical energy conversion (motors and generators), and electrical-to-electrical energy conversion (DC-DC, DC-AC power conversion). Students apply the material covered to consider critical challenges associated with global energy systems, with particular examples related to the electrification of transport and decarbonization of the grid.

    6.2410 Quantum Engineering Platforms (NEW)
    • Level: U
    • Units: 1-5-6
    • Prereq: 6.2400, 6.6400, 18.435, or (8.04 and 8.05)
    • Instructor:  Profs. Marc Baldo (, Dirk Englund (, and Phillip D. Keathley, Principal Research Scientist, RLE, (
    • Schedule: TBD
    • Satisfies: II, DLAB, PLAB; EE Track: Quantum Systems Engineering; Concentration in Applied Physics


    Provides practical knowledge and quantum engineering experience with several physical platforms for quantum computation, communication, and sensing, including photonics, superconducting qubits, and trapped ions. Labs include both a hardware component — to gain experience with challenges, design, and non-idealities — and a cloud component to run algorithms on state-of-the-art commercial systems. Use entangled photons to communicate securely (quantum key distribution). Run quantum algorithms on trapped ion and superconducting quantum computers. 

    6.4800 Biomedical Systems: Modeling and Inference (NEW)
    • Level: U
    • Units: 4-4-4
    • Prereqs: 6.3100 and (18.06 or 18.C06)
    • Instructors: Professors Colin Stultz ( and Elfar Adalsteinsson (
    • Schedule: MW2, room 24-121
    • Satisfies: EE Track: Biomedical


    Medically motivated examples of problems in human health that engage students in systems modeling, signal analysis and inference, and design. Content draws on two domains, first by establishing a model of the human cardiovascular system with signal analysis and inference applications of electrocardiograms in health and disease. In a second topic, medical imaging by MRI is motivated by examples of common clinical decision making, followed by laboratory work with technology and instrumentation with the functionality of commercial diagnostic scanners. Students apply concepts from lectures in labs for data collection for image reconstruction, image analysis, and inference by their own design. Labs further include kits for interactive and portable low-cost devices that can be assembled by the students to demonstrate fundamental building blocks of an MRI system.

    6.9000 Engineering for Impact (New)
    • Level: U
    • Units: 2-3-7
    • Prereqs:* 6.1910, 6.2000, and 6.3100
    • Instructors: Professor Joel Voldman (; Joseph Steinmeyer (
    • Schedule: TR10, room 36-155
    • Satisfies: AUS2; II; DLAB, also required subject for new 6-2 program.

    more information can be found at

    *for spring 2023 only pre-reqs have been relaxed to 6.002[6.2000] and 6.004[6.1910]


    Students work in large teams to engineer systems that solve important problems in society. Leverages technical EECS background to make design choices and partition the system with an emphasis on the societal, ethical, and legal implications of those choices. Explores case studies of existing engineered systems to understand implications of different system architectures. Teams design and build functional prototypes of useful systems. Grading is based on individual- and team-based elements. Enrollment may be limited due to staffing and space requirements. 

    6.S050 Programming Language Design
    • Level: U
    • Units: 3-0-9
    • Prereqs: 6.1020
    • Instructors: Professors Michael Carbin (, Armando Solar-Lezama (
    • Schedule: TR1-2:30, room 56-154
    • Satisfies: AUS2; CS: Programming Principles and Tools track; Concentration in Computer Systems


    Introduction to programming language design. Students will learn about the features used in modern programming languages. This class will prepare students to design their own languages and to become better programmers by understanding their language of choice more deeply. Topics covered include functional programming, data abstraction, modularity, types, memory management, and concurrency.

    6.S051 Natural Language and Human Language Computation (meets with 6.8630)
    • Level: U
    • Units 3-0-9
    • Prereqs: 6.100A or 6.100L or 6.1010 and 6.4110 or permission of instructor
    • Instructor:  Professor Robert Berwick (
    • Schedule: TR1-2:30, room 4-270
    • Satisfies: 6-4 Human Centric (UG version); AAGS, AI Concentration (Grad version)


    Introduction to the study of human language from both a computational and linguistic standpoint. Emphasizes the special properties of human language drawn from linguistic theory and computation that enable modeling by both computers and people, via case studies of actual human data in applications such as syntactic parsing, word parsing and segmentation, information retrieval, word meaning and semantic interpretation and language learning by children and computers. Formal background of parsing theory and complexity theory for language analysis; Bayesian, Minimum Description Length, and other approaches to learnability, and dynamical system models of language change. Instruction and practice in oral and written communication provided. Students taking graduate version complete additional assignments.

    6.S052/6.S952 Modeling with Machine Learning for Computer Science
    • Level: U/G
    • Units: 2-0-4
    • Prereqs: 6.S084/18.061 or 18.06 or equivalent; 6.1200, 6.3700 or equivalent; 6.100A or Equivalent; Coreq : 6.C01/C51 (Modeling with ML core)
    • Instructor: Professor Tommi Jaakkola (
    • Schedule: Fridays 11, room 56-154
    • Satisfies: Concentration in AI; satisfies any requirement that 6.3900 (6.036) satisfies; Grad: combo 6.C51/6.S952 AAGS, grad_AUS2; UG: combo 6.C01/6.S052 AUS, II


    Focuses on in-depth modeling of engineering tasks as machine learning problems. Emphasizes framing, method design, and interpretation of results. In comparison to broader co-requisite 6.C01/6.C51, this project-oriented subject consists of deep dives into select technical areas or engineering tasks involving both supervised and exploratory uses of machine learning. Deep dives into technical areas such robustness, interpretability, privacy or causal discovery; engineering tasks such as recommender systems, performance optimization, or automated design. This 6-unit subject must be taken together with the 6-unit core subject 6.C01/6.C51. Enrollment may be limited.

    6.S063 Design for the Web: Languages and User Interfaces
    • Level: U
    • Units: 3-0-9
    • Prereqs: co-requisite 6.009
    • Instructor: Prof. David Karger (
    • Schedule: MWF2:30-4, room 3-333
    • Satisfies: EECS; CS HCI track


    This course will teach the principles and technologies for designing usable user interfaces for Web applications.

    We will learn the key principles and methods of user interface design, including learnability, efficiency, safety, prototyping, and user testing. We will learn the core web languages of HTML, CSS, and Javascript, their different roles, and the rationales for the widely varying designs. We will use these languages to create usable web interfaces and applications. We will also touch on the fundamentals of graphic design theory, as design and usability go hand in hand.

     6.S077 Introduction to Low-level Programming in C and Assembly


    Introduction to C and assembly language for students coming from a Python background (6.100A). 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.

    6.S950 Global Business of Quantum Computing (meets with 15.S20)
    • First half of term
    • Level: G
    • Units: 2-0-1
    • Prereqs:
    • Instructor:  Professors William Oliver (, and Jonathan Ruane (
    • Schedule: W4-5:30, room E62-223


    Quantum Computing (QC) offers the potential to solve certain types of problems for human kind; problems that are today, prohibitive for traditional computing. It could lead to exciting breakthroughs in areas such as improved efficiency in logistics chains, increased battery performance for cars or helping to find new pharmaceutical treatments. But what is hype and what is realistic given the development of the field in recent years and its current trajectory? What role do scientists, engineers, managers, entrepreneurs, policy makers and other stakeholders play? This course provides multiple viewpoints including academic, industry and governmental. You will hear from leading MIT faculty and pioneering practitioners in the field. We will demystify topics such as trapped ion and superconducting qubits.

    6.S963 Beyond Models – Applying Data Science/AI Effectively
    • Second half of term
    • Level: G
    • Units 2-1-3
    • Prereqs: 6.034 or 6.036 or other similar study of machine learning and 15.085 or 15.077 or similar study of statistics
    • Instructor: Dr. Alfred Z. Spector, Visiting Scholar (
    • Schedule: MW2:30-4, room 36-153
    • Satisfies: EECS elective


    Comprehensively presents the breadth of considerations needed to apply data science (which includes AI) successfully. Students will learn the landscape of challenges, a unique rubric for systematically evaluating them, and then see the rubric’s application to a variety of case studies. Through a combination of readings including the 2022 book, (Data Science in Context, Foundations, Challenges, and Opportunities), lectures, and in-class discussions, students will delve deeply into seven sets of implementation- and requirements-oriented challenges: from data gathering to meeting ethical, legal, and societal needs. Students will write a short (5-10 pages but carefully crafted) paper individually or in groups of two undertaking a careful analysis of a complex application of data science/ML, aiming at post-class publication on a web-site.  The instructor will advise the students on their projects during small, custom-scheduled recitation sections.  This class will provide students with additional skills needed to perform/lead successful data science/ML efforts (as data scientists, engineers, or product managers), and it will provide better understanding of future opportunities in research, business, and public policy.  Enrollment is limited and class participation required.

    6.S964 Seminar in Computational Earth Science (meets with 1.S977, 12.S596)
    • First half term subject
    • Level: G
    • Pass/Fail
    • Units: 2-0-4
    • Prereqs: No formal prerequisites, just sufficient maturity to learn the relevant material as one goes.
    • Instructor: Professor Aleksander Madry (
    • Schedule: M1-3, room 54-517
    • Satisfies: none


    Introduces students to a sampling of current research into processes that affect the Earth and its habitability using innovative computational or inference methods, under the broad theme of ‘Health of the Planet’. For example, students may read recent papers in the areas of climate, the environment, and natural hazards. The course will provide opportunities to practice communication skills via presentations and group discussions. Though not formally part of the course, there will be opportunities for students to participate in discussions with the author of the manuscripts as part of group or individual meetings.

    6.S966 Symmetry and its Application to Machine Learning and Scientific Computing; meets with 8.S301
    • Level: G
    • Units: 3-0-9
    • Prereqs: 18.06 or 18.061, 6.100A, 6.1210
    • Instructor:  Professor Tess Smidt, (
    • Schedule: MW2:30-4, room 56-154
    • Satisfies: AAGS; Concentration in AI or Numerical Methods or Applied Physics; 6-4 grad_AUS


    Introduces the use of group representation theory to construct symmetry-preserving algorithms for machine learning. Emphases the connection between topics in math and physics and machine learning. Students will implement core mathematical concepts in code to build algorithms that can operate on graphs, geometry, scientific data, and other structured data to preserve the symmetries of these domains. Topics covered include: Euclidean and permutation groups, group representations: regular, reducible, and irreducible, tensor products, statistics and sampling of group representation vector spaces, and symmetry-breaking mechanisms.

    6.S978 Tissue vs. Silicon in Machine Learning
    • Level: G
    • Units: 3-0-9
    • Prereqs:
    • Instructor: Professor Nir Shavit (
    • Schedule: W11-2, room 4-153
    • Satisfies: AAGS, Concentration in Artificial Intelligence


    This course will examine how biological neural circuits and brain function can affect the design of machine learning hardware and software, and vice versa. We will build a better understanding of how similar and different the computational approaches of the two are, and what can be deduced from one area about the other. Examples will be biological constructs such as biological neurons, cortical columns, connectomes, associative memory, and natural processes like pruning, versus artificial neural network hardware and software designs. We will look at plausible alternative learning mechanisms to backpropagation such as feedback alignment,  predictive coding, and forward-forward and try to better understand state of the art machine learning optimization techniques such as sparsification and quantization.

    6.S983 Secure Hardware Design (was 6.888)
    • Level: G
    • Units: 3-0-9
    • Prereqs: 6.1910
    • Instructor: Professor Mengjia Yan (
    • Schedule:  MW1-2:30, room 36-112
    • Satisfies: AAGS, grad_AUS2, Concentration in Computer Systems; Tracks: EE, CS, Architecture

    More information can be found at


    The course aims to introduce hardware system design with security as the primary goal. Topics include micro-architecture side channels, speculative execution attacks and defenses, enclave system design, architecture support for memory safety, RowHammer attacks, attacks on GPU and accelerators, physical side channel attacks and defenses, etc. Students are required to complete 5 lab assignments or have the option to substitute the labs with an open-ended design project.

    6.S984 Datacenter Computing
    • Level: G
    • Units: 3-0-9
    • Prereqs: 6.1910 and 6.1800
    • Instructor: Professor Christina Delimitrou (
    • Schedule: TR1-2:30, room 24-121
    • Satisfies: II, AAGS, Concentration in Computer Systems; Tracks: EE, CS, Architecture


    Warehouse-scale datacenters host a wide range of online services, includingsocial networks, web search, video streaming, machine learning, and serverless workloads. In this course, we will study the end-to-end stack of modern datacenters, from hardware and OS all the way to resource managers and programming frameworks. We will also explore cross-cutting issues, such as total cost of ownership, service level objectives, availability, and reliability. The course is a combination of lectures and paper readings. Students will read up to two papers per topic and submit brief summaries. During class meetings, we will start with a student presentation of the papers followed by an in-class discussion. The main deliverable for the course is a semester-long group project which should address an open research problem in modern cloud environments (project suggestions will be provided by the instructor, but students are also welcome to propose their own). 

    6.S985 Artificial Intelligence for Business (meets with 15.563)
    • Level: G
    • Units: 3-0-9
    • Prereqs: none
    • Instructor: Professor Manish Raghavan (
    • Schedule: TR2:30-4, room E51-345
    • Satisfies: none


    Explores how to design and evaluate products and policy based on artificial intelligence. Provides a functional (as opposed to mechanistic) understanding of the emerging technologies underlying AI. Presents AI’s opportunities and risks and how to create conditions under which its deployment can succeed. No technical background required.

    6.S986 Large Language Models and Beyond
    • Level: G
    • Units: 3-0-9
    • Prereqs:  6.8610/6.8611, 6.3900, 6.7900
    • Instructor: Professor Yoon Kim (
    • Schedule: W11-1, room 4-145
    • Satisfies:  AAGS, Concentration in AI


    The field of natural language processing has recently made remarkable progress through large language models trained at scale on broad data. This seminar will explore various issues and questions surrounding these systems, including: applications (in NLP and other domains), emergent capabilities, efficient training & deployment, philosophical and ethical implications, and more.

    6.S987 Physics and Engineering of Superconducting Qubits (meets with 8.582)
    • Level: G
    • Units: 3-0-9
    • Prereqs: 6.728 or 8.06 or equivalent
    • Instructor: Professors William Oliver (, Kevin O’Brien (
    • Schedule: MW 2:30-4 room 26-328
    • Satisfies: Concentration in Applied Physics


    This course introduces the physics and engineering of superconducting qubits for quantum information processing for graduate and upper-level undergraduate students. Topics will include (1) an introduction to superconductivity and Hamiltonian engineering; (2) superconducting qubits, cavities, and microwave cavity quantum electrodynamics; (3) the theory and microwave engineering of qubit control and measurement; (4) noise, decoherence, dynamical error mitigation; (5) microwave photons, squeezing, and quantum-limited amplification; (6) survey of other solid-state qubit modalities, including semiconductor quantum dots and majorana zero modes; and (7) experimental fault tolerance and quantum error detection. The course will include both classroom lectures, tutorials, homework sets, and hands-on lab practicum with superconducting qubits.

    6.S988 Mathematical Statistics: A Non-Asymptotic Approach (meets with 18.656J, IDS.160, 9.521)
    • Level: G
    • Units: 3-0-9
    • Prereqs: 6.7700 and 18.06 and 18.6501, or permission on instructor
    • Instructor:  Professors Martin Wainwright EECS (, Philippe Rigollet Math, (, Sasha Rakhlin, BCS, IDSS (
    • Schedule: TR1-2:30, room 32-124
    • Satisfies: AAGS, Concentration in AI

    Description Introduces students to modern non-asymptotic statistical analysis. Topics include high-dimensional models, nonparametric regression, covariance estimation, principal component analysis, oracle inequalities, prediction and margin analysis for classification. Develops a rigorous probabilistic toolkit, including tail bounds and a basic theory of empirical processes.