Subject Updates Fall 2024

    The following subjects will be offered:

    6.C40/24.C24 Ethics of Computing (NEW)


    Explores ethical questions raised by the potentially transformative power of computing technologies. Topics include: lessons from the history of transformative technologies; the status of property and privacy rights in the digital realm; effective accelerationism, AI alignment, and existential risk; algorithmic bias and algorithmic fairness; and free speech, disinformation, and polarization on online platforms.

    6.C57 (G)/6.C571 (U) Optimization Methods (previously 6.7201/6.7200)

    (Same subject as 15.C57[J], IDS.C57[J])
    (Subject meets with 6.C571[J], 15.C571[J])

    Introduction to the methods and applications of optimization. Topics include linear optimization, duality, non-linear optimization, integer optimization, and optimization under uncertainty. Instruction provided in modeling techniques to address problems arising in practice, mathematical theory to understand the structure of optimization problems, computational algorithms to solve complex optimization problems, and practical applications. Covers several examples and in-depth case studies based on real-world data to showcase impactful applications of optimization across management and engineering. Computational exercises based on the Julia-based programming language JuMP. Includes a term project. Basic competency in computational programming and linear algebra recommended. Students taking graduate version complete additional assignments.

    6.7960 Deep Learning (NEW was 6.S898)
    • Level: Graduate
    • Units: 3-0-9
    • Prereqs: 18.05 and (6.3720, 6.3900, or 6.C01)
    • Schedule: TR1-2.30 (45-230)  
    • Instructor: Prof. Phillip Isola (
    • Satisfies: AUS; 6-4 AUS; AAGS; Concentration subject in AI;

    Fundamentals of deep learning, including both theory and applications. Topics include neural net architectures (MLPs, CNNs, RNNs, graph nets, transformers), geometry and invariances in deep learning, backpropagation and automatic differentiation, learning theory and generalization in high-dimensions, and applications to computer vision, natural language processing, and robotics.

    6.S042/6.5820 Computer Networks


    Topics on the engineering and analysis of network protocols and architecture, including architectural principles for designing heterogeneous networks; transport protocols; Internet routing; router design; congestion control and network resource management; wireless networks; network security; naming; overlay and peer-to-peer networks. Readings from original research papers. Semester-long project and paper. Students taking graduate version complete different assignments.

    6.S053/6.S899 Multiphysics Systems Modeling (MSM)
    • Level:  Undergraduate/Graduate
    • Units:  2-1-9
    • Prereqs:  20.330 or 6.4810; or permission of instructor
    • Schedule:  TBD
    • Instructors:  Prof. Jongyoon Han (
    • Satisfies:  AUS


    Practices the use of modern numerical analysis tools (e.g., COMSOL) for various multiphysics systems, such as biosensors, microfluidic devices, and other systems involving multiple phenomena. Covers modeling of diffusion, reaction, convection and other transport mechanisms, as well as electromagnetic fields. Discusses both fundamental insights and practical issues and challenges in numerical modeling. No prior knowledge of modeling software is necessary. Evaluations are done by weekly modeling homework and open-ended modeling projects. No exams.

    6.S890 Topics in Multiagent Learning
    • Level:  Graduate              
    • Units:  3-0-9
    • Prereqs: 6.1220 or 6.7201, 6.1200
    • Schedule:  TR11-12:30 (3-333)
    • Instructors:  Prof. Gabriele Farina (
    • Satisfies: AUS2, II, 6-4 AUS, AAGS, 6-3 Track in Theory, Concentration subject in Theoretical CS, AI


    Presents research topics at the interface of computer science, machine learning, and game theory. Explores computational aspects of strategic behavior for decision-makers in nonstationary multiagent environments. Explores game-theoretic notions of optimality that are applicable to these settings, and how decision-makers may learn optimal strategies from repeated interaction. Presents equilibrium computation algorithms, complexity barriers for equilibria and fixed points, the theory of learning in games, and multi-agent reinforcement learning. Presents practical aspects of learning in games, including recent progress in solving Go, Poker and other large games. 

    6.S894 Accelerated Computing
    • Level: Graduate
    • Units: 0-2-10
    • Prereqs: 6.1060, 6.1910
    • Instructors: Prof. Jonathan Ragan-Kelley (
    • Schedule: TBD
    • Satisfies: AAGS,Concentration subject in Computer Systems & Graphics and HCI


    Project-based introduction to software performance engineering on specialized hardware and accelerators. Topics include fundamentals of accelerator architecture from a performance engineer’s perspective, accelerator programming models and tools, and analysis of accelerator performance.

    6.S951 Modern Mathematical Statistics
    • Level: Graduate
    • Units: 3-0-9
    • Prereqs: (6.S06 or 18.C06) and (6.3700 or 18.600) and (18.650 or 6.3720) and 18.100 or equivalent
    • Instructors:  Prof. Stephen Bates, (
    • Schedule: TR9:3-11, room 36-156
    • Satisfies: AUS; 6-4 AUS; AAGS; Concentration subjects in AI & Signal Systems


    Graduate class in mathematical statistics targeted to students interested in statistical research.   Requires previous exposure to undergraduate statistics (e.g., 18.650/6.3720), along with strong undergraduate background in linear algebra, probability, and real analysis.  Emphasis on proofs and fundamental understanding.

    6.S965 Digital Systems Laboratory II
    • Level:  Graduate
    • Units:  3-7-2
    • Prereqs:  6.2050
    • Schedule:  TBD
    • Instructors:  Joseph D. Steinmeyer (, EECS Lecturer
    • Satisfies: II, DLAB, 6-2 PLAB, AAGS


    Continuation of topics introduced in Digital Systems Laboratory (6.205). Particular focus on modern design verification practices, System Verilog, and Universal Verification Methodology (UVM) as well as designing complex digital systems in hybrid platforms such as SoC and state-of-the-art RFSoC platforms. Weekly labs and final design project with emphasis on signal processing, RF, data acquisition, and other applications.  The course will utilize a number of tools and areas of study in pursuit of our work, reflective of the hybrid modern state of the field, so usage of C, Python, shells scripts, signals and systems, communications, and RF concepts, should be expected.  

    6.S967 Computer Systems and Society (meets with 6.1850)
    • Level: Graduate
    • Units: 3-0-9
    • Prereqs: 6.1800
    • Schedule: TR11-12.30, room 34-301
    • Instructors: Dr. Katrina LaCurts, (
    • Satisfies:


    Explores the impact of computer systems on individual humans, society, and the environment. Examines large- and small-scale power structures that stem from low-level technical design decisions, the consequences of those structures on society, and how they can limit or provide access to certain technologies. Students learn to assess design decisions within an ethical framework and consider the impact of their decisions on non-users. Case studies of working systems and readings from the current literature provide comparisons and contrasts. Possible topics include the implications of hierarchical designs (e.g., DNS) for scale; how layered models influence what parts of a network have the power to take certain actions; and the environmental impact of proof-of-work-based systems such as Bitcoin. . Students taking graduate version complete different assignments.

    6.S974 Fixed Parameter and Fine-grained Complexity (meets with 6.1420)
    • Level:  Graduate
    • Units:  3-0-9
    • Prereqs:  6.1200, 6.1210, and (6.1220, 6.1400, or 18.404)
    • Schedule: TR11-12.30 (34-304)
    • Instructors:   Prof. Ryan Williams ( and Prof. Virginia Williams (
    • Satisfies:  AUS2, II, AAGS, grad_AUS2, Concentration 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[1], W[2], 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
    • Level: Graduate
    • Units: 3-0-9
    • Prereqs: Mathematical maturity, especially with respect to linear algebra and probability
    • Schedule:  TR9:30-11, room 3-442
    • Instructor: Prof. Sam Hopkins (
    • 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).