Here are the course offerings available through EECS during IAP 2022 for credit.

    6.147 The Battlecode Programming Competition (U)

    Prereqs: None
    Units: 2-0-4
    Schedule: Monday -Friday; January 3 – January 14; 7-10pm, room 32-123
    Instructor:  Jerry Mao,
    Faculty Advisor:  Prof. Pulkit Agrawal


    Artificial Intelligence programming contest in Java. Student teams program virtual robots to play Battlecode, a real-time strategy game. Competition culminates in a live BattleCode tournament. Assumes basic knowledge of programming.

    6.148 Web Lab: A Web Programming Class and Competition (U)

    Prereqs: none
    Units: 1-0-5
    Schedule: Monday- Friday; January 3 – January 14; 11-3pm, room 10-250
    Instructor: Claire Cheng and Daniel Sun
    Faculty Advisor: Arvind Satyanarayan


    Students form teams of 1-3 people and learn how to build a functional and user-friendly website. Lectures and workshops teach everything you need to make a complete web application. Topics include version control, HTML, CSS, JavaScript, ReactJS, and nodejs. All teams are eligible to enter a competition where sites will be judged by industry experts. Beginners and experienced web programmers welcome, but some previous programming experience is recommended.  Students must register at Registering via WebSIS does NOT automatically put you on the official class mailing list.


    6.914 (16.669) Project Engineering (U)

    Prereqs: (6.902 and (6.911 or 6.912)) or permission of instructor
    Units: 4-0-0
    Schedule: Thursday-Sunday, Camp Cody, NH
    Instructors: O. de Weck, J. Feiler, L. McGonagle, R. Rahaman


    Students attend and participate in a four-day off-site workshop covering an introduction to basic principles, methods, and tools for project management in a realistic context. In teams, students create a plan for a project of their choice in one of several areas, including: aircraft modification, factory automation, flood prevention engineering, solar farm engineering, small-business digital transformation/modernization, and disaster response, among others. Develops skills applicable to the planning and management of complex engineering projects. Topics include cost-benefit analysis, resource and cost estimation, and project control and delivery which are practiced during an experiential, team-based activity. Case studies highlight projects in both hardware/software and consumer packaged goods. Preference to students in the Bernard M. Gordon-MIT Engineering Leadership Program.

    6.S086 Introduction to Prosodic Labeling with ToBII (U)

    Prereqs: None
    Units: 1-0-5
    Schedule: Tuesday & Thursday, January 3 – January 27, 12-2pm, room 36-112
    Instructors: Dr. Stefanie Shattuck-Hufnagel,;
    Drs. Alenja Brugos and Nanette Veilleux, Simmons University, Boston.


    This course presents a tutorial on the ToBI (Tones and Break Indices) system for labelling certain aspects of prosody in Mainstream American English (MAE-ToBI). The course is appropriate for undergrad or grad students with background in linguistics (phonology or phonetics), cognitive psychology (psycholinguistics), speech acoustics or music, who wish to learn about the prosody of speech, i.e. the intonation, rhythm, grouping and prominence patterns of spoken utterances—prosodic differences that signal meaning, and their phonetic implementation. If time permits, there will be additional discussion of different systems for transcribing prosody, and its individual acoustic cues.

    6.S087 Mathematical Methods for Multidimensional Statistics (U)

    Prereqs: Calculus up to the first half of 18.02. Prior coursework in probability is not required but helpful
    Schedule: Tuesday & Thursdays, January 4 – January 27, 7-9pm, room E25-111
    Instructors Lay Jain,, Claudia Lozano, Evan Vogelbaum, Jerry Han, Mark Jabbour, Nishant Abhangi
    Faculty Advisor: Prof. Leslie Kaelbling


    Covers the mathematical foundations behind many of the methods used in multi- dimensional statistics, machine learning and data science. This includes multidimensional functions and spaces, vector and matrix calculus, constrained and unconstrained optimization and matrix decompositions. Lectures develop the theoretical foundations of these concepts, while problem sets provide examples of their applications to statistics, inference, and machine learning. The aim of this class is to develop the relevant mathematical background for EECS classes in these areas with a heavy mathematical component, such as 6.036, 6.401, 6.402, 6.419, 6.435, 6.437, 6.438, 6.860, and 6.867.


    6.S088 Modern Machine Learning: Simple Methods that Work (U)

    Prereqs: None
    Units:  1-0-2
    Schedule: Monday – Friday, January 18 – January 28, 1-2:30pm, room 32-141
    Instructor: Adityanarayanan Radhakrishnan,
    Faculty Advisor:  Prof Caroline Uhler


    Over the past decade, interest in machine learning research has spiked drastically, with advancements in deep learning being a significant driving force. Indeed, deep learning has transformed many areas in computer science including computer vision, natural language processing, and reinforcement learning. Unfortunately, given the rapid pace of progress in deep learning, a newcomer looking for a simple set of guiding principles for building machine learning applications can be easily overwhelmed by the nuances of training deep networks. Thus, motivated by recent developments in machine learning, we present a simple class of machine learning methods that are easy to implement and which achieve competitive performance in practice. In particular, our methods rely on the recently established equivalence between kernel regression and infinite width neural networks given by the neural tangent kernel (NTK). In addition to being a theoretical tool for understanding neural networks, we demonstrate that the NTK is a simple method for achieving competitive results in a variety of machine learning applications including regression, classification, and matrix/image completion. We provide problem sets containing both theoretical and coding exercises with the aim of (1) providing newcomers to machine learning a simple toolkit for building effective machine learning models in practice and (2) prepare interested students for research in the area.

    6.S089 Introduction to Quantum Computation (U)

    Prereq: None
    Units: 2-0-4
    Schedule: Monday, Wednesday, Friday, January 3 – January 26, 3-5pm, room 32-155
    Instructor: Amir Karamlou,
    Faculty Advisor:  Professor William Oliver


    Quantum computation is a growing field at the intersection of physics, computer science, electrical engineering and applied math. This course introduces the basics of quantum computation. Specifically, we will cover some fundamental quantum mechanics, discus quantum circuits, and introduce the most significant quantum algorithms. Furthermore, we will survey advanced topics towards the end of the course. In the past these topics have included quantum error correction, quantum communication and applications to fields ranging from machine learning to chemistry. This course is self-contained and does not require any prior knowledge of quantum mechanics.

    6.S095 Intermediate Probability Problem Solving (U)

    Prereqs: None
    Units: 1-0-5
    Schedule: Monday, Wednesday, Friday , January 3 – January 28, 7-9pm, room 34-101
    Instructor: Sebastian Jeon,, Adam Deng, Maxwell Jiang, Evan Vogelbaum, Peggy Yang
    Faculty Advisor:  Professor Leslie Kaelbling


    This class is a survey of advanced problem-solving techniques in probability, random variables, and stochastic processes. It picks off from a standard introduction to the subject and goes towards more advanced techniques. The first half of the class reviews standard concepts in probability while introducing much more involved applications of these topics, while the second half will introduce adjacent areas of exploration. The aim of this class is to develop problem solving ability and mathematical maturity that will enable students to succeed in advanced and graduate-level EECS classes that involve probability, such as 6.046, 6.262, 6.265, 6.437, 6.438, and 6.856.

    6.S098 Introduction to Applied Convex Optimization (U)

    Prereq: None
    Units: 1-0-5
    Schedule: Tuesdays & Thursdays, January 3 – January 27, 1-2:30pm, room 32-124
    Instructor: Alex Amice,
    Faculty Advisor: Professor Pablo Parrilo


    Convex optimization problems appear in a huge number of applications and can be solved very efficiently, even for problems with millions of variables. However, recognizing what can be transformed into a convex optimization problem can be challenging. This course will teach you how to recognize, formulate, and solve these problems. We will briefly survey theoretical results in convex analysis, but the majority of the course will focus on formulating and solving problems that come up in practice. Applications will include signal processing, statistics and machine learning, finance, circuit design, mechanical structure design, control, power systems, and other areas based on student interest. This course is designed for advanced undergraduates and beginning graduate students.

    6.S185 Bluetoothc: and Wi-fi 101 (U)

    Prereq: short readings before each seminar day
    Some experience with C is helpful, but not required
    Units: 2-0-4
    Enrollment Limited: Advanced signup required *
    Sign-up: by IAP Pre-Registration Deadline: January 11, 2022
    Schedule: Tuesday, Wednesday, Thursday; January 25 – 27, 9-5pm, room 34-101
    Instructors: Professor Steve Leeb,; Greg Landry, Ali Atti, and Patrick Kane (Infineon)


    A 3-day in-depth course focused on creating Bluetooth and Wi-Fi devices using Infineon PSoC 6
    development kits and shields (provided by Infineon). The first one and one-half days will focus
    on lectures and instructor led labs. The second half of the course will consist of student teams
    creating IoT projects.

    Infineon ModusToolbox™ IDE and its features will be explored and explained. Students will
    receive in-depth instruction and will complete exercises related to:

    Bluetooth Ecosystem

    • Wi-Fi Ecosystem
    • The Infineon CY8CKIT-062S2-43012 Architecture and development environment
    • The CY8CKIT-028 TFT shield (TFT, audio, and multiple sensors)
    • ModusToolbox IDE
    • CySmart


    *PERMISSION OF INSTRUCTOR IS REQUIRED TO REGISTER. Email for permission before registering. Registering for this course is a FIRM commitment to attend; others will be turned away to make room for you.


    6.S187 Code for Good (U)

    Units: 1-0-5
    Schedule: Fridays, January 7 – January 28, 3-5pm, room 32-124
    Instructors: Margaret Wang,; Alex Ellison,
    Faculty Advisor: Professor Frans Kaashoek


    For this class, students have the opportunity to work on software-related projects with local nonprofit organizations. Teams of 3-4 students choose a project that is of interest to the group, or suggest their own project ideas. Students are mentored by a representative from the nonprofit organization as well as subject instructors. During the entirety of the course, students have access to mentors and other resources. At the conclusion of the course, students will deliver their project to their nonprofit organization, and they’ll also have the opportunity to show off their projects at an exposition that is open to representatives of the nonprofit organizations, mentors, and the general MIT community.

    6.S191 Introduction to Deep Learning (U)

    Prereq: None
    Units: 1-0-5
    Schedule: Monday – Friday, January 24 – January 28, 1-4pm, room 26-100
    Instructor: Alexander Amini,; Ava Soleimany
    Faculty Advisor:  Professor Daniela Rus


    Introduction to deep learning methods with applications to machine translation, image recognition, game playing, image generation and more. A collaborative course incorporating labs in TensorFlow and peer brainstorming along with lectures. Course concludes with project proposals with feedback from staff and panel of industry sponsors.


    IAP 2022 Activities

    Here are the activities available sponsored by EECS during IAP 2022.

    Developing Skills in Technical Leadership for a Better World

    Instructors: David Nino,, Senior Lecturer and Senior Program Manager, GEL;
    Jin Wu,; Lecturer, GEL
    Schedule: Friday, January 14, 1-4pm, room 36-155


    During this workshop for MIT graduate students, we will discuss the benefits of developing leadership while completing graduate degrees and practice skills related to securing future leadership roles. I will be joined by at least one distinguished guest from industry and members of the Dean of Engineering’s Graduate Student Advisory Group. Toward the end of the program, we will share details on how to earn our program’s “Graduate Certificate in Technical Leadership”.

    Draw Robots

    Instructor: James Bern,, Postdoctoral Associate CSAIL
    Schedule: Monday – Friday, January 10 – January 14, 10am -noon, room 36-112


    Data-oriented intro to the intersection of graphics and robotics. Teaches how to visualize and simulate robots in low-level C++.

    Introduction to Binary Exploitation

    Instructor:  William Liu,
    Schedule: Monday, Wednesday, Thursday, January 3 – January 27, 1-2:30pm, room 26-210


    In recent years, Google and Microsoft both claim that over 70% of software vulnerabilities in their products come from memory safety issues like buffer overflows or use after frees. This course, sponsored by MIT’s student cyber security club TechSec, will serve as an introduction for students to the world of memory corruption bugs, as they learn about common vulnerabilities, exploitation methodologies, and mitigations (specifically on the Linux 64 bit platform). Meetings will cover theory, and optional assignments are provided for hands-on experience with bug hunting and exploitation. Content will include basic reverse engineering, shellcoding, ROP chains, heap exploitation, modern mitigations, and case studies of real life vulnerabilities. The recommended prerequisites include a general understanding of Linux, C, and Python. Knowledge of any assembly language is also highly recommended.