# Common Ground Subjects

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 reach out to common-ground@mit.edu.

Jump to subject listing:

- Introduction to Computational Science and Engineering
- Linear Algebra and Optimization
- Modeling with Machine Learning: From Algorithms to Applications
- Programming Skills and Computational Thinking in-Context

## 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

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)**

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)**

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)**

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)**

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: Nuclear Science and Engineering Applications (22.042, 22.42)**

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)**

Offered second half of term

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.