The Common Ground for Computing Education consists of broadly-applicable computing classes and curricula. Each department or program assesses whether such collaborative classes and curricula make sense for their educational objectives. The Common Ground helps identify potential collaborations, and provides support to departments and programs that find these collaborations beneficial.

New subjects in the Common Ground undergo review by the Common Ground Standing Committee. If you have ideas for a new class, please read about the Call for Proposals for Common Ground Subjects or email

Jump to subject listing:

Introduction to Computational Science and Engineering (16.0002/18.0002)

Offered: Fall 2020 and 2021, Spring 2021 (second half of term)
6 units, Undergraduate
Prerequisite: 6.0001
Instructors: David Darmofal (AeroAstro), Laurent Demanet (Math)

66% first-year students in Fall 2020
Majors from AeroAstro, ChemE, EECS, Physics

Image credit: NASA/JPL-Caltech

Follows the same pedagogy as 6.0002 (Introduction to Computational Thinking and Data Science), including Python, but is set in the context of computational science and engineering and uses applications from across science and engineering including dynamics, mechanics, robotics, heat transfer, climate science, chemistry, biology, aerospace and others.

This course provides an introduction to computational algorithms for understanding of scientific phenomena and designing of engineering systems. Topics include: computational algorithms to simulate time-dependent phenomena; optimize and control applications from science and engineering; and quantify uncertainty in problems involving randomness, including an introduction to probability and statistics.

Credit cannot also be received for 6.0002. Can be combined with 6.0001 (Introduction to Computer Science Programming in Python) for REST credit.

Linear Algebra and Optimization (18.061)

Offered: Fall 2020 and 2021
12 units, Undergraduate
Prerequisite: Calculus II
Instructors: Ankur Moitra (Math), Pablo Parrilo (EECS)

71% EECS and Math majors in Fall 2020
Other majors from AeroAstro, BE, ChemE, Economics, MechE, Physics, Sloan

Covers same fundamental concepts as 18.06 with a view toward modeling, computation, and applications. Integrates geometric, algebraic, and computational viewpoints.

Unified introduction to linear algebra and optimization, their interconnections, and applications throughout science and engineering. Topics include: vectors, matrices, eigenvalues, singular values, least-squares, convex optimization, linear/quadratic programming, gradient descent, Newton’s method. Viewpoint will emphasize conceptual, geometric, and computational aspects. Applications from many domains, including networks, signal processing, and machine learning.

Approved substitution for 18.06 for EECS and Math students.

Modeling with Machine Learning: From Algorithms to Applications

Offered: Spring 2021 and 2022
12 units, Undergraduate and Graduate
Instructors: Regina Barzilay (EECS), Tommi Jaakkola (EECS), Saurabh Amin (CEE), George Barbastathis (MechE), Conor Coley (ChemE), Ernest Fraenkel (BE), Rafael Gomez-Bombarelli (MSE), Mingda Li (NSE), Natalia Summerville (SCM)

Teaches students from a range of majors to translate a problem into a machine learning (ML) formulation and find appropriate tools for solving it. Students enroll in two 6-unit modules, run in tandem over the course of a full term—the common core, which covers ML fundamentals, and one of four discipline-specific modules that build on the core material.

Core Module

Modeling with Machine Learning: From Algorithms to Applications (6.402, 6.482 – NEW Numbers 6.C01, 6.C51)
Prerequisite: Calculus II and 6.0001
Instructors: Regina Barzilay (EECS), Tommi Jaakkola (EECS)

Focuses on modeling with machine learning methods with an eye towards applications in engineering and sciences. Students will be introduced to modern machine learning methods, from supervised to unsupervised models, with an emphasis on newer neural approaches. Develops understanding of how and why the methods work from the point of view of modeling, and when they are applicable. Using concrete examples, covers formulation of machine learning tasks, adapting and extending methods to given problems, and how the methods can and should be evaluated. Students taking graduate version complete additional assignments. Enrollment limited.

Disciplinary Modules

Machine Learning for Sustainable Systems (1.024, 1.224 – NEW Numbers 1.C01, 1.C51)
Prerequisite: (1.000 or 1.010) or permission of instructor
Instructor: Saurabh Amin (Civil and Environmental Engineering)

Emphasizes the design and operation of sustainable systems. Illustrates how to leverage heterogeneous data from urban services, cities, and the environment, and apply machine learning methods to evaluate and/or improve sustainability solutions. Provides case studies from various domains, such as transportation and urban mobility, energy and water resources, environmental monitoring, infrastructure sensing and control, climate adaptation, and disaster resilience. Projects focus on using machine learning to identify new insights or decisions that can help engineer sustainability in societal-scale systems. Students taking graduate version complete additional assignments.

Physical Systems Modeling and Design Using Machine Learning (2.161, 2.169 – NEW Numbers 2.C01, 2.C51)
Prerequisite: 2.086
Instructor: George Barbastathis (Mechanical Engineering)

Encourages open-ended exploration of the increasingly topical intersection between artificial intelligence and the physical sciences. Uses energy and information, and their respective optimality conditions, to define supervised and unsupervised learning algorithms as well as ordinary and partial differential equations. Subsequently, physical systems with complex constitutive relationships are drawn from elasticity, biophysics, fluid mechanics, hydrodynamics, acoustics, and electromagnetics to illustrate how machine learning-inspired optimization can approximate solutions to forward and inverse problems in these domains. Students taking graduate version complete additional assignments.

Machine Learning for Molecular Engineering (3.100/10.402/20.301, 3.322/10.662/20.401 – NEW Numbers 3.C01/10.C01/20.C01, 3.C51/10.C51/20.C51)
Prerequisite: Calculus II and 6.0001
Instructors: Rafael Gomez-Bombarelli (Materials Science and Engineering), Conor Coley (Chemical Engineering), Ernest Fraenkel (Biological Engineering)

Provides an introduction to the use of machine learning to solve problems arising in the science and engineering of biology, chemistry, and materials. Equips students to design and implement machine learning approaches to challenges such as analysis of omics (genomics, transcriptomics, proteomics, etc.), microscopy, spectroscopy, or crystallography data and design of new molecules and materials such as drugs, catalysts, polymer, alloys, ceramics, and proteins. Students taking graduate version complete additional assignments.

Modeling with Machine Learning for Computer Science (6.S083, 6.S976)
Prerequisite: 18.061; 6.0001; and 6.041 or 6.042
Instructors: Regina Barzilay (Electrical Engineering and Computer Science), Tommi Jaakkola (Electrical Engineering and Computer Science)

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. Students taking graduate version complete additional assignments. Enrollment may be limited.

Modeling with Machine Learning: Nuclear Science and Engineering Applications (22.042, 22.42 – NEW Numbers 22.C01, 22.C51)
Prerequisite: Calculus II and 6.0001
Instructor: Mingda Li (Nuclear Science and Engineering)

Focuses on applying various machine learning techniques to a broad range of topics which are of core value in modern nuclear science and engineering. Relevant topics include machine learning on fusion and plasma diagnosis, reactor physics and nuclear fission, nuclear materials properties, quantum engineering and nuclear materials, and nuclear security. Special components center on the additional machine learning architectures that are most relevant to a certain field, the implementation, and picking up the right problems to solve using a machine learning approach. Final project dedicated to the field-specific applications. Students taking graduate version complete additional assignments.

Machine Learning Applications for Supply Chain (SCM.S90 – NEW Number SCM.C51)
Prerequisite: SCM.254 or permission of instructor
Instructor: Natalia Summerville (Supply Chain Management)

Building upon 6.482, students will design and develop applications targeted to solve key problems in Supply Chain (SC) using state-of-art machine learning (ML) methods and algorithms. Special emphasis will be given to the selection of the appropriate ML methods for the SC problems addressed, as well as requirements for code productionalization and code efficiency, both key in real industry applications.

Programming Skills and Computational Thinking in-Context

Offered: Fall 2021, Spring 2022
18 units, Undergraduate
Teaching and development team: Analia Barrantes (ESG), Ana Bell (EECS), Leigh Royden (EAPS, ESG), Paola Rebusco (ESG)

Teaches experimental section of 6.0001 (Introduction to Computer Science and Programming in Python) in tandem with the Physics I GIR. In the fall term, one section of ES.801 (ESG version of 8.01, 12 units) is paired with one section of 6.0001 (6 units). Students in these sections will enroll in both subjects and receive separate course grades for each subject. This pilot will generate a library of problems that connect and combine basic computation in Python with basic concepts in the physics GIRs.