Subject Updates Spring 2022

    These are the subject updates from the spring semester of 2022.

    6.S061 Introduction to Computer Science and Programming for Non-Programmers

    Level: U
    Prereqs: None
    Units: 3-0-6
    Instructors: Ana Bell (; Professors John Guttag (, Fredo Durand (
    Schedule: MW3-4:30, room 32-141
    Satisfies: substitute for 6.0001


    Introduction to computer science and programming for students with no programming experience. The course is similar to 6.0001, but it runs over an entire semester. Students develop skills to program and use computational techniques to solve problems. Topics include the notion of computation, Python, simple algorithms and data structures, testing and debugging, and algorithmic complexity.

    6.S063 Design for the Web: Languages and User Interfaces

    Level: U
    Units: 3-2-7
    Prereqs:  6.009 co-req
    Instructors:  Professor David Karger (, Lea Verou (
    Schedule: MW2:30-4, room 3-333, Lab: F2:30-4, room 3-370
    Satisfies: EECS

    You can find more information at:


    A first course in designing and implementing good user interfaces focused on web applications.  Principles and methods of Human-Computer Interaction including human capabilities, design principles, prototyping techniques, and evaluation techniques.  The programming languages of the web — HTML, CSS, and Javascript — their different roles, and the rationales for their widely varying designs.

    6.S076/6.883 Computational Molecular Neuroscience (meets with 9.S99, 9.S913)

    Level: U 6.S076, G 6.883
    Units: 3-1-8
    Prerequisites: 7.01 or equivalent; AND 9.01 or equivalent; AND 6.0001 or equivalent. Recommended: 9.09; 6.047; 6.036.
    Instructors:  Professors Manolis Kellis ( and Myriam Heiman (
    Schedule:  TR12:30-2, room 32-141
    Satisfies: AUS and II (6.S076) AAGS AI Concentration (6.883)


    Introduces the basic computational and technological foundations of molecular neuroscience. Lectures introduce foundational concepts and research frontiers, drawing from classic and recent landmark literature, state-of-the-art advances, and outlook. Bi-weekly labs provide practical hands-on introduction to foundational techniques and enabling datasets. A term team project enables students to dive deeper into one or more topics and carry out original research with regular milestones including project proposal, end-to-end pipeline, midcourse report, final written report, and final oral presentation. Topics include: neuroscience foundations, brain circuitry, connectomics, regional specialization, Bayesian inference, dimensionality reduction, regression, estimation, machine learning, deep learning architectures, brain computation, neurotransmission, circuitry tracing, developmental lineage tracing, imaging technologies, RNA-seq, ATAC-seq, single-cell technologies, multiomics, spatial transcriptomics, in-situ sequencing, cell type annotation, marker detection, differentially-expressed genes, pseudotime and trajectory analysis, hierarchical, pathway, and network analysis, representation learning, embeddings, image analysis, regulatory genomics, enhancer-gene linking, development, aging, sex differences, psychiatric disorders, neurodegeneration, somatic mosaicism, brain disorders.



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

    Level: U
    Units: 2-2-2
    Prerequisites:  6.0001
    Instructors:  Joseph Steinmeyer (; Silvina Hanono Wachman (
    Schedule:  TBD; 2nd half-term subject


    Introduction to C and assembly language for students coming from a Python background (6.0001). In studying the C language, the class focuses 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. The course also studies assembly language to facilitate a firm understanding of how high level languages are translated to machine level instructions. The class features a weekly (2.5 hour) lab component using a lab kit including a RISC-V microcontroller and peripheral devices such as displays, switches, microphones, and transistors. Weekly 1.5 hour lecture, 2.5 hour lab, and one final exam.


    6.S079 Software Systems for Data Science

    Level: U
    Units: 3-0-9
    Prereqs: 6.0001/6.0002
    Instructors: Professors Sam Madden ( and Tim Kraska (
    Schedule: MW2:30-4, room 37-212
    Satisfies: EECS

    More information can be found at


    This class will survey techniques and systems for ingesting, efficiently processing, analyzing, and visualizing large data sets. Topics will include data cleaning, data integration, scalable systems (relational databases, NoSQL, Spark, etc.), analytics (data cubes, scalable statistics and machine learning), fundamental statistics and machine learning and scalable visualization of large data sets. The goal of the class is to gain working experience along with in-depth discussions of the topics covered. Students should have a background in programming and algorithms. There will be a semester-long project and paper, and hands-on labs designed to give experience with state of the are data processing tools.

    6.S083/6.S976 Modeling with Machine Learning for Computer Science CANCELED ST22


    Level: U/G
    Units: 3-0-3
    Prereqs: 6.S084/18.061 or 18.06 or equivalent; 6.042 or 6.041 or equivalent; 6.0001 or equivalent; Coreq: 6.C01/6.C51 (formerly 6.402/6.482)
    Instructors:  Professors Tommi Jaakkola ( and Regina Barzilay (
    Schedule: Friday 11am, Room 32-155
    Satisfies:  6.036 alternative; AI concentration, AAGS;  grad AUS2


    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.S194 Electronics First

    Level: U
    Prerequisites: Permission of Instructor
    Units: 4-4-4
    Instructor:  Professor Steven Leeb,
    Schedule: Lectures: TR3-5, room 36-153; Labs: Evenings, time arranged, room 38-501 ESD


    Hands-on introduction to the design and construction of electronic circuits for information processing and control. Laboratory exercises include activities like the construction of oscillators for a simple musical instrument, a laser audio communicator, a countdown timer, an audio amplifier, and a feedback-controlled solid-state lighting system for daylight energy conservation, among other exercises. Activities include an introduction to basic electrical components including resistors, capacitors, and inductors, and to basic assembly techniques for electronics including breadboarding and soldering, as well as an introduction to programmable system-on-chip electronics and the C programming language.


    6.S967 Online Decision Making: Optimization, Control and Games

    Level: G
    Units: 3-0-9
    Prerequisites: 6.0001 and (18.06 or 18.061) and (6.041 or 6.008 or 18.05 or 18.600)
    Instructors: Professors Costis Daskalakis (, Aleksander Madry (, Pablo Parrilo (
    Schedule:  TR1-2:30, room 4-270
    Satisfies: AAGS AI Concentration, AUS


    This class will present the optimization, control-theoretic, learning-theoretic and game-theoretic fundamentals for making decisions in stochastic, adversarial, strategic, and dynamic environments with state and feedback loops.

    The class will expose students to fundamental models and methods, and present their beautiful connections and applications to fields of mathematics, engineering, optimization, and learning.

    The course material will cover gradient descent, regret minimization, Markov decision processes, reinforcement learning and control, and game-theoretic fundamentals such as the minimax theorem, Nash’s theorem, extensive form games, and stochastic games.


    6.S975 Global Business of Quantum Computing (meets with 15.S20)

    Level: G
    First Half-term subject
    Units: 2-0-1
    Instructor: Prof. William Oliver, (
    Schedule: W4-5:30, room E62-250
    Satisfies: none


    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.S978 Data Science: The Breadth of Challenges

    Level: G
    Units: 2-0-4
    Prereqs: 6.034 or 6.036 or 15.085 or 15.077 or 15.286 or 15.386 or permission of instructor
    Instructor: Dr. Alfred Z. Spector, Visiting Scholar
    Schedule: Lectures M3-5, room 36-153
    Satisfies: none


    Comprehensively presents the breadth of considerations needed to apply data science 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 lectures, student presentations, 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 (in groups of two) will have the opportunity to zoom in on specific problem areas via oral presentations and one short and one long paper. While the topic of this course is broadly data science, much of the class will discuss applications of machine learning/AI. Students will develop skills to lead data science efforts to successful completion and will better understand future research/commercial opportunities and public policy trade-offs.



    6.S979 Multistakeholder Negotiation for Technical Experts

    Level: G
    Units: 2-0-4
    Prerequisites: none
    Instructor:  Samuel Dinnar, Lecturer, Gordon Engineering Leadership Program (
    Schedule:  T2-4, room 33-116


    Engineering requires negotiating with many stakeholders: internally and externally. All technical innovators, leaders, and members of diverse teams, need to align efforts and overcome differences. Learn experientially the strategies and proven techniques that improve communications, relationships, and decision-making in groups – using simulations, role-plays, case studies and video analysis. Targeted to graduate students in engineering and joint engineering-business program such as SDM, IDM, and LGO. No prior education or experience in negotiation is required. The class counts toward satisfying the requirements for the Graduate Certificate in Technical Leadership.

    6.260 Topics in Communication and Networks

    Level:  G
    Units: 3-0-6
    Prerequisites: see below
    Instructor:  Prof. Muriel Medard (
    Schedule: Lectures Wednesdays 1-4, room 36-112
    Satisfies: AAGS Communication Concentration


    This course will be a reading course on recent topics in communications and networks. The course will have assignment of recent papers, decided jointly by the group. Grade will be based on the presentation of these papers and in-class discussion. Where possible, authors of the papers selected will be invited to participate in the discussion.

    There is no formal prerequisite to the class, but students will be expected to have some background in communications, or networking, or signal processing.

    6.881 (NOW 6.S977) Machine Learning Based Therapeutic Design (meets with 20.S948)

    Level: G
    Units: 3-0-3
    Prerequisites: TBA
    Instructor: Prof. David Gifford (
    Schedule: TR11-12:30, room 32-155
    Satisfies: AI concentration subject, AAGS


    Advanced seminar on computational methods in the design and analysis of human therapeutics, including vaccines,  small molecules, biologics, cell based therapies, and synthetic biology approaches. Lectures will present essential computational methods on vaccine design, molecular design and optimization drawing upon recent results in machine learning. Classes will include presentations by students on recent research results related to the computational design of therapeutics and efficacy. Topics include protein design, antibody optimization, vaccine design, small molecule design and characterization, and the engineering of viruses and cell lines for therapeutic effect. Experts from industry and faculty will present their views of the promise of computational approaches, what is working, and what is needed.

    6.882 Ethical Machine Learning In Human Deployments

    Level: G
    Units: 3-0-9
    Prerequisites: 6.867
    Instructor:  Professor Marzyeh Ghassemi (
    Schedule:  F10-1, room 56-114
    Satisfies: AI Concentration


    This course focuses on the human-facing considerations in the pipeline of machine learning (ML) development in human-facing settings like healthcare, employment, and education. Students will learn about the issues involved in ethical machine learning, including framing ethics of ML in healthcare through the lens of social justice. Students will read papers related to ongoing efforts and challenges in ethical ML, ranging from problem selection to post-deployment considerations. Guest lectures will be given by experts in data access, ethics, fairness, privacy and deployments, and the course will focus around a central project that students will use to explore how machine learning can potentially be brought into human-facing deployments ethically.


    6.884 Doing Things with Words

    Level: G
    Units: 2-0-10
    Prerequisites: 6.864 or permission of instructor
    Instructor:  Professor Jacob Andreas (
    Schedule: Tuesdays 11-1, room 24-121
    Satisfies: AI Concentration


    Seminar on problems at the intersection of language understanding and decision-making. Topics to be covered include instruction following, grounded language generation, emergent communication, task-oriented dialog, and natural language supervision for policy and reward learning.

    6.885 Critical Perspectives on Security and Privacy Architectures

    Level: G
    Units 2-0-10
    Prereqs: 6.805 or 6.033, or permission of instructors
    Instructors;  Daniel Weitzner, IPRI/CSAIL, ( and Prof. Gerald Sussman (
    Schedule:  Thursdays 2-4, room 24-112
    Satisfies: AAGS in Computer Systems concentration


    Explore technical approaches to addressing privacy and security requirements with the goal of
    critically assessing how these systems meet or fall short of social and public policy goals. Study
    foundational privacy and cybersecurity legal frameworks as well as relevant concepts in
    information economics to understand incentives driving technical design. Technical readings
    include leading papers in anonymity, public ledgers, privacy enhancing technologies, policy
    aware systems, cryptographic computing and differential privacy. Several invited speakers from
    industry, government and civil society organizations will offer guest lectures.

    6.888 Secure Hardware Design

    Level: G
    Units: 3-0-9
    Prerequisites: 6.004 or equivalent
    Instructor: Professor Mengjia Yan, (
    Schedule: MW1-2:30, room 56-154
    Satisfies: Computer Systems Concentration; AAGS


    The course aims to provide an introduction to 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.