Autonomous Robot Design Competition6.270 is a hands-on, learn-by-doing class, in which participants design and build a robot that will play in a competition at the end of January
Multicore Programming PrimerThe course serves as an introductory course in parallel programming.
A Gentle Introduction to Programming Using PythonThis course will provide a gentle introduction to programming using Python™ for highly motivated students with little or no prior experience in programming computers.
A Gentle Introduction to Programming Using PythonThis course will provide a gentle, yet intense, introduction to programming using Python for highly motivated students with little or no prior experience in programming.
Mobile Autonomous Systems LaboratoryMASLab (Mobile Autonomous System Laboratory), also known as 6.186, is a robotics contest.
Performance Engineering of Software Systems6.172 is an 18-unit class that provides a hands-on, project-based introduction to building scalable and high-performance software systems.
Software StudioThis course on software engineering covers design and implementation of medium-scale software systems, using web applications as a platform.
Laboratory in Software EngineeringThis course introduces concepts and techniques relevant to the production of large software systems.
Strobe Project LaboratoryThis is a laboratory experience course with a focus on photography, electronic imaging, and light measurement, much of it at short duration.
Micro/Nano Processing TechnologyThis course introduces the theory and technology of micro/nano fabrication.
Introductory Digital Systems Laboratory6.111 is reputed to be one of the most demanding classes at MIT, exhausting many students’ time and creativity.
Introductory Digital Systems Laboratory6.111 consists of lectures and labs on digital logic, flipflops, PALs, counters, timing, synchronization, finite-state machines, and microprogrammed systems.
Introductory Analog Electronics Laboratory6.101 is an introductory experimental laboratory that explores the design, construction, and debugging of analog electronic circuits.
Algorithms for Computational BiologyThis course is offered to undergraduates and addresses several algorithmic challenges in computational biology.
Introduction to C++This is a fast-paced introductory course to the C++ programming language.
Bioinformatics and ProteomicsThis interdisciplinary course provides a hands-on approach to students in the topics of bioinformatics and proteomics.
Java Preparation for 6.170This course focuses on introducing the language, libraries, tools and concepts of Javaᵀᴹ.
Introduction to Programming in JavaThis course is an introduction to software engineering, using the Java™ programming language. It covers concepts useful to 6.005
Hands-On Introduction to Electrical Engineering Lab SkillsThis course introduces students to both passive and active electronic components (op-amps, 555 timers, TTL digital circuits). Basic analog and digital circuits and theory of operation are covered.
Building Programming Experience: A Lead-In to 6.001This course will serve as a two-week aggressively gentle introduction to programming for those students who lack background in the field.
Introduction to C Memory Management and C++ Object-Oriented ProgrammingEver hang your head in shame after your Python program wasn’t as fast as your friend’s C program?
Practical Programming in CThis course provides a thorough introduction to the C programming language, the workhorse of the UNIX operating system and lingua franca of embedded processors and micro-controllers.
Great Ideas in Theoretical Computer ScienceThis course provides a challenging introduction to some of the central ideas of theoretical computer science.
Introduction to Convex OptimizationThis course aims to give students the tools and training to recognize convex optimization problems that arise in scientific and engineering applications, presenting the basic theory, and concentrating on modeling aspects and results that are useful in applications.