The Common Ground for Computing Education is a cross-cutting initiative spanning all five Schools at MIT to bring together multi-department teaching to develop classes and curricula that blend computing with other disciplines. Its focus is on broadening computing education by supporting collaborations between departments and programs. The core objectives of these collaborations are to address the need for computing education across many disciplines—not only as a tool for one’s research, but conceptually—and to educate “computing bilinguals,” students who are fluent in both the “language” of computing and that of their discipline. Learn more about the Common Ground.

Common Ground provides limited seed funding to assist in the design, development, and staffing of new, broadly-applicable computing subjects and revision of existing subjects to meet these criteria. The courses should involve multi-department collaborations to develop computing classes useful across a range of areas and should support the educational mission of the individual departments. Not all computing classes at MIT will fit this model; for example, individual departments already provide discipline-specific computing education that is top-notch. Common Ground looks explicitly to facilitate those opportunities in which two or more departments would benefit from coordinated teaching.

The Common Ground for Computing Education is overseen by the Common Ground Standing Committee, a large group of faculty experts in various computing areas, from departments in each of MIT’s five Schools. Members are organized into subcommittees representing three areas: Fundamentals of Computational Science and Engineering, Fundamentals of Programming/Computational Thinking, and Machine Learning, Data Science, and Algorithms. In 2020-21 the subcommittees, with extensive departmental input, framed prototypes for what Common Ground subjects would look like in each area.

Focus areas are intentionally broad. The Common Ground is new, and it is expected that foci and their definitions will change with time. Pilot subjects do not need to fit neatly within any of the present areas. Instructors are encouraged to be creative and think about what would best meet the needs of their majors. The definitions and examples below provide context to help you think about developing any Common Ground pilot, regardless of its computing focus. Anyone considering submitting a proposal is encouraged to reach out to the focus area co-chairs, while in the formation phase, to discuss ideas and for help identifying potential co-instructors and partnering departments.

Fundamentals of Computational Science and Engineering
The field of computational science and engineering (CSE) is devoted to the development and use of computational methods for understanding the world around us; for discovery and innovation in all branches of science, engineering, and technology; and for the support of decision-making across a spectrum of societally-important issues. Learning objectives for Common Ground CSE subjects include (1) understanding a set of cross-cutting computational methods and (2) applying those methods in multiple disciplinary contexts. The computational emphasis is expected to be on concepts in numerical methods; probabilistic, statistical and stochastic methods; data analysis and visualization; and/or programming, algorithms, and software engineering. Common Ground CSE subjects will include significant computation typically either by programming CSE methods, applying CSE methods, or both.
Additional details and examples
Co-chairs: David Darmofal, Aeronautics and Astronautics (darmofal@mit.edu), and Troy Van Voorhis, Chemistry (tvan@mit.edu)

Fundamentals of Programming/Computational Thinking
Computational thinking consists of the skills and modes of thinking involved in formulating a problem and expressing its solution in such a way that a computer can effectively carry out that solution. A computational thinking course should cover many of the following learning objectives: (1) learning the fundamental constructs of computer programming, such as iteration and recursion, basic data structures, function and type definition; (2) managing complexity with good design, such as abstraction mechanisms and modularity; (3) developing skills in a modern programming language; (4) understanding and using algorithms, as general-purpose approaches for solving computational problems; (5) communicating a program and its results, whether through clear code, effective data visualizations, or interactive user interfaces; (6) understanding and implementing computational models of physical or biological or social systems; (7) expressing creativity using programs. This area includes not only introductory courses that develop initial understanding and application of these ideas, but also advanced courses, experiential learning, and capstones that might ask students to adapt or invent new approaches for novel problems.
Additional details and examples
Co-chairs: Eran Egozy, Music and Theater Arts (egozy@mit.edu), and Rob Miller, Electrical Engineering and Computer Science (rcm@mit.edu)

Machine Learning, Data Science, and Algorithms
Machine learning and data science are about designing algorithms that can automatically extract structure from data and use data to find better solutions to tasks. Many disciplines are undergoing important shifts whereby perspectives from machine learning and data science can be used to rethink how to solve some of the basic problems. Accordingly, classes in this area will have a range of styles and focuses. A course should generally cover multiple aspects of the pipeline from data to decisions, such as (1) exploratory data analyses to understand data’s limitations and biases; (2) translating the problem into a form amenable to computation — e.g., choosing an objective, positing a generative model, or making causal assumptions; (3) methods for finding a solution — e.g., designing and implementing algorithms to fit a model to data; (4) evaluating the performance, methods for understanding and interpreting the solution, and communicating the results to decision makers. An example of an existing course in this area is ‘Modeling with Machine Learning: From Algorithms to Applications’ (6.402) and its accompanying disciplinary modules, such as ‘Physical Systems Modeling and Design Using Machine Learning’ (1.024). Examples of desired new common ground courses in this area include undergraduate-level causal inference, optimization, data visualization with communication, and computing with big data.
Co-chairs: Ankur Moitra, Mathematics (moitra@mit.edu), and David Sontag, Electrical Engineering and Computer Science (dsontag@mit.edu)


Common Ground subjects:

  • Have core computational content that is broadly applicable, cross-fertilized across disciplines, and blended with discipline-specific material. The computing content and discipline-specific content should be combined conceptually, enabling students to frame disciplinary problems using a richly computational approach.
  • Involve collaboration by two or more departments in the form of co-development and teaching or as part of a co-requisite structure developed and staffed by collaborating departments.
  • Are new subjects or new versions of existing subjects revised in consonance with the criteria noted above.

See current and past pilots.


The amount and length of funding for Common Ground pilots vary depending on situations specific to each subject. Typically, support is provided during the development phase and/or the first year that a class is taught.

Examples of support provided to past Common Ground pilots include TAs and summer salaries for faculty/lecturers. Applicants are encouraged to identify additional sources of funding (departmental or other offices, such as the Office of the Vice Chancellor through d’Arbeloff and Alumni Class Funds) to round out support for the class.

Proposal Guidelines

Pilot subjects must be proposed and overseen by MIT faculty or lecturers from two or more departments to address common needs across those departments.

Faculty and lecturers should coordinate with their department heads to obtain support for the pilot and to discuss how the class, in a steady state, will add value to the department’s curriculum. A brief letter of support from the head of each collaborating department must be submitted with the proposal.

The review process is iterative. The class need not be in its final form at the time the proposal is submitted. The CGSC subcommittees will work with proposers to further develop pilots that address the needs of departments while satisfying criteria for Common Ground.

Seed fund applicants must submit a budget that includes a breakdown of costs, amount of Common Ground funding requested, and other funding sources, as well as a budget narrative explaining the costs. Those not requesting funding can omit the budget.


The Common Ground Standing Committee reviews pilot proposals twice a year.

Grant ProcessProposal DeadlineFunding Decisions By
Fall 2021November 1December 10
Spring 2022February 28April 15
Instructors who want their class published in the Subject Listing and Schedule should also adhere to the Registrar’s curriculum planning timeline to ensure a catalog proposal reaches the Committee on Curricula (undergraduate) and/or Committee on Graduate Programs (graduate) within catalog deadlines. Your departmental catalog coordinator can facilitate this for you.

How to Apply

  • Send completed proposal form and budget sheet, class syllabus (a rough draft is fine), and department head letters of support to commongroundproposals@mit.edu. Only when all these items are submitted will the application be considered complete.
  • Proposal will be reviewed by the appropriate subcommittee(s) of the Common Ground Standing Committee.

More Information