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

    6.146 Mobile Autonomous Systems Laboratory: MASLAB (U)

    Level: U
    Units 2-2-2
    Prereqs: none
    PDF
    Instructor: John Zhang (johnz@mit.edu)
    Faculty Advisor:  Prof. Russ Tedrake
    Schedule: MTWRF 10-12, January 3 – 7, room 32-141

    Description

    Autonomous robotics contest emphasizing technical AI, vision, mapping and navigation from a robot-mounted camera. Few restrictions are placed on materials, sensors, and/or actuators enabling teams to build robots very creatively. Teams should have members with varying engineering, programming and mechanical backgrounds. Culminates with a robot competition at the end of IAP. Enrollment limited.

    6.147 The Battlecode Programming Competition (U)

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

    Description

    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
    PDF
    Schedule: Monday- Friday; January 3 – January 14; 11-3pm, room 10-250 (Livestream at weblab.to/livestream)
    Instructor: Claire Cheng and Daniel Sun weblab-staff@mit.edu
    Faculty Advisor: Arvind Satyanarayan

    Description

    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 https://portal.weblab.to. Registering via WebSIS does NOT automatically put you on the official class mailing list.

     

    6.176 Pokerbots Competition (U)

    Level: U
    Prereqs: none
    PDF
    Units: 1-0-5
    Instructor: Andy Zhu (andyzhu@mit.edu), Matt McManus (mattmcm@mit.edu)
    Schedule: MWF1-2:30, room 6-120

    Description

    Build autonomous poker players and aquire the knowledge of the game of poker. Showcase decision making skills, apply concepts in mathematics, computer science and economics. Provides instruction in programming, game theory, probability and statistics and machine learning. Concludes with a final competition and prizes. Enrollment limited.

    6.914 (16.669) Project Engineering (U)

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

    Description

    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.S085 From Transistors to chips: A crash course in chip design (U)

    Level:  U
    Units: 1-0-5
    PDF
    Prereqs: Basic RLC Circuit understanding and of course KCL, KVL. Semiconductor device
    experience (MOSFETs) helpful but not necessary. Basic Probability principles.
    Instructor:  Dr. Duke Xanthopoulos (duke@marvell.com), Technical VP and Fellow, Marvell Semiconductor
    Schedule: Tuesdays and Thursdays, January 11 to January 27, 12-2pm, virtual

    Description

    Course starts with overview of semiconductor applications. We proceed by reviewing MOSFET basic theory of operation and usage of these devices as digital switches. Then, we move to a different level of abstraction and see how we put the switches together to form logic gates and subsystems such as processing blocks and memory. We will review state-of-the art methodologies for chip assembly and floorplanning and will conclude by describing all the steps necessary to design a chip and ship it for fabrication.

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

    Level: U
    Prereqs: None
    Units: 1-0-5
    PDF
    Schedule: Tuesday & Thursday, January 3 – January 27, 11-1pm, virtual
    Instructors: Dr. Stefanie Shattuck-Hufnagel, sshuf@mit.edu;
    Drs. Alenja Brugos and Nanette Veilleux, Simmons University, Boston

    Description

    This course presents a tutorial on the ToBI (Tones and Break Indices) system for labeling 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)

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

    Description

    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)

    Level: U
    Prereqs: None
    Units:  1-0-5
    Prereqs: see below
    PDF
    Schedule: Monday – Friday, January 18 – January 28, 1-2:30pm, virtual (https://web.mit.edu/modernml/course/)
    Instructor: Adityanarayanan Radhakrishnan, aradha@mit.edu
    Faculty Advisor:  Prof Caroline Uhler

     

    Description

    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.

    Recommended Prereqs:

    Knowledge of linear algebra (level of 18.06 or 18.700), analysis (level of 18.100), and probability (level of 6.041 or 18.600) is generally assumed. Familiarity with Python (in particular, NumPy) is also assumed. Knowledge of Fourier analysis (18.103), functional analysis (18.102), random matrix theory (18.338), and complex analysis (18.112) is suggested for students who want to pursue research in this area.

    6.S089 Introduction to Quantum Computation (U)

    Level: U
    Prereq: None
    Units: 2-0-4
    PDF
    Schedule: Monday, Wednesday, Friday, January 3 – January 26, 3-5pm, room 32-155
    Instructor: Amir Karamlou, karamlou@mit.edu
    Faculty Advisor:  Professor William Oliver

    Description

    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.S090 nanoStories: Workshop on Science Communication at the Nanoscale (U)

    Level: U
    Units: 1-0-5
    Prereqs: none
    Schedule: Tuesdays and Thursdays, January 4 – January 20, 2:30-4:30pm, virtual
    Instructor:  Prof. Vladimir Bulovic (bulovic@mit.edu)

    Description

    Designed for students with an interest in science communication and STEAM outreach. Guided by instructors, in each two-hour class students will explore a new topic, jointly developing an instructional narrative to be told in text, video, and/or interactive multimedia. Outside of MIT labs, nanoscience and nanotechnology appear mysterious. Help us demystify them! The content of the classes will reflect research/exploratory interests of participants.

    6.S095 Intermediate Probability Problem Solving (U)

    Level: U
    Prereqs: None
    Units: 2-0-4
    PDF
    Schedule: Monday, Wednesday, Friday , January 3 – January 28, 7-9pm, room 34-101*
    Instructor: Sebastian Jeon, sjeon0@mit.edu, Adam Deng, Maxwell Jiang, Evan Vogelbaum, Peggy Yang
    Faculty Advisor:  Professor Leslie Kaelbling

    Description

    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.

    *hybrid option available, contact instructors for more information

    6.S098 Introduction to Applied Convex Optimization (U)

    Level: U
    Prereq: None
    Units: 1-0-5
    PDF
    Schedule: Tuesdays & Thursdays, January 3 – January 27, 1-2:30pm, room 32-124
    Instructor: Alex Amice, amice@mit.edu
    Faculty Advisor: Professor Pablo Parrilo

    https://alexandreamice.github.io/courses/6.S098/​

    Description

    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)

    Level: U
    Prereq: short readings before each seminar day
    Some experience with C is helpful, but not required
    Units: 2-0-1
    PDF
    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, sbleeb@mit.edu; Greg Landry, Ali Atti, and Patrick Kane (Infineon)

    Description

    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 sbleeb@mit.edu 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)

    Level: U
    Prereq:
    Units: 1-0-5
    PDF
    Schedule: Fridays, January 7 – January 28, 3-5pm, room 32-124*
    Instructors: Margaret Wang, mqwang@mit.edu; Alex Ellison, acelli@mit.edu
    Faculty Advisor: Professor Frans Kaashoek

    Description

    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.

    *Our kickoff event will be entirely virtual, and all students will be given the option between virtual or in-person meetings and check-ins.

    6.S191 Introduction to Deep Learning (U)

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

    For more information see http://introtodeeplearning.com/

    Description

    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.

     

    6.S192 Deep Learning for Art, Aesthetics, and Creativity

    Level: U
    Units: 1-0-5
    PDF
    Prerequisites: none
    Instructor: Ali Jahanian, Research Scientist (jahanian@mit.edu)
    Faculty Advisor: Prof. Philip Isola
    Schedule: Monday-Friday, starting Friday 1/14 – Friday 1/21 (no class 1/17 MLK day), 12-2pm. virtual

    http://deepcreativity.csail.mit.edu/

    Description

    This course covers the advances in the area that have been happening since the last year. We work with foundation models and define projects for students to demonstrate what we can do with these models.

    6.S193 FPGA Design Workshop

    Level: U
    Units: 1-0-5
    Prerequisites: 6.111 or 6.004, or permission of instructor
    PDF
    Instructor: Joe Steinmeyer, Senior Lecturer (jodalyst@mit.edu)
    Schedule:  Lecture TR1-2:30, January 3 – January 26; room 34-304; Labs:  TBD, room 38-630

    Description

    Students work on FPGA-centric design projects for the duration of the class. The class is an opportunity to explore digital system design beyond typical course. The class is an opportunity to explore digital system design beyond typical course work during IAP. Students will have the opportunity to periodically meet and get input from hardware engineers in industry.

     

    IAP 2022 Activities

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

    Artificial Intelligence – CANCELED FOR 2022

    CANCELED

    Instructor: Lex Fridman, Research Scientist, (fridman@mit.edu); Prof. Sertac Karaman (sertac@mit.edu)

    Schedule: Monday, Wednesday, Friday, January 10 – January 14, 3-5pm, Room 10-250

    Description

    This series includes lectures on select topics in deep learning, robotics, and AI-specialized computing hardware research and applications. It is open to beginners and is designed for those who are new to machine learning, but it can also benefit advanced researchers in the field looking for a practical overview of the latest deep learning advances and their application.

    Developing Skills in Technical Leadership for a Better World

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

    Description

    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, jbern@mit.edu, Postdoctoral Associate CSAIL
    Schedule: Monday – Friday, January 10 – January 14, 10am -noon, room 36-112

    Description

    Are you sick of long compile times, big object-oriented drawing API’s, or not knowing what your optimizer is actually doing?  Then take this class to learn how to write your own interactive visualizations and simulations from scratch!  We will visualize and simulate soft and rigid robots from the ground up using data-oriented C/C++ code.  Our code will be small, simple, dangerous, and compile in about one second (at least in debug mode).  Please visit https://jamesmbern.com/draw_robots.html to sign up and for more info.  Familiarity with C/C++ is recommended, but there should be useful content regardless of prior skill level.

     

    Introduction to Binary Exploitation

    Instructor:  William Liu, (wliu1@mit.edu), Joseph Ravichandran (jravi@mit.edu) and TechSec Club (techsec-exec@mit.edu)
    Schedule: Monday, Wednesday, Thursday, January 3 – January 27, 1-2:30pm, virtual

    Description

    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.

    Please register at https://docs.google.com/forms/d/1ziqZ3TisX-p7q9_WchHOupoSorS5q1OotQRXjHWlFPE/

    A Taste of Programming with SICP JS

    Instructor: Professor Martin Henz, National University of Singapore, visiting MIT,  (henz@comp.nus.edu.sg)
    Additional contact: Professor Gerald J. Sussman (gjs@csail.mit.edu)
    Prerequisites: None; If you have already programmed you are likely to get a new perspective on what programming can be.

    Schedule: Tuesday, Wednesday, Friday, January 18-28

    • Morning Lectures: 10am-12pm,  online.
    • Afternoon Reflection sessions: 4-5pm online: group discussion, individual programming exercises, and guided pair programming.
    • Evening Studio sessions: 7-9pm online: guided small-group exercises and projects.

    Enrollment limited to 32

    For more information, syllabus, and registration (or expression of interest) see https://about.sourceacademy.org/IAP/

    Description

    We can understand some computer programs in the way we solve math equations: by performing one simple algebraic step after another, until we reach an answer. This Independent Activity introduces programming in this way, inspired by the first chapter of Structure and Interpretation of Computer Programs, JavaScript edition (SICP JS). We start from first principles, by looking at functions that you know from mathematics, but before long, you will program interesting graphics and sound patterns using the Source Academy, a website built for SICP JS. The Activity offers entertaining and thought-provoking insights into the essence of computation, and at the same time an introduction to programming using the popular programming language JavaScript.