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.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: Course 6 Grad version qualifies as an AI concentration subject.

    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.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.881 Machine Learning Based Therapeutic Design (meets with 20.S948)

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


    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.888 Secure Hardware Design

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


    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 a lab assignment to design and implement a cache-based covert channel attack, and an open-ended design project.