2026 IAP Classes

  • Course Description

    Parallel computing has been an important research topic in science and technology for decades. Thanks to the fast-developing field of deep learning in recent years, parallel computing is being used for more broad interests. In this class, concepts of parallel computing will be introduced. Attendees will learn not only the basics of high-performance computing (HPC) clusters and GPU accelerators but also programming skills with OpenMP, MPI, CUDA, Pytorch, and Deepspeed. Examples and hands-on exercises will be provided in several programming languages including C, Fortran, and Python. These parallel programming skill sets are useful for researchers to accelerate their computer programs and helpful for students to be prepared for a career in information technology.

    Note: This is a non-credit class.

    Prerequisites/Requirements

    • Participants need prior minor programming experience in one of these languages: C, Fortran, Python, or Julia.
    • Participants will need to bring a laptop (either Mac or PC).
    • Participants must be current MIT students (undergraduate or graduate), post-doctoral associates, or researchers.

    Learning Objectives

    • Concepts of parallel computing and knowledge of accelerating computer programs on an HPC cluster
    • Parallel programming skills for CPU (OpenMP, MPI)
    • Parallel programming skills for GPU (CUDA, Pytorch, Deepspeed)

    Schedule and Agenda

    Note: The class agendas for both days are independent, so participants can choose to attend one or both days.

    Day 1 (Tuesday, January 13) - 10AM - 4PM (with a one hour break at 12PM) 

    • Introduction to basic concepts
    • OpenMP
    • MPI

    Day 2 (Thursday, January 15) - 10AM - 4PM (with a one hour break at 12PM) 

    • GPU basics
    • CUDA programming
    • Deep learning on a GPU
    • Distributed deep learning

    Location

    This class will be held in-person on the MIT campus. The exact location will be announced to registrants before the class date.

    How to Sign Up

    Email the instructor, Shaohao Chen, for the registration link. You must be a current MIT student (undergraduate or graduate), post-doctoral associate, or researcher to take the class.

    Space in this class is limited. You must complete the registration form before 5PM ET on Monday, January 12, 2025; however, registration will close earlier if the class reaches capacity before that date.

  • Practical Computational Thinking is an IAP Course Series that offered in collaboration with the MIT Libraries, CSAIL, ORCD, and the Schwarzman College of Computing. This series aims to teach hands-on computational skills that you can use in your research and coursework at MIT. The courses are:

    1. Practical Software Carpentry
    2. Practical Programming with Data
    3. Practical High Performance Computing

    See below on this page for full descriptions and how to sign up for Practical Programming with Data and Practical High Performance Computing.

    Practical Software Carpentries aims to help researchers get their work done in less time and with less pain by teaching them basic research computing skills. These hands-on introductory workshops will cover basic concepts and tools. Participants will be encouraged to help one another and to apply what they have learned to their own research problems. There are three sessions:

    1. Introduction to the Unix Shell
    2. Introduction to Git/GitHub
    3. Introduction to Python

    Click on any of the links above to sign up.

  • Course Description

    As part of the Practical Computational Thinking IAP course series, the focus of this workshop is to introduce the role of High Performance Computing (HPC, aka supercomputing) in research. We will discuss the fields where HPC is used and provide concrete examples where we describe the strategies used to scale applications to hundreds of processors. Students will learn when to scale from their laptops to HPC, what challenges that introduces, and how to address those challenges with efficient HPC workflows. Engaging will be used for hands-on examples using C/C++, Julia, Matlab, and/or Python. We will also demonstrate applications using other computing resources on campus, such as the Satori and SuperCloud clusters. Students should bring an existing research problem/application that they would like to scale as a project.

    This is a blended course with asynchronous and live components. Much of the lecture is available before class in pre-recorded short videos and class time will be spent on hands-on activities and student research project work.

    Prerequisites/Requirements

    Working knowledge of one programming/scripting language. Laptop for hands-on exercises. Participants will get further instruction on how to access Engaging once registered for the class. Students should bring an existing research problem/application that they would like to scale as a project.

    Learning Objectives

    • Where is Supercomputing used? When? Why?
    • Know the differences between desktop/laptop and HPC system/supercomputers.
    • Understand how to identify HPC Workflows, plan for how to scale up, and measure performance.
    • Understand the basics of how to build a HPC Workflow for Engaging.
    • Know how to run a HPC Workflow on Engaging.

    Schedule and Agenda

    Dates: January 20, 22, 27, 29 (Tuesdays and Thursdays)

    Time: 1-4pm (lunch available 12-1pm)

    The class session topics are as follows:

    • Day 1: Introduction to Supercomputing Workflows and Systems
    • Day 2: Serial Optimization and Parallel Speedup
    • Day 3: Building and Running Parallel Workflows
    • Day 4: Distributed Computing

    While the course was designed as a series, each session could be taken as a stand-alone module.

    How to Sign Up

    Email the instructor, Lauren Milechin, for the registration link. You must be a current MIT student (undergraduate or graduate), post-doctoral associate, or researcher to take the class.

    Space in this class is limited. You must complete the registration form before 5PM ET on Monday, January 12, 2026; however, registration will close earlier if the class reaches capacity before that date.

  • Course Description

    AI this, AI that - but how can you use AI to manage your own data as a researcher? Join us this IAP, learn how to set up a RAG system and build a chat interface over your data! From how to structure your experimental results for efficient access, to how to preprocess academic papers for retrieval by LLMs, we will demystify all the steps along the way. Introductory (very basic, really) python knowledge assumed. This class is part of the Practical Computational Thinking IAP series, taught by students from the Data Systems Group at CSAIL and ORCD.

    Prerequisites/Requirements

    Introductory python knowledge assumed. Laptop for hands-on exercises.

    Schedule and Agenda

    Dates: January 26-29

    Time: 10am-12pm (lunch available 12-1pm)

    The class session topics are as follows:

    • Day 1: Introduction and Dealing with Structured Data
    • Day 2: Dealing with Unstructured Data
    • Day 3: LLMs and RAG
    • Day 4: Choose your Own Adventure: Set up a RAG system on your own data

    How to Sign Up

    Email the instructor, Sam Corey, for the registration link. You must be a current MIT student (undergraduate or graduate), post-doctoral associate, or researcher to take the class.

    Space in this class is limited. You must complete the registration form before 5PM ET on Monday, January 19, 2026; however, registration will close earlier if the class reaches capacity before that date.

  • Curious about how supercomputers work?

    In this course participants will build a small supercomputing cluster using Rapsberry Pi components. Participants will

    • Put together a Pi cluster
    • install a supercomputing software stack
    • learn to use cluster management tools
    • install scientific application and data analysis application software
    • run scaled down versions of common supercomputing applications on the cluster.

    This class is full for this IAP, but may be offered again this year. If you are interested send an email to orcd-help@mit.edu and we can reach out if we run the class again.