6-1 6-2 6-3 6-4 6-5 6-7 6-14

If you're thinking about which subjects to take and when to take them, the tables below might be useful.

For each EECS major, you can see the subjects taken by those majors, sorted with the most-taken subjects first. For each subject, you can also see the distribution of the year of the student when they took the subject.

The counts come from the transcripts of current students and those who received their SB after Fall 2021.

Subjects taken by 6-1 Majors
EECS and non-GIR Subjects taken by 10% or more of 6-1s (120 total students):
Subject Number of Students
Total Y1 Y2 Y3 Y4
6.2000[6.002]
6.2000 Electrical Circuits: Modeling and Design of Physical Systems

(,)
Prereqs: GIR:PHY2
Units: 3-3-6

Fundamentals of linear systems, and abstraction modeling of multi-physics lumped and distributed systems using lumped electrical circuits. Linear networks involving independent and dependent sources, resistors, capacitors, and inductors. Extensions to include operational amplifiers and transducers. Dynamics of first- and second-order networks; analysis and design in the time and frequency domains; signal and energy processing applications. Design exercises. Weekly laboratory with microcontroller and transducers.

118 23 75 16 4
6.3000[6.003]
6.3000 Signal Processing

(,)
Prereqs: 6.100A
Units: 4-0-8

Fundamentals of signal processing, focusing on the use of Fourier methods to analyze and process signals such as sounds and images. Topics include Fourier series, Fourier transforms, the Discrete Fourier Transform, sampling, convolution, deconvolution, filtering, noise reduction, and compression. Applications draw broadly from areas of contemporary interest with emphasis on both analysis and design.

112 6 52 41 13
6.100A[6.0001]
6.100A Introduction to Computer Science Programming in Python

()
Prereqs: none
Units: 2-0-4

Introduction to computer science and programming. Students develop skills to program and use computational techniques to solve problems. Topics include: the notion of computation, Python, simple algorithms and data structures, object-oriented programming, testing and debugging, and algorithmic complexity. Lectures are viewed outside of class; in-class time is dedicated to problem-solving and discussion. Combination of 6.100A and 6.100B (or 16.C20) counts as REST subject.

94 74 13 5 2
6.1910[6.004]
6.1910 Computation Structures

(,)
Prereqs: (GIR:PHY2, 6.100A, and (6.1903 or 6.1904)) or permission of instructor
Units: 4-0-8

Provides an introduction to the design of digital systems and computer architecture. Emphasizes expressing all hardware designs in a high-level hardware description language and synthesizing the designs. Topics include combinational and sequential circuits, instruction set abstraction for programmable hardware, single-cycle and pipelined processor implementations, multi-level memory hierarchies, virtual memory, exceptions and I/O, and parallel systems.

91 7 44 28 12
6.2300[6.013]
6.2300 Electromagnetics Waves and Applications

()
Prereqs: GIR:CAL2 and GIR:PHY2
Units: 3-5-4

Analysis and design of modern applications that employ electromagnetic phenomena for signals and power transmission in RF, microwaves, optical and wireless communication systems. Fundamentals include dynamic solutions for Maxwell's equations; electromagnetic power and energy, waves in media, metallic and dielectric waveguides, radiation, and diffraction; resonance; filters; and acoustic analogs. Lab activities range from building to testing of devices and systems (e.g., antenna arrays, radars, dielectric waveguides). Students work in teams on self-proposed maker-style design projects with a focus on fostering creativity, teamwork, and debugging skills. 6.2000 and 6.3000 are recommended but not required.

76 2 12 43 19
6.2500[6.012]
6.2500 Nanoelectronics and Computing Systems

()
Prereqs: 6.2000
Units: 4-0-8

Studies interaction between materials, semiconductor physics, electronic devices, and computing systems. Develops intuition of how transistors operate. Topics range from introductory semiconductor physics to modern state-of-the-art nano-scale devices. Considers how innovations in devices have driven historical progress in computing, and explores ideas for further improvements in devices and computing. Students apply material to understand how building improved computing systems requires knowledge of devices, and how making the correct device requires knowledge of computing systems. Includes a design project for practical application of concepts, and labs for experience building silicon transistors and devices.

74 4 19 36 15
6.2050[6.111]
6.2050 Digital Systems Laboratory

()
Prereqs: 6.1910 or permission of instructor
Units: 3-7-2

Lab-intensive subject that investigates digital systems with a focus on FPGAs. Lectures and labs cover logic, flip flops, counters, timing, synchronization, finite-state machines, digital signal processing, communication protocols, and modern sensors. Prepares students for the design and implementation of a large-scale final project of their choice: games, music, digital filters, wireless communications, video, or graphics. Extensive use of System/Verilog for describing and implementing and verifying digital logic designs.

64 2 36 26
6.2080[6.300]
6.2080 Semiconductor Electronic Circuits

()
Prereqs: 6.2000
Units: 3-2-7

Provides an introduction to basic circuit design, starting from basic semiconductor devices such as diodes and transistors, large and small signal models and analysis, to circuits such as basic amplifier and opamp circuits. Labs give students access to CAD/EDA tools to design, analyze, and layout analog circuits. At the end of the term, students have their chip design fabricated using a 22nm FinFET CMOS process.

44 1 15 17 11
6.3010[6.011]
6.3010 Signals, Systems and Inference

()
Prereqs: 6.3000 and (6.3700, 6.3800, or 18.05)
Units: 4-0-8

Covers signals, systems and inference in communication, control and signal processing. Topics include input-output and state-space models of linear systems driven by deterministic and random signals; time- and transform-domain representations in discrete and continuous time; and group delay. State feedback and observers. Probabilistic models; stochastic processes, correlation functions, power spectra, spectral factorization. Least-mean square error estimation; Wiener filtering. Hypothesis testing; detection; matched filters.

43 10 13 20
6.3100[6.302]
6.3100 Dynamical System Modeling and Control Design

(,)
Prereqs: GIR:PHY2 and (18.06 or 18.C06)
Units: 4-4-4

A learn-by-design introduction to modeling and control of discrete- and continuous-time systems, from intuition-building analytical techniques to more computational and data-centric strategies. Topics include: linear difference/differential equations (natural frequencies, transfer functions); controller metrics (stability, tracking, disturbance rejection); analytical techniques (PID, root-loci, lead-lag, phase margin); computational strategies (state-space, eigen-placement, LQR); and data-centric approaches (state estimation, regression, and identification). Concepts are introduced with lectures and online problems, and then mastered during weekly labs. In lab, students model, design, test, and explain systems and controllers involving sensors, actuators, and a microcontroller (e.g., optimizing thrust-driven positioners or stabilizing magnetic levitators). Students taking graduate version complete additional problems and labs.

42 1 8 20 13
6.1010[6.009]
6.1010 Fundamentals of Programming

(,)
Prereqs: 6.1000 or (6.100A and (6.100B or 16.C20))
Units: 2-4-6

Introduces fundamental concepts of programming. Designed to develop skills in applying basic methods from programming languages to abstract problems. Topics include programming and Python basics, computational concepts, software engineering, algorithmic techniques, data types, and recursion. Lab component consists of software design, construction, and implementation of design. Enrollment may be limited.

36 11 11 5 9
6.2040[6.101]
6.2040 Analog Electronics Laboratory

()
Prereqs: 6.2000
Units: 2-9-1

Experimental laboratory explores the design, construction, and debugging of analog electronic circuits. Lectures and laboratory projects in the first half of the course investigate the performance characteristics of semiconductor devices (diodes, BJTs, and MOSFETs) and functional analog building blocks, including single-stage amplifiers, op amps, small audio amplifier, filters, converters, sensor circuits, and medical electronics (ECG, pulse-oximetry). Projects involve design, implementation, and presentation in an environment similar to that of industry engineering design teams. Instruction and practice in written and oral communication provided. Opportunity to simulate real-world problems and solutions that involve tradeoffs and the use of engineering judgment.

35 13 14 8
6.2220[6.131]
6.2220 Power Electronics Laboratory

()
Prereqs: 6.2000 or 6.3000
Units: 3-6-3

Introduces the design and construction of power electronic circuits and motor drives. Laboratory exercises include the construction of drive circuitry for an electric go-cart, flash strobes, computer power supplies, three-phase inverters for AC motors, and resonant drives for lamp ballasts and induction heating. Basic electric machines introduced include DC, induction, and permanent magnet motors, with drive considerations. Provides instruction in written and oral communication. Students taking independent inquiry version 6.2221 expand the scope of their laboratory project. Enrollment limited.

34 1 5 18 10
6.2210[6.014]
6.2210 Electromagnetic Fields, Forces and Motion

()
Prereqs: GIR:PHY2 and 18.03
Units: 4-0-8

Study of electromagnetics and electromagnetic energy conversion leading to an understanding of devices, including electromagnetic sensors, actuators, motors and generators. Quasistatic Maxwell's equations and the Lorentz force law. Studies of the quasistatic fields and their sources through solutions of Poisson's and Laplace's equations. Boundary conditions and multi-region boundary-value problems. Steady-state conduction, polarization, and magnetization. Charge conservation and relaxation, and magnetic induction and diffusion. Extension to moving materials. Electric and magnetic forces and force densities derived from energy, and stress tensors. Extensive use of engineering examples. Students taking graduate version complete additional assignments.

32 8 13 11
6.100B[6.0002]
6.100B Introduction to Computational Thinking and Data Science

(,)
Prereqs: 6.100A or permission of instructor
Units: 2-0-4

Provides an introduction to using computation to build models that can be used to help understand real-world phenomena. Topics include optimization problems, simulation models, and statistical models. Requires experience programming in Python as a prerequisite. Combination of 6.100A and 6.100B counts as REST subject.

32 20 7 2 3
6.UAT
6.UAT Oral Communication

(,)
Prereqs: none
Units: 3-0-6

Provides instruction in aspects of effective technical oral presentations and exposure to communication skills useful in a workplace setting. Students create, give and revise a number of presentations of varying length targeting a range of different audiences.

31 6 13 12
6.9010[6.08]
6.9010 Introduction to EECS via Interconnected Embedded Systems

()
Prereqs/[Coreqs]: 6.100A; [GIR:PHY2]
Units: 1-5-6

Introduction to embedded systems in the context of connected devices, wearables, and the "Internet of Things" (IoT). Topics include microcontrollers, energy utilization, algorithmic efficiency, interfacing with sensors, networking, cryptography, and local versus distributed computation. Students design, make, and program an Internet-connected wearable or handheld device. In the final project, student teams design and demo their own server-connected IoT system. Enrollment limited; preference to first- and second-year students.

31 18 11 2
6.6220[6.334]
6.6220 Power Electronics

()
Prereqs: 6.2040, 6.2080, 6.2220, or 6.2500
Units: 3-0-9

The application of electronics to energy conversion and control. Modeling, analysis, and control techniques. Design of power circuits including inverters, rectifiers, and dc-dc converters. Analysis and design of magnetic components and filters. Characteristics of power semiconductor devices. Numerous application examples, such as motion control systems, power supplies, and radio-frequency power amplifiers.

31 4 6 21
6.3700[6.041]
6.3700 Introduction to Probability

(,)
Prereqs: GIR:CAL2
Units: 4-0-8

An introduction to probability theory, the modeling and analysis of probabilistic systems, and elements of statistical inference. Probabilistic models, conditional probability. Discrete and continuous random variables. Expectation and conditional expectation, and further topics about random variables. Limit Theorems. Bayesian estimation and hypothesis testing. Elements of classical statistical inference. Bernoulli and Poisson processes. Markov chains. Students taking graduate version complete additional assignments.

28 1 8 13 6
8.223
8.223 Classical Mechanics II

()
Prereqs: GIR:CAL2 and GIR:PHY1
Units: 2-0-4

A broad, theoretical treatment of classical mechanics, useful in its own right for treating complex dynamical problems, but essential to understanding the foundations of quantum mechanics and statistical physics. Generalized coordinates, Lagrangian and Hamiltonian formulations, canonical transformations, and Poisson brackets. Applications to continuous media. The relativistic Lagrangian and Maxwell's equations.

27 13 9 4 1
6.2090[6.301]
6.2090 Solid-State Circuits

()
Prereqs: 6.2040, 6.2080, or permission of instructor
Units: 3-2-7

Fosters deep understanding and intuition that is crucial in innovating analog circuits and optimizing the whole system in bipolar junction transistor (BJT) and metal oxide semiconductor (MOS) technologies. Covers both theory and real-world applications of basic amplifier structures, operational amplifiers, temperature sensors, bandgap references. Covers topics such as noise, linearity and stability. Homework and labs give students access to CAD/EDA tools to design and analyze analog circuits. Provides practical experience through lab exercises, including a broadband amplifier design and characterization. Students taking graduate version complete additional assignments.

27 2 1 11 13
18.06
18.06 Linear Algebra

()
Prereqs: GIR:CAL2
Units: 4-0-8

Basic subject on matrix theory and linear algebra, emphasizing topics useful in other disciplines, including systems of equations, vector spaces, determinants, eigenvalues, singular value decomposition, and positive definite matrices. Applications to least-squares approximations, stability of differential equations, networks, Fourier transforms, and Markov processes. Uses linear algebra software. Compared with 18.700, more emphasis on matrix algorithms and many applications.

27 6 7 8 6
6.2060[6.115]
6.2060 Microcomputer Project Laboratory

()
Prereqs: 6.1910, 6.2000, or 6.3000
Units: 3-6-3

Introduces analysis and design of embedded systems. Emphasizes construction of complete systems, including a five-axis robot arm, a fluorescent lamp ballast, a tomographic imaging station (e.g., a CAT scan), and a simple calculator. Presents a wide range of basic tools, including software and development tools, programmable system on chip, peripheral components such as A/D converters, communication schemes, signal processing techniques, closed-loop digital feedback control, interface and power electronics, and modeling of electromechanical systems. Includes a sequence of assigned projects, followed by a final project of the student's choice, emphasizing creativity and uniqueness. Provides instruction in written and oral communication. To satisfy the independent inquiry component of this subject, students expand the scope of their laboratory project. Enrollment limited.

26 6 15 5
8.04
8.04 Quantum Physics I

()
Prereqs: 8.03 and (18.03 or 18.032)
Units: 5-0-7

Experimental basis of quantum physics: photoelectric effect, Compton scattering, photons, Franck-Hertz experiment, the Bohr atom, electron diffraction, deBroglie waves, and wave-particle duality of matter and light. Introduction to wave mechanics: Schroedinger's equation, wave functions, wave packets, probability amplitudes, stationary states, the Heisenberg uncertainty principle. Solutions to Schroedinger's equation in one dimension: transmission and reflection at a barrier, potential wells, delta functions, the simple harmonic oscillator. Schroedinger's equation in three dimensions: central potentials and the hydrogen atom.  Introduction to spin-1/2.

24 4 18 1 1
18.600
18.600 Probability and Random Variables

(,)
Prereqs: GIR:CAL2
Units: 4-0-8

Probability spaces, random variables, distribution functions. Binomial, geometric, hypergeometric, Poisson distributions. Uniform, exponential, normal, gamma and beta distributions. Conditional probability, Bayes theorem, joint distributions. Chebyshev inequality, law of large numbers, and central limit theorem. Credit cannot also be received for 6.041A or 6.041B.

24 4 9 11
6.3900[6.036]
6.3900 Introduction to Machine Learning

(,)
Prereqs: (6.1000 or 6.1210) and (18.03 or 18.06)
Units: 4-0-8

Introduction to the principles and algorithms of machine learning from an optimization perspective. Topics include linear and non-linear models for supervised, unsupervised, and reinforcement learning, with a focus on gradient-based methods and neural-network architectures. Previous experience with algorithms may be helpful.

23 2 9 7 5
18.03
18.03 Differential Equations

(,)
Prereqs/[Coreqs]: [GIR:CAL2]
Units: 5-0-7

Study of differential equations, including modeling physical systems. Solution of first-order ODEs by analytical, graphical, and numerical methods. Linear ODEs with constant coefficients. Complex numbers and exponentials. Inhomogeneous equations: polynomial, sinusoidal, and exponential inputs. Oscillations, damping, resonance. Fourier series. Matrices, eigenvalues, eigenvectors, diagonalization. First order linear systems: normal modes, matrix exponentials, variation of parameters. Heat equation, wave equation. Nonlinear autonomous systems: critical point analysis, phase plane diagrams.

23 11 10 1 1
8.044
8.044 Statistical Physics I

()
Prereqs: 8.03 and 18.03
Units: 5-0-7

Introduction to probability, statistical mechanics, and thermodynamics. Random variables, joint and conditional probability densities, and functions of a random variable. Concepts of macroscopic variables and thermodynamic equilibrium, fundamental assumption of statistical mechanics, microcanonical and canonical ensembles. First, second, and third laws of thermodynamics. Numerous examples illustrating a wide variety of physical phenomena such as magnetism, polyatomic gases, thermal radiation, electrons in solids, and noise in electronic devices. Concurrent enrollment in 8.04 is recommended.

22 3 11 7 1
6.9030[6.163] 21 11 10
8.03
8.03 Physics III

(,)
Prereqs: GIR:CAL2 and GIR:PHY2
Units: 5-0-7

Mechanical vibrations and waves; simple harmonic motion, superposition, forced vibrations and resonance, coupled oscillations, and normal modes; vibrations of continuous systems; reflection and refraction; phase and group velocity. Optics; wave solutions to Maxwell's equations; polarization; Snell's Law, interference, Huygens's principle, Fraunhofer diffraction, and gratings.

20 5 11 2 2
6.1200[6.042]
6.1200 Mathematics for Computer Science

(,)
Prereqs: GIR:CAL1
Units: 5-0-7

Elementary discrete mathematics for science and engineering, with a focus on mathematical tools and proof techniques useful in computer science. Topics include logical notation, sets, relations, elementary graph theory, state machines and invariants, induction and proofs by contradiction, recurrences, asymptotic notation, elementary analysis of algorithms, elementary number theory and cryptography, permutations and combinations, counting tools, and discrete probability.

20 9 7 2 2
6.UAR
6.UAR Seminar in Undergraduate Advanced Research

(,)
Prereqs: Permission of instructor
Units: 2-0-4

Instruction in effective undergraduate research, including choosing and developing a research topic, surveying previous work and publications, research topics in EECS and the School of Engineering, industry best practices, design for robustness, technical presentation, authorship and collaboration, and ethics. Students engage in extensive written and oral communication exercises, in the context of an approved advanced research project. A total of 12 units of credit is awarded for completion of the fall and subsequent spring term offerings. Application required; consult EECS SuperUROP website for more information.

18 6 12
6.2600[6.152]
6.2600 Micro/Nano Processing Technology

()
Prereqs: GIR:CAL2, GIR:CHEM, GIR:PHY2, or permission of instructor
Units: 3-4-5

Introduction to micro/nano fabrication technologies: wet and dry etching, chemical and physical deposition, lithography, thermal processes, and device and materials characterization. Includes laboratory sessions in the clean rooms of MIT.nano where students fabricate solar cells, and a choice of thin-film transistors, MEMS cantilevers, or microfluidic mixers. Emphasis on interrelations among material properties, processing techniques, device design, and electrical, mechanical, optical, or chemical behavior of devices. In a final project, students formulate their own device idea based on one of the four standard processes, then design, fabricate and test their devices. Homework designed to reinforce key concepts and pace students towards final project. Students engage in extensive written and oral communication exercises. Course provides background for further research work related to micro/nano fabrication. Enrollment limited.

18 1 6 6 5
6.2540[6.015]
6.2540 Nanotechnology: From Atoms to Systems

()
Prereqs: GIR:PHY2
Units: 2-3-7

Introduces the fundamentals of applied quantum mechanics, materials science, and fabrication skills needed to design, engineer, and build emerging nanodevices with diverse applications in energy, memory, display, communications, and sensing. Focuses on the application and outlines the full progression from the fundamentals to the implemented device and functional technology. Closely integrates lectures with design-oriented laboratory modules. 

18 7 7 4
6.UR
6.UR Undergraduate Research in Electrical Engineering and Computer Science

(,,,)
Prereqs: none
Units: 0-0-0

Individual research project arranged with appropriate faculty member or approved advisor. Forms and instructions for the final report are available in the EECS Undergraduate Office.

17 2 2 6 7
6.S092
6.S092 Special Subject in Electrical Engineering and Computer Science

()
Prereqs: Permission of instructor
Units: 0-0-0

Covers subject matter not offered in the regular curriculum. Consult department to learn of offerings for a particular term.

16 4 5 4 3
6.6000[6.775]
6.6000 CMOS Analog and Mixed-Signal Circuit Design

()
Prereqs: 6.2090
Units: 3-0-9

A detailed exposition of the principles involved in designing and optimizing analog and mixed-signal circuits in CMOS technologies. Small-signal and large-signal models. Systemic methodology for device sizing and biasing. Basic circuit building blocks. Operational amplifier design. Principles of switched capacitor networks including switched-capacitor and continuous-time integrated filters. Basic and advanced A/D and D/A converters, delta-sigma modulators, RF and other signal processing circuits. Design projects on op amps and subsystems are a required part of the subject.

16 3 4 9
8.05
8.05 Quantum Physics II

()
Prereqs: 8.04 or 8.041
Units: 5-0-7

Vector spaces, linear operators, and matrix representations.  Inner products and adjoint operators. Commutator identities. Dirac's Bra-kets. Uncertainty principle and energy-time version. Spectral theorem and complete set of commuting observables. Schrodinger and Heisenberg pictures.  Axioms of quantum mechanics. Coherent states and nuclear magnetic resonance. Multiparticle states and tensor products. Quantum teleportation, EPR and Bell inequalities. Angular momentum and central potentials. Addition of angular momentum. Density matrices, pure and mixed states, decoherence.

15 1 4 10
6.1904
6.1904 Introduction to Low-level Programming in C and Assembly

()
Prereqs: 6.100A
Units: 2-2-2

Introduction to C and assembly language for students coming from a Python background (6.100A). Studies the C language, focusing on memory and associated topics including pointers, how different data structures are stored in memory, the stack, and the heap in order to build a strong understanding of the constraints involved in manipulating complex data structures in modern computational systems. Studies assembly language to facilitate a firm understanding of how high-level languages are translated to machine-level instructions.

15 7 6 2
6.1903
6.1903 Introduction to Low-level Programming in C and Assembly

(,)
Prereqs: 6.100A
Units: 2-2-2

Introduction to C and assembly language for students coming from a Python background (6.100A). Studies the C language, focusing on memory and associated topics including pointers, how different data structures are stored in memory, the stack, and the heap in order to build a strong understanding of the constraints involved in manipulating complex data structures in modern computational systems. Studies assembly language to facilitate a firm understanding of how high-level languages are translated to machine-level instructions.

15 4 8 2 1
18.05
18.05 Introduction to Probability and Statistics

()
Prereqs: GIR:CAL2
Units: 4-0-8

A unified introduction to probability, Bayesian inference, and frequentist statistics. Topics include: combinatorics, random variables, (joint) distributions, covariance, central limit theorem; Bayesian updating, odds, posterior prediction; significance tests, confidence intervals, bootstrapping, regression. Students also develop computational skills and statistical thinking by using R to simulate, analyze, and visualize data; and by exploring privacy, fairness, and causality in contemporary media and research. Flipped subject taught in a Technology Enabled Active Learning (TEAL) classroom to facilitate discussion, group problem solving, and coding studios with ample mentorship.

15 5 7 3
6.S917
6.S917 Special Subject in Electrical Engineering and Computer Science

()
Prereqs: Permission of instructor
Units: 0-0-0

Covers subject matter not offered in the regular curriculum.

14 3 5 3 3
2.670
2.670 Mechanical Engineering Tools

(,,)
Prereqs: none
Units: 0-1-2

Introduces the fundamentals of machine tools use and fabrication techniques. Students work with a variety of machine tools including the bandsaw, milling machine, and lathe. Mechanical Engineering students are advised to take this subject in the first IAP after declaring their major. Enrollment may be limited due to laboratory capacity. Preference to Course 2 majors and minors.

14 5 8 1
2.003
2.003 Dynamics and Control I

(,)
Prereqs/[Coreqs]: GIR:PHY2; [2.087 or 18.03]
Units: 4-1-7

Introduction to the dynamics and vibrations of lumped-parameter models of mechanical systems. Kinematics. Force-momentum formulation for systems of particles and rigid bodies in planar motion. Work-energy concepts. Virtual displacements and virtual work. Lagrange's equations for systems of particles and rigid bodies in planar motion. Linearization of equations of motion. Linear stability analysis of mechanical systems. Free and forced vibration of linear multi-degree of freedom models of mechanical systems; matrix eigenvalue problems.

14 2 9 2 1
6.145 13 10 1 2
2.EPW
2.EPW UPOP Engineering Practice Workshop

(,)
Prereqs: 2.EPE
Units: 1-0-0

Provides sophomores across all majors with opportunities to develop and practice communication, teamwork, and problem-solving skills to become successful professionals in the workplace, particularly in preparation for their summer industry internship. This immersive, multi-day Team Training Workshop (TTW) is comprised of experiential learning modules focused on expanding skills in areas that employers report being most valuable in the workplace. Modules are led by MIT faculty with the help of MIT alumni and other senior industry professionals. Skills applied through creative simulations, team problem-solving challenges, oral presentations, and networking sessions with prospective employers. Enrollment limited to those in the UPOP program.

13 13
8.13
8.13 Experimental Physics I

(,)
Prereqs: 8.04
Units: 0-6-12

First in a two-term advanced laboratory sequence in modern physics focusing on the professional and personal development of the student as a scientist through the medium of experimental physics. Experimental options cover special relativity, experimental foundations of quantum mechanics, atomic structure and optics, statistical mechanics, and nuclear and particle physics. Uses modern physics experiments to develop laboratory technique, systematic troubleshooting, professional scientific attitude, data analysis skills and reasoning about uncertainty. Provides extensive training in oral and written communication methods.

12 2 8 2
6.EPW
6.EPW UPOP Engineering Practice Workshop

(,)
Prereqs: 2.EPE
Units: 1-0-0

Provides sophomores across all majors with opportunities to develop and practice communication, teamwork, and problem-solving skills to become successful professionals in the workplace, particularly in preparation for their summer industry internship. This immersive, multi-day Team Training Workshop (TTW) is comprised of experiential learning modules focused on expanding skills in areas that employers report being most valuable in the workplace. Modules are led by MIT faculty with the help of MIT alumni and other senior industry professionals. Skills applied through creative simulations, team problem-solving challenges, oral presentations, and networking sessions with prospective employers. Enrollment limited to those in the UPOP program.

12 12
6.9120[6.912]
6.9120 Engineering Leadership

(,)
Prereqs/[Coreqs]: [6.9110]; or permission of instructor
Units: 1-0-2

Exposes students to the models and methods of engineering leadership within the contexts of conceiving, designing, implementing and operating products, processes and systems. Introduces the Capabilities of Effective Engineering Leaders, and models and theories related to the capabilities. Discusses the appropriate times and reasons to use particular models to deliver engineering success. Includes occasional guest speakers or panel discussions. May be repeated for credit once with permission of instructor. Preference to first-year students in the Gordon Engineering Leadership Program.

12 10 2
6.9110[6.911]
6.9110 Engineering Leadership Lab

(,)
Prereqs/[Coreqs]: [6.9120]; or permission of instructor
Units: 0-2-1

Advances students' leadership, teamwork, and communication skills through further exposure to leadership frameworks, models, and cases within an engineering context in an interactive, practice-based environment. Students coach others, assess performance, and lead guided reflections on individual and team successes, while discovering opportunities for improvement. Students assist with programmatic planning and implementation of role-play simulations, small group discussions, and performance and peer assessments by and of other students and by instructors. Includes frequent engineering industry-guest participation and involvement. Content is frequently student-led. Second year Gordon Engineering Leadership Program (GEL) Program students register for 6.9130. Preference to students enrolled in the second year of the Gordon-MIT Engineering Leadership Program.

12 10 2
6.1900[6.0004] 12 7 2 3
2.00B
2.00B Toy Product Design

()
Prereqs: none
Units: 3-5-1

Provides students with an overview of design for entertainment and play, as well as opportunities in creative product design and community service. Students develop ideas for new toys that serve clients in the community, and work in teams with local sponsors and with experienced mentors on a themed toy design project. Students enhance creativity and experience fundamental aspects of the product development process, including determining customer needs, brainstorming, estimation, sketching, sketch modeling, concept development, design aesthetics, detailed design, and prototyping. Includes written, visual, and oral communication. Enrollment limited; preference to freshmen.

12 10 2
most-taken by 6-1s in Y1: 6.100A[6.0001] (74)
6.2000[6.002] (23)
6.100B[6.0002] (20)
6.9010[6.08] (18)
8.223 (13)
most-taken by 6-1s in Y2: 6.2000[6.002] (75)
6.3000[6.003] (52)
6.1910[6.004] (44)
6.2500[6.012] (19)
8.04 (18)
most-taken by 6-1s in Y3: 6.2300[6.013] (43)
6.3000[6.003] (41)
6.2500[6.012] (36)
6.2050[6.111] (36)
6.1910[6.004] (28)
most-taken by 6-1s in Y4: 6.2050[6.111] (26)
6.6220[6.334] (21)
6.3010[6.011] (20)
6.2300[6.013] (19)
6.2500[6.012] (15)
Subjects taken by 6-2 Majors
EECS and non-GIR Subjects taken by 10% or more of 6-2s (656 total students):
Subject Number of Students
Total Y1 Y2 Y3 Y4
6.100A[6.0001]
6.100A Introduction to Computer Science Programming in Python

()
Prereqs: none
Units: 2-0-4

Introduction to computer science and programming. Students develop skills to program and use computational techniques to solve problems. Topics include: the notion of computation, Python, simple algorithms and data structures, object-oriented programming, testing and debugging, and algorithmic complexity. Lectures are viewed outside of class; in-class time is dedicated to problem-solving and discussion. Combination of 6.100A and 6.100B (or 16.C20) counts as REST subject.

580 529 40 5 6
6.1010[6.009]
6.1010 Fundamentals of Programming

(,)
Prereqs: 6.1000 or (6.100A and (6.100B or 16.C20))
Units: 2-4-6

Introduces fundamental concepts of programming. Designed to develop skills in applying basic methods from programming languages to abstract problems. Topics include programming and Python basics, computational concepts, software engineering, algorithmic techniques, data types, and recursion. Lab component consists of software design, construction, and implementation of design. Enrollment may be limited.

558 264 240 43 11
6.2000[6.002]
6.2000 Electrical Circuits: Modeling and Design of Physical Systems

(,)
Prereqs: GIR:PHY2
Units: 3-3-6

Fundamentals of linear systems, and abstraction modeling of multi-physics lumped and distributed systems using lumped electrical circuits. Linear networks involving independent and dependent sources, resistors, capacitors, and inductors. Extensions to include operational amplifiers and transducers. Dynamics of first- and second-order networks; analysis and design in the time and frequency domains; signal and energy processing applications. Design exercises. Weekly laboratory with microcontroller and transducers.

538 48 298 151 41
6.1210[6.006]
6.1210 Introduction to Algorithms

(,)
Prereqs: 6.100A and (6.1200 or (6.120A and (6.3700, 6.3800, 18.05, or 18.600)))
Units: 5-0-7

Introduction to mathematical modeling of computational problems, as well as common algorithms, algorithmic paradigms, and data structures used to solve these problems. Emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems. Enrollment may be limited.

499 102 275 91 31
6.3900[6.036]
6.3900 Introduction to Machine Learning

(,)
Prereqs: (6.1000 or 6.1210) and (18.03 or 18.06)
Units: 4-0-8

Introduction to the principles and algorithms of machine learning from an optimization perspective. Topics include linear and non-linear models for supervised, unsupervised, and reinforcement learning, with a focus on gradient-based methods and neural-network architectures. Previous experience with algorithms may be helpful.

496 71 231 133 61
6.1910[6.004]
6.1910 Computation Structures

(,)
Prereqs: (GIR:PHY2, 6.100A, and (6.1903 or 6.1904)) or permission of instructor
Units: 4-0-8

Provides an introduction to the design of digital systems and computer architecture. Emphasizes expressing all hardware designs in a high-level hardware description language and synthesizing the designs. Topics include combinational and sequential circuits, instruction set abstraction for programmable hardware, single-cycle and pipelined processor implementations, multi-level memory hierarchies, virtual memory, exceptions and I/O, and parallel systems.

486 53 274 134 25
6.1200[6.042]
6.1200 Mathematics for Computer Science

(,)
Prereqs: GIR:CAL1
Units: 5-0-7

Elementary discrete mathematics for science and engineering, with a focus on mathematical tools and proof techniques useful in computer science. Topics include logical notation, sets, relations, elementary graph theory, state machines and invariants, induction and proofs by contradiction, recurrences, asymptotic notation, elementary analysis of algorithms, elementary number theory and cryptography, permutations and combinations, counting tools, and discrete probability.

375 199 133 30 13
6.3000[6.003]
6.3000 Signal Processing

(,)
Prereqs: 6.100A
Units: 4-0-8

Fundamentals of signal processing, focusing on the use of Fourier methods to analyze and process signals such as sounds and images. Topics include Fourier series, Fourier transforms, the Discrete Fourier Transform, sampling, convolution, deconvolution, filtering, noise reduction, and compression. Applications draw broadly from areas of contemporary interest with emphasis on both analysis and design.

312 24 122 107 59
6.9010[6.08]
6.9010 Introduction to EECS via Interconnected Embedded Systems

()
Prereqs/[Coreqs]: 6.100A; [GIR:PHY2]
Units: 1-5-6

Introduction to embedded systems in the context of connected devices, wearables, and the "Internet of Things" (IoT). Topics include microcontrollers, energy utilization, algorithmic efficiency, interfacing with sensors, networking, cryptography, and local versus distributed computation. Students design, make, and program an Internet-connected wearable or handheld device. In the final project, student teams design and demo their own server-connected IoT system. Enrollment limited; preference to first- and second-year students.

301 146 113 28 14
6.2050[6.111]
6.2050 Digital Systems Laboratory

()
Prereqs: 6.1910 or permission of instructor
Units: 3-7-2

Lab-intensive subject that investigates digital systems with a focus on FPGAs. Lectures and labs cover logic, flip flops, counters, timing, synchronization, finite-state machines, digital signal processing, communication protocols, and modern sensors. Prepares students for the design and implementation of a large-scale final project of their choice: games, music, digital filters, wireless communications, video, or graphics. Extensive use of System/Verilog for describing and implementing and verifying digital logic designs.

280 22 151 107
6.1800[6.033]
6.1800 Computer Systems Engineering

()
Prereqs: 6.1910
Units: 5-1-6

Topics on the engineering of computer software and hardware systems: techniques for controlling complexity; strong modularity using client-server design, operating systems; performance, networks; naming; security and privacy; fault-tolerant systems, atomicity and coordination of concurrent activities, and recovery; impact of computer systems on society. Case studies of working systems and readings from the current literature provide comparisons and contrasts. Students learn to analyze, critique, and design systems through extensive written communication exercises. Enrollment may be limited.

255 3 49 142 61
6.100B[6.0002]
6.100B Introduction to Computational Thinking and Data Science

(,)
Prereqs: 6.100A or permission of instructor
Units: 2-0-4

Provides an introduction to using computation to build models that can be used to help understand real-world phenomena. Topics include optimization problems, simulation models, and statistical models. Requires experience programming in Python as a prerequisite. Combination of 6.100A and 6.100B counts as REST subject.

235 191 27 7 10
6.3100[6.302]
6.3100 Dynamical System Modeling and Control Design

(,)
Prereqs: GIR:PHY2 and (18.06 or 18.C06)
Units: 4-4-4

A learn-by-design introduction to modeling and control of discrete- and continuous-time systems, from intuition-building analytical techniques to more computational and data-centric strategies. Topics include: linear difference/differential equations (natural frequencies, transfer functions); controller metrics (stability, tracking, disturbance rejection); analytical techniques (PID, root-loci, lead-lag, phase margin); computational strategies (state-space, eigen-placement, LQR); and data-centric approaches (state estimation, regression, and identification). Concepts are introduced with lectures and online problems, and then mastered during weekly labs. In lab, students model, design, test, and explain systems and controllers involving sensors, actuators, and a microcontroller (e.g., optimizing thrust-driven positioners or stabilizing magnetic levitators). Students taking graduate version complete additional problems and labs.

232 2 79 105 46
6.1020[6.031]
6.1020 Software Construction

()
Prereqs: 6.1010
Units: 3-0-12

Introduces fundamental principles and techniques of software development: how to write software that is safe from bugs, easy to understand, and ready for change. Topics include specifications and invariants; testing, test-case generation, and coverage; abstract data types and representation independence; design patterns for object-oriented programming; concurrent programming, including message passing and shared memory concurrency, and defending against races and deadlock; and functional programming with immutable data and higher-order functions. Includes weekly programming exercises and larger group programming projects.

203 2 104 78 19
6.UAT
6.UAT Oral Communication

(,)
Prereqs: none
Units: 3-0-6

Provides instruction in aspects of effective technical oral presentations and exposure to communication skills useful in a workplace setting. Students create, give and revise a number of presentations of varying length targeting a range of different audiences.

202 1 22 96 83
18.06
18.06 Linear Algebra

()
Prereqs: GIR:CAL2
Units: 4-0-8

Basic subject on matrix theory and linear algebra, emphasizing topics useful in other disciplines, including systems of equations, vector spaces, determinants, eigenvalues, singular value decomposition, and positive definite matrices. Applications to least-squares approximations, stability of differential equations, networks, Fourier transforms, and Markov processes. Uses linear algebra software. Compared with 18.700, more emphasis on matrix algorithms and many applications.

187 28 78 41 40
6.1220[6.046]
6.1220 Design and Analysis of Algorithms

(,)
Prereqs: 6.1200 and 6.1210
Units: 4-0-8

Techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics include sorting; search trees, heaps, and hashing; divide-and-conquer; dynamic programming; greedy algorithms; amortized analysis; graph algorithms; and shortest paths. Advanced topics may include network flow; computational geometry; number-theoretic algorithms; polynomial and matrix calculations; caching; and parallel computing.

186 24 76 68 18
6.2060[6.115]
6.2060 Microcomputer Project Laboratory

()
Prereqs: 6.1910, 6.2000, or 6.3000
Units: 3-6-3

Introduces analysis and design of embedded systems. Emphasizes construction of complete systems, including a five-axis robot arm, a fluorescent lamp ballast, a tomographic imaging station (e.g., a CAT scan), and a simple calculator. Presents a wide range of basic tools, including software and development tools, programmable system on chip, peripheral components such as A/D converters, communication schemes, signal processing techniques, closed-loop digital feedback control, interface and power electronics, and modeling of electromechanical systems. Includes a sequence of assigned projects, followed by a final project of the student's choice, emphasizing creativity and uniqueness. Provides instruction in written and oral communication. To satisfy the independent inquiry component of this subject, students expand the scope of their laboratory project. Enrollment limited.

182 37 108 37
6.2500[6.012]
6.2500 Nanoelectronics and Computing Systems

()
Prereqs: 6.2000
Units: 4-0-8

Studies interaction between materials, semiconductor physics, electronic devices, and computing systems. Develops intuition of how transistors operate. Topics range from introductory semiconductor physics to modern state-of-the-art nano-scale devices. Considers how innovations in devices have driven historical progress in computing, and explores ideas for further improvements in devices and computing. Students apply material to understand how building improved computing systems requires knowledge of devices, and how making the correct device requires knowledge of computing systems. Includes a design project for practical application of concepts, and labs for experience building silicon transistors and devices.

176 2 32 86 56
18.600
18.600 Probability and Random Variables

(,)
Prereqs: GIR:CAL2
Units: 4-0-8

Probability spaces, random variables, distribution functions. Binomial, geometric, hypergeometric, Poisson distributions. Uniform, exponential, normal, gamma and beta distributions. Conditional probability, Bayes theorem, joint distributions. Chebyshev inequality, law of large numbers, and central limit theorem. Credit cannot also be received for 6.041A or 6.041B.

150 9 68 42 31
18.03
18.03 Differential Equations

(,)
Prereqs/[Coreqs]: [GIR:CAL2]
Units: 5-0-7

Study of differential equations, including modeling physical systems. Solution of first-order ODEs by analytical, graphical, and numerical methods. Linear ODEs with constant coefficients. Complex numbers and exponentials. Inhomogeneous equations: polynomial, sinusoidal, and exponential inputs. Oscillations, damping, resonance. Fourier series. Matrices, eigenvalues, eigenvectors, diagonalization. First order linear systems: normal modes, matrix exponentials, variation of parameters. Heat equation, wave equation. Nonlinear autonomous systems: critical point analysis, phase plane diagrams.

128 33 52 27 16
6.9620[6.148]
6.9620 Web Lab: A Web Programming Class and Competition

()
Prereqs: none
Units: 1-0-5

Student teams learn to build a functional and user-friendly website. Topics include version control, HTML, CSS, JavaScript, ReactJS, and nodejs. All teams are eligible to enter a competition where sites are judged by industry experts. Beginners and experienced web programmers welcome, but some previous programming experience is recommended. Registration on subject website required.

127 57 39 22 9
6.4100[6.034] 122 3 26 54 39
6.9000[6.010]
6.9000 Engineering for Impact

()
Prereqs: 6.1910, 6.2000, and 6.3000
Units: 2-3-7

Students work in teams to engineer hardware/software systems that solve important, challenging real-world problems. In pursuit of these projects, students engage at every step of the full-stack development process, from printed circuit board design to firmware to server to industrial design. Teams design and build functional prototypes of complete hardware/software systems. Grading is based on individual- and team-based elements. Enrollment may be limited due to staffing and space requirements.

113 5 43 65
6.4200[6.141]
6.4200 Robotics: Science and Systems

()
Prereqs: ((1.00 or 6.100A) and (2.003, 6.1010, 6.1210, or 16.06)) or permission of instructor
Units: 2-6-4

Presents concepts, principles, and algorithmic foundations for robots and autonomous vehicles operating in the physical world. Topics include sensing, kinematics and dynamics, state estimation, computer vision, perception, learning, control, motion planning, and embedded system development. Students design and implement advanced algorithms on complex robotic platforms capable of agile autonomous navigation and real-time interaction with the physical word. Students engage in extensive written and oral communication exercises. Enrollment limited.

113 3 23 71 16
6.EPW
6.EPW UPOP Engineering Practice Workshop

(,)
Prereqs: 2.EPE
Units: 1-0-0

Provides sophomores across all majors with opportunities to develop and practice communication, teamwork, and problem-solving skills to become successful professionals in the workplace, particularly in preparation for their summer industry internship. This immersive, multi-day Team Training Workshop (TTW) is comprised of experiential learning modules focused on expanding skills in areas that employers report being most valuable in the workplace. Modules are led by MIT faculty with the help of MIT alumni and other senior industry professionals. Skills applied through creative simulations, team problem-solving challenges, oral presentations, and networking sessions with prospective employers. Enrollment limited to those in the UPOP program.

101 101
6.3700[6.041]
6.3700 Introduction to Probability

(,)
Prereqs: GIR:CAL2
Units: 4-0-8

An introduction to probability theory, the modeling and analysis of probabilistic systems, and elements of statistical inference. Probabilistic models, conditional probability. Discrete and continuous random variables. Expectation and conditional expectation, and further topics about random variables. Limit Theorems. Bayesian estimation and hypothesis testing. Elements of classical statistical inference. Bernoulli and Poisson processes. Markov chains. Students taking graduate version complete additional assignments.

97 7 32 35 23
6.3010[6.011]
6.3010 Signals, Systems and Inference

()
Prereqs: 6.3000 and (6.3700, 6.3800, or 18.05)
Units: 4-0-8

Covers signals, systems and inference in communication, control and signal processing. Topics include input-output and state-space models of linear systems driven by deterministic and random signals; time- and transform-domain representations in discrete and continuous time; and group delay. State feedback and observers. Probabilistic models; stochastic processes, correlation functions, power spectra, spectral factorization. Least-mean square error estimation; Wiener filtering. Hypothesis testing; detection; matched filters.

96 22 37 37
6.2300[6.013]
6.2300 Electromagnetics Waves and Applications

()
Prereqs: GIR:CAL2 and GIR:PHY2
Units: 3-5-4

Analysis and design of modern applications that employ electromagnetic phenomena for signals and power transmission in RF, microwaves, optical and wireless communication systems. Fundamentals include dynamic solutions for Maxwell's equations; electromagnetic power and energy, waves in media, metallic and dielectric waveguides, radiation, and diffraction; resonance; filters; and acoustic analogs. Lab activities range from building to testing of devices and systems (e.g., antenna arrays, radars, dielectric waveguides). Students work in teams on self-proposed maker-style design projects with a focus on fostering creativity, teamwork, and debugging skills. 6.2000 and 6.3000 are recommended but not required.

91 3 19 41 28
6.1903
6.1903 Introduction to Low-level Programming in C and Assembly

(,)
Prereqs: 6.100A
Units: 2-2-2

Introduction to C and assembly language for students coming from a Python background (6.100A). Studies the C language, focusing on memory and associated topics including pointers, how different data structures are stored in memory, the stack, and the heap in order to build a strong understanding of the constraints involved in manipulating complex data structures in modern computational systems. Studies assembly language to facilitate a firm understanding of how high-level languages are translated to machine-level instructions.

90 22 48 17 3
6.2080[6.300]
6.2080 Semiconductor Electronic Circuits

()
Prereqs: 6.2000
Units: 3-2-7

Provides an introduction to basic circuit design, starting from basic semiconductor devices such as diodes and transistors, large and small signal models and analysis, to circuits such as basic amplifier and opamp circuits. Labs give students access to CAD/EDA tools to design, analyze, and layout analog circuits. At the end of the term, students have their chip design fabricated using a 22nm FinFET CMOS process.

88 1 15 54 18
18.05
18.05 Introduction to Probability and Statistics

()
Prereqs: GIR:CAL2
Units: 4-0-8

A unified introduction to probability, Bayesian inference, and frequentist statistics. Topics include: combinatorics, random variables, (joint) distributions, covariance, central limit theorem; Bayesian updating, odds, posterior prediction; significance tests, confidence intervals, bootstrapping, regression. Students also develop computational skills and statistical thinking by using R to simulate, analyze, and visualize data; and by exploring privacy, fairness, and causality in contemporary media and research. Flipped subject taught in a Technology Enabled Active Learning (TEAL) classroom to facilitate discussion, group problem solving, and coding studios with ample mentorship.

77 1 21 30 25
8.223
8.223 Classical Mechanics II

()
Prereqs: GIR:CAL2 and GIR:PHY1
Units: 2-0-4

A broad, theoretical treatment of classical mechanics, useful in its own right for treating complex dynamical problems, but essential to understanding the foundations of quantum mechanics and statistical physics. Generalized coordinates, Lagrangian and Hamiltonian formulations, canonical transformations, and Poisson brackets. Applications to continuous media. The relativistic Lagrangian and Maxwell's equations.

76 46 20 9 1
6.UAR
6.UAR Seminar in Undergraduate Advanced Research

(,)
Prereqs: Permission of instructor
Units: 2-0-4

Instruction in effective undergraduate research, including choosing and developing a research topic, surveying previous work and publications, research topics in EECS and the School of Engineering, industry best practices, design for robustness, technical presentation, authorship and collaboration, and ethics. Students engage in extensive written and oral communication exercises, in the context of an approved advanced research project. A total of 12 units of credit is awarded for completion of the fall and subsequent spring term offerings. Application required; consult EECS SuperUROP website for more information.

74 45 29
6.1060[6.172]
6.1060 Software Performance Engineering

()
Prereqs: 6.1020, 6.1210, and 6.1910
Units: 3-12-3

Project-based introduction to building efficient, high-performance and scalable software systems. Topics include performance analysis, algorithmic techniques for high performance, instruction-level optimizations, vectorization, cache and memory hierarchy optimization, and parallel programming.

72 5 29 38
6.1810[6.039]
6.1810 Operating System Engineering

()
Prereqs: 6.1910
Units: 3-0-9

Design and implementation of operating systems, and their use as a foundation for systems programming. Topics include virtual memory, file systems, threads, context switches, kernels, interrupts, system calls, interprocess communication, coordination, and interaction between software and hardware. A multi-processor operating system for RISC-V, xv6, is used to illustrate these topics. Individual laboratory assignments involve extending the xv6 operating system, for example to support sophisticated virtual memory features and networking.

70 2 29 39
6.A01 68 67 1
6.9120[6.912]
6.9120 Engineering Leadership

(,)
Prereqs/[Coreqs]: [6.9110]; or permission of instructor
Units: 1-0-2

Exposes students to the models and methods of engineering leadership within the contexts of conceiving, designing, implementing and operating products, processes and systems. Introduces the Capabilities of Effective Engineering Leaders, and models and theories related to the capabilities. Discusses the appropriate times and reasons to use particular models to deliver engineering success. Includes occasional guest speakers or panel discussions. May be repeated for credit once with permission of instructor. Preference to first-year students in the Gordon Engineering Leadership Program.

68 62 6
6.9110[6.911]
6.9110 Engineering Leadership Lab

(,)
Prereqs/[Coreqs]: [6.9120]; or permission of instructor
Units: 0-2-1

Advances students' leadership, teamwork, and communication skills through further exposure to leadership frameworks, models, and cases within an engineering context in an interactive, practice-based environment. Students coach others, assess performance, and lead guided reflections on individual and team successes, while discovering opportunities for improvement. Students assist with programmatic planning and implementation of role-play simulations, small group discussions, and performance and peer assessments by and of other students and by instructors. Includes frequent engineering industry-guest participation and involvement. Content is frequently student-led. Second year Gordon Engineering Leadership Program (GEL) Program students register for 6.9130. Preference to students enrolled in the second year of the Gordon-MIT Engineering Leadership Program.

68 62 6
6.S191
6.S191 Special Laboratory Subject in Electrical Engineering and Computer Science

()
Prereqs: Permission of instructor
Units: 0-0-0

Laboratory subject that covers content not offered in the regular curriculum. Consult department to learn of offerings for a particular term.

67 34 22 5 6
6.EPE
6.EPE UPOP Engineering Practice Experience

(,)
Prereqs: none
Units: 0-0-1

Provides students with skills to prepare for and excel in the world of industry. Emphasizes practical application of career theory and professional development concepts. Introduces students to relevant and timely resources for career development, provides students with tools to embark on a successful internship search, and offers networking opportunities with employers and MIT alumni. Students work in groups, led by industry mentors, to improve their resumes and cover letters, interviewing skills, networking abilities, project management, and ability to give and receive feedback. Objective is for students to be able to adapt and contribute effectively to their future employment organizations. A total of two units of credit is awarded for completion of the fall and subsequent spring term offerings. Application required; consult UPOP website for more information.

66 63 3
most-taken by 6-2s in Y1: 6.100A[6.0001] (529)
6.1010[6.009] (264)
6.1200[6.042] (199)
6.100B[6.0002] (191)
6.9010[6.08] (146)
most-taken by 6-2s in Y2: 6.2000[6.002] (298)
6.1210[6.006] (275)
6.1910[6.004] (274)
6.1010[6.009] (240)
6.3900[6.036] (231)
most-taken by 6-2s in Y3: 6.2050[6.111] (151)
6.2000[6.002] (151)
6.1800[6.033] (142)
6.1910[6.004] (134)
6.3900[6.036] (133)
most-taken by 6-2s in Y4: 6.2050[6.111] (107)
6.UAT (83)
6.9000[6.010] (65)
6.3900[6.036] (61)
6.1800[6.033] (61)
Subjects taken by 6-3 Majors
EECS and non-GIR Subjects taken by 10% or more of 6-3s (2101 total students):
Subject Number of Students
Total Y1 Y2 Y3 Y4
6.1010[6.009]
6.1010 Fundamentals of Programming

(,)
Prereqs: 6.1000 or (6.100A and (6.100B or 16.C20))
Units: 2-4-6

Introduces fundamental concepts of programming. Designed to develop skills in applying basic methods from programming languages to abstract problems. Topics include programming and Python basics, computational concepts, software engineering, algorithmic techniques, data types, and recursion. Lab component consists of software design, construction, and implementation of design. Enrollment may be limited.

2028 1386 584 47 11
6.100A[6.0001]
6.100A Introduction to Computer Science Programming in Python

()
Prereqs: none
Units: 2-0-4

Introduction to computer science and programming. Students develop skills to program and use computational techniques to solve problems. Topics include: the notion of computation, Python, simple algorithms and data structures, object-oriented programming, testing and debugging, and algorithmic complexity. Lectures are viewed outside of class; in-class time is dedicated to problem-solving and discussion. Combination of 6.100A and 6.100B (or 16.C20) counts as REST subject.

1929 1823 88 9 9
6.1910[6.004]
6.1910 Computation Structures

(,)
Prereqs: (GIR:PHY2, 6.100A, and (6.1903 or 6.1904)) or permission of instructor
Units: 4-0-8

Provides an introduction to the design of digital systems and computer architecture. Emphasizes expressing all hardware designs in a high-level hardware description language and synthesizing the designs. Topics include combinational and sequential circuits, instruction set abstraction for programmable hardware, single-cycle and pipelined processor implementations, multi-level memory hierarchies, virtual memory, exceptions and I/O, and parallel systems.

1907 212 1044 569 82
6.1020[6.031]
6.1020 Software Construction

()
Prereqs: 6.1010
Units: 3-0-12

Introduces fundamental principles and techniques of software development: how to write software that is safe from bugs, easy to understand, and ready for change. Topics include specifications and invariants; testing, test-case generation, and coverage; abstract data types and representation independence; design patterns for object-oriented programming; concurrent programming, including message passing and shared memory concurrency, and defending against races and deadlock; and functional programming with immutable data and higher-order functions. Includes weekly programming exercises and larger group programming projects.

1846 79 1168 490 109
6.1210[6.006]
6.1210 Introduction to Algorithms

(,)
Prereqs: 6.100A and (6.1200 or (6.120A and (6.3700, 6.3800, 18.05, or 18.600)))
Units: 5-0-7

Introduction to mathematical modeling of computational problems, as well as common algorithms, algorithmic paradigms, and data structures used to solve these problems. Emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems. Enrollment may be limited.

1794 765 882 116 31
6.1220[6.046]
6.1220 Design and Analysis of Algorithms

(,)
Prereqs: 6.1200 and 6.1210
Units: 4-0-8

Techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics include sorting; search trees, heaps, and hashing; divide-and-conquer; dynamic programming; greedy algorithms; amortized analysis; graph algorithms; and shortest paths. Advanced topics may include network flow; computational geometry; number-theoretic algorithms; polynomial and matrix calculations; caching; and parallel computing.

1692 268 719 563 142
6.3900[6.036]
6.3900 Introduction to Machine Learning

(,)
Prereqs: (6.1000 or 6.1210) and (18.03 or 18.06)
Units: 4-0-8

Introduction to the principles and algorithms of machine learning from an optimization perspective. Topics include linear and non-linear models for supervised, unsupervised, and reinforcement learning, with a focus on gradient-based methods and neural-network architectures. Previous experience with algorithms may be helpful.

1687 417 921 287 62
6.1800[6.033]
6.1800 Computer Systems Engineering

()
Prereqs: 6.1910
Units: 5-1-6

Topics on the engineering of computer software and hardware systems: techniques for controlling complexity; strong modularity using client-server design, operating systems; performance, networks; naming; security and privacy; fault-tolerant systems, atomicity and coordination of concurrent activities, and recovery; impact of computer systems on society. Case studies of working systems and readings from the current literature provide comparisons and contrasts. Students learn to analyze, critique, and design systems through extensive written communication exercises. Enrollment may be limited.

1627 10 422 881 314
6.1200[6.042]
6.1200 Mathematics for Computer Science

(,)
Prereqs: GIR:CAL1
Units: 5-0-7

Elementary discrete mathematics for science and engineering, with a focus on mathematical tools and proof techniques useful in computer science. Topics include logical notation, sets, relations, elementary graph theory, state machines and invariants, induction and proofs by contradiction, recurrences, asymptotic notation, elementary analysis of algorithms, elementary number theory and cryptography, permutations and combinations, counting tools, and discrete probability.

1248 873 308 39 28
6.9010[6.08]
6.9010 Introduction to EECS via Interconnected Embedded Systems

()
Prereqs/[Coreqs]: 6.100A; [GIR:PHY2]
Units: 1-5-6

Introduction to embedded systems in the context of connected devices, wearables, and the "Internet of Things" (IoT). Topics include microcontrollers, energy utilization, algorithmic efficiency, interfacing with sensors, networking, cryptography, and local versus distributed computation. Students design, make, and program an Internet-connected wearable or handheld device. In the final project, student teams design and demo their own server-connected IoT system. Enrollment limited; preference to first- and second-year students.

647 220 283 109 35
6.100B[6.0002]
6.100B Introduction to Computational Thinking and Data Science

(,)
Prereqs: 6.100A or permission of instructor
Units: 2-0-4

Provides an introduction to using computation to build models that can be used to help understand real-world phenomena. Topics include optimization problems, simulation models, and statistical models. Requires experience programming in Python as a prerequisite. Combination of 6.100A and 6.100B counts as REST subject.

644 549 57 18 20
18.600
18.600 Probability and Random Variables

(,)
Prereqs: GIR:CAL2
Units: 4-0-8

Probability spaces, random variables, distribution functions. Binomial, geometric, hypergeometric, Poisson distributions. Uniform, exponential, normal, gamma and beta distributions. Conditional probability, Bayes theorem, joint distributions. Chebyshev inequality, law of large numbers, and central limit theorem. Credit cannot also be received for 6.041A or 6.041B.

609 80 317 150 62
6.UAT
6.UAT Oral Communication

(,)
Prereqs: none
Units: 3-0-6

Provides instruction in aspects of effective technical oral presentations and exposure to communication skills useful in a workplace setting. Students create, give and revise a number of presentations of varying length targeting a range of different audiences.

604 5 69 304 226
6.9620[6.148]
6.9620 Web Lab: A Web Programming Class and Competition

()
Prereqs: none
Units: 1-0-5

Student teams learn to build a functional and user-friendly website. Topics include version control, HTML, CSS, JavaScript, ReactJS, and nodejs. All teams are eligible to enter a competition where sites are judged by industry experts. Beginners and experienced web programmers welcome, but some previous programming experience is recommended. Registration on subject website required.

599 335 191 55 18
18.650
18.650 Fundamentals of Statistics

(,)
Prereqs: 6.3700 or 18.600
Units: 4-0-8

A rapid introduction to the theoretical foundations of statistical methods that are useful in many applications. Covers a broad range of topics in a short amount of time with the goal of providing a rigorous and cohesive understanding of the modern statistical landscape. Mathematical language is used for intuition and basic derivations but not proofs. Main topics include: parametric estimation, confidence intervals, hypothesis testing, Bayesian inference, and linear and logistic regression. Additional topics may include: causal inference, nonparametric estimation, and classification.

532 54 262 152 64
6.1060[6.172]
6.1060 Software Performance Engineering

()
Prereqs: 6.1020, 6.1210, and 6.1910
Units: 3-12-3

Project-based introduction to building efficient, high-performance and scalable software systems. Topics include performance analysis, algorithmic techniques for high performance, instruction-level optimizations, vectorization, cache and memory hierarchy optimization, and parallel programming.

501 1 47 285 168
18.06
18.06 Linear Algebra

()
Prereqs: GIR:CAL2
Units: 4-0-8

Basic subject on matrix theory and linear algebra, emphasizing topics useful in other disciplines, including systems of equations, vector spaces, determinants, eigenvalues, singular value decomposition, and positive definite matrices. Applications to least-squares approximations, stability of differential equations, networks, Fourier transforms, and Markov processes. Uses linear algebra software. Compared with 18.700, more emphasis on matrix algorithms and many applications.

465 117 174 99 75
18.03
18.03 Differential Equations

(,)
Prereqs/[Coreqs]: [GIR:CAL2]
Units: 5-0-7

Study of differential equations, including modeling physical systems. Solution of first-order ODEs by analytical, graphical, and numerical methods. Linear ODEs with constant coefficients. Complex numbers and exponentials. Inhomogeneous equations: polynomial, sinusoidal, and exponential inputs. Oscillations, damping, resonance. Fourier series. Matrices, eigenvalues, eigenvectors, diagonalization. First order linear systems: normal modes, matrix exponentials, variation of parameters. Heat equation, wave equation. Nonlinear autonomous systems: critical point analysis, phase plane diagrams.

412 66 136 115 95
6.1903
6.1903 Introduction to Low-level Programming in C and Assembly

(,)
Prereqs: 6.100A
Units: 2-2-2

Introduction to C and assembly language for students coming from a Python background (6.100A). Studies the C language, focusing on memory and associated topics including pointers, how different data structures are stored in memory, the stack, and the heap in order to build a strong understanding of the constraints involved in manipulating complex data structures in modern computational systems. Studies assembly language to facilitate a firm understanding of how high-level languages are translated to machine-level instructions.

404 130 224 44 6
6.1040[6.170]
6.1040 Software Design

()
Prereqs: 6.1020 and 6.1200
Units: 4-0-11

Provides design-focused instruction on how to build complex software applications. Presents key skills in product design and human-computer interaction (identifying authentic demand, prototyping, visual design, and user testing), software concept design (achieving clarity, modularity, and focus in structuring functionality), and analyzing social and ethical implications. Implementation topics include client/server web apps, reactive front-ends, and databases. Students work on both individual projects and a larger team project, and are taught to make effective and intentional use of LLMs in design and coding.

372 5 166 201
6.1810[6.039]
6.1810 Operating System Engineering

()
Prereqs: 6.1910
Units: 3-0-9

Design and implementation of operating systems, and their use as a foundation for systems programming. Topics include virtual memory, file systems, threads, context switches, kernels, interrupts, system calls, interprocess communication, coordination, and interaction between software and hardware. A multi-processor operating system for RISC-V, xv6, is used to illustrate these topics. Individual laboratory assignments involve extending the xv6 operating system, for example to support sophisticated virtual memory features and networking.

367 39 162 166
6.9630[6.176]
6.9630 Pokerbots Competition

()
Prereqs: none
Units: 1-0-5

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.

350 169 94 64 23
6.5840[6.824]
6.5840 Distributed Computer Systems Engineering

()
Prereqs: 6.1800, 6.1810, or permission of instructor
Units: 3-0-9

Abstractions and implementation techniques for engineering distributed systems: remote procedure call, threads and locking, client/server, peer-to-peer, consistency, fault tolerance, and security. Readings from current literature. Individual laboratory assignments culminate in the construction of a fault-tolerant and scalable storage. Experience with programming and debugging is expected. Enrollment limited.

350 6 37 158 149
18.404
18.404 Theory of Computation

()
Prereqs: 6.1200 or 18.200
Units: 4-0-8

A more extensive and theoretical treatment of the material in 6.1400J/18.400J, emphasizing computability and computational complexity theory. Regular and context-free languages. Decidable and undecidable problems, reducibility, recursive function theory. Time and space measures on computation, completeness, hierarchy theorems, inherently complex problems, oracles, probabilistic computation, and interactive proof systems.

348 26 138 119 65
6.8611[6.806]
6.8611 Quantitative Methods for Natural Language Processing

()
Prereqs: 6.3900 and (18.06 or 18.C06)
Units: 4-0-11

Introduces the study of human language from a computational perspective, including syntactic, semantic and discourse processing models. Emphasizes machine learning methods and algorithms. Uses these methods and models in applications such as syntactic parsing, information extraction, statistical machine translation, dialogue systems. Instruction and practice in oral and written communication provided.

308 6 75 152 75
18.701
18.701 Algebra I

()
Prereqs: 18.100A, 18.100B, 18.100P, 18.100Q, 18.090, or permission of instructor
Units: 3-0-9

18.701-18.702 is more extensive and theoretical than the 18.700-18.703 sequence. Experience with proofs necessary. 18.701 focuses on group theory, geometry, and linear algebra.

302 188 81 28 5
6.8301[6.819]
6.8301 Advances in Computer Vision

()
Prereqs: (6.1200 or 6.3700) and (18.06 or 18.C06)
Units: 4-0-11

Advanced topics in computer vision with a focus on the use of machine learning techniques and applications in graphics and human-computer interface. Covers image representations, texture models, structure-from-motion algorithms, Bayesian techniques, object and scene recognition, tracking, shape modeling, and image databases. Applications may include face recognition, multimodal interaction, interactive systems, cinematic special effects, and photorealistic rendering. Includes instruction and practice in written and oral communication.

299 10 95 119 75
6.7960
6.7960 Deep Learning

()
Prereqs: 18.05 and (6.3720, 6.3900, or 6.C01)
Units: 3-0-9

Fundamentals of deep learning, including both theory and applications. Topics include neural net architectures (MLPs, CNNs, RNNs, graph nets, transformers), geometry and invariances in deep learning, backpropagation and automatic differentiation, learning theory and generalization in high-dimensions, and applications to computer vision, natural language processing, and robotics.

244 1 80 86 77
6.1904
6.1904 Introduction to Low-level Programming in C and Assembly

()
Prereqs: 6.100A
Units: 2-2-2

Introduction to C and assembly language for students coming from a Python background (6.100A). Studies the C language, focusing on memory and associated topics including pointers, how different data structures are stored in memory, the stack, and the heap in order to build a strong understanding of the constraints involved in manipulating complex data structures in modern computational systems. Studies assembly language to facilitate a firm understanding of how high-level languages are translated to machine-level instructions.

244 150 78 9 7
6.EPW
6.EPW UPOP Engineering Practice Workshop

(,)
Prereqs: 2.EPE
Units: 1-0-0

Provides sophomores across all majors with opportunities to develop and practice communication, teamwork, and problem-solving skills to become successful professionals in the workplace, particularly in preparation for their summer industry internship. This immersive, multi-day Team Training Workshop (TTW) is comprised of experiential learning modules focused on expanding skills in areas that employers report being most valuable in the workplace. Modules are led by MIT faculty with the help of MIT alumni and other senior industry professionals. Skills applied through creative simulations, team problem-solving challenges, oral presentations, and networking sessions with prospective employers. Enrollment limited to those in the UPOP program.

239 239
18.100B
18.100B Real Analysis

(,)
Prereqs: GIR:CAL2
Units: 3-0-9

Covers fundamentals of mathematical analysis: convergence of sequences and series, continuity, differentiability, Riemann integral, sequences and series of functions, uniformity, interchange of limit operations. Shows the utility of abstract concepts and teaches understanding and construction of proofs. More demanding than 18.100A, for students with more mathematical maturity. Places more emphasis on point-set topology and n-space.

231 108 71 38 14
6.4100[6.034] 223 16 88 87 32
6.S191
6.S191 Special Laboratory Subject in Electrical Engineering and Computer Science

()
Prereqs: Permission of instructor
Units: 0-0-0

Laboratory subject that covers content not offered in the regular curriculum. Consult department to learn of offerings for a particular term.

216 114 74 18 10
most-taken by 6-3s in Y1: 6.100A[6.0001] (1823)
6.1010[6.009] (1386)
6.1200[6.042] (873)
6.1210[6.006] (765)
6.100B[6.0002] (549)
most-taken by 6-3s in Y2: 6.1020[6.031] (1168)
6.1910[6.004] (1044)
6.3900[6.036] (921)
6.1210[6.006] (882)
6.1220[6.046] (719)
most-taken by 6-3s in Y3: 6.1800[6.033] (881)
6.1910[6.004] (569)
6.1220[6.046] (563)
6.1020[6.031] (490)
6.UAT (304)
most-taken by 6-3s in Y4: 6.1800[6.033] (314)
6.UAT (226)
6.1040[6.170] (201)
6.1060[6.172] (168)
6.1810[6.039] (166)
Subjects taken by 6-4 Majors
EECS and non-GIR Subjects taken by 10% or more of 6-4s (667 total students):
Subject Number of Students
Total Y1 Y2 Y3 Y4
6.100A[6.0001]
6.100A Introduction to Computer Science Programming in Python

()
Prereqs: none
Units: 2-0-4

Introduction to computer science and programming. Students develop skills to program and use computational techniques to solve problems. Topics include: the notion of computation, Python, simple algorithms and data structures, object-oriented programming, testing and debugging, and algorithmic complexity. Lectures are viewed outside of class; in-class time is dedicated to problem-solving and discussion. Combination of 6.100A and 6.100B (or 16.C20) counts as REST subject.

600 576 21 3
6.1010[6.009]
6.1010 Fundamentals of Programming

(,)
Prereqs: 6.1000 or (6.100A and (6.100B or 16.C20))
Units: 2-4-6

Introduces fundamental concepts of programming. Designed to develop skills in applying basic methods from programming languages to abstract problems. Topics include programming and Python basics, computational concepts, software engineering, algorithmic techniques, data types, and recursion. Lab component consists of software design, construction, and implementation of design. Enrollment may be limited.

596 416 146 26 8
6.1210[6.006]
6.1210 Introduction to Algorithms

(,)
Prereqs: 6.100A and (6.1200 or (6.120A and (6.3700, 6.3800, 18.05, or 18.600)))
Units: 5-0-7

Introduction to mathematical modeling of computational problems, as well as common algorithms, algorithmic paradigms, and data structures used to solve these problems. Emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems. Enrollment may be limited.

531 175 289 57 10
6.3900[6.036]
6.3900 Introduction to Machine Learning

(,)
Prereqs: (6.1000 or 6.1210) and (18.03 or 18.06)
Units: 4-0-8

Introduction to the principles and algorithms of machine learning from an optimization perspective. Topics include linear and non-linear models for supervised, unsupervised, and reinforcement learning, with a focus on gradient-based methods and neural-network architectures. Previous experience with algorithms may be helpful.

525 111 339 60 15
6.1200[6.042]
6.1200 Mathematics for Computer Science

(,)
Prereqs: GIR:CAL1
Units: 5-0-7

Elementary discrete mathematics for science and engineering, with a focus on mathematical tools and proof techniques useful in computer science. Topics include logical notation, sets, relations, elementary graph theory, state machines and invariants, induction and proofs by contradiction, recurrences, asymptotic notation, elementary analysis of algorithms, elementary number theory and cryptography, permutations and combinations, counting tools, and discrete probability.

464 305 137 15 7
6.4110[6.038]
6.4110 Representation, Inference, and Reasoning in AI

()
Prereqs: 6.1010, 6.1210, and (6.3700, 6.3800, 18.05, or 18.600)
Units: 3-0-9

An introduction to representations and algorithms for artificial intelligence. Topics covered include: constraint satisfaction in discrete and continuous problems, logical representation and inference, Monte Carlo tree search, probabilistic graphical models and inference, planning in discrete and continuous deterministic and probabilistic models including Markov decision processes (MDPs) and partially observed Markov decision processes (POMDPs).

305 6 58 159 82
6.1220[6.046]
6.1220 Design and Analysis of Algorithms

(,)
Prereqs: 6.1200 and 6.1210
Units: 4-0-8

Techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics include sorting; search trees, heaps, and hashing; divide-and-conquer; dynamic programming; greedy algorithms; amortized analysis; graph algorithms; and shortest paths. Advanced topics may include network flow; computational geometry; number-theoretic algorithms; polynomial and matrix calculations; caching; and parallel computing.

291 63 115 94 19
6.100B[6.0002]
6.100B Introduction to Computational Thinking and Data Science

(,)
Prereqs: 6.100A or permission of instructor
Units: 2-0-4

Provides an introduction to using computation to build models that can be used to help understand real-world phenomena. Topics include optimization problems, simulation models, and statistical models. Requires experience programming in Python as a prerequisite. Combination of 6.100A and 6.100B counts as REST subject.

199 170 22 6 1
18.650
18.650 Fundamentals of Statistics

(,)
Prereqs: 6.3700 or 18.600
Units: 4-0-8

A rapid introduction to the theoretical foundations of statistical methods that are useful in many applications. Covers a broad range of topics in a short amount of time with the goal of providing a rigorous and cohesive understanding of the modern statistical landscape. Mathematical language is used for intuition and basic derivations but not proofs. Main topics include: parametric estimation, confidence intervals, hypothesis testing, Bayesian inference, and linear and logistic regression. Additional topics may include: causal inference, nonparametric estimation, and classification.

195 26 101 50 18
6.3700[6.041]
6.3700 Introduction to Probability

(,)
Prereqs: GIR:CAL2
Units: 4-0-8

An introduction to probability theory, the modeling and analysis of probabilistic systems, and elements of statistical inference. Probabilistic models, conditional probability. Discrete and continuous random variables. Expectation and conditional expectation, and further topics about random variables. Limit Theorems. Bayesian estimation and hypothesis testing. Elements of classical statistical inference. Bernoulli and Poisson processes. Markov chains. Students taking graduate version complete additional assignments.

177 21 100 37 19
6.S058
6.S058 Special Subject in Electrical Engineering and Computer Science

()
Prereqs: none
Units: 0-0-0

Covers subject matter not offered in the regular curriculum. Consult department to learn of offerings for a particular term.

176 2 61 87 26
18.600
18.600 Probability and Random Variables

(,)
Prereqs: GIR:CAL2
Units: 4-0-8

Probability spaces, random variables, distribution functions. Binomial, geometric, hypergeometric, Poisson distributions. Uniform, exponential, normal, gamma and beta distributions. Conditional probability, Bayes theorem, joint distributions. Chebyshev inequality, law of large numbers, and central limit theorem. Credit cannot also be received for 6.041A or 6.041B.

163 37 110 13 3
6.8611[6.806]
6.8611 Quantitative Methods for Natural Language Processing

()
Prereqs: 6.3900 and (18.06 or 18.C06)
Units: 4-0-11

Introduces the study of human language from a computational perspective, including syntactic, semantic and discourse processing models. Emphasizes machine learning methods and algorithms. Uses these methods and models in applications such as syntactic parsing, information extraction, statistical machine translation, dialogue systems. Instruction and practice in oral and written communication provided.

161 22 94 45
6.3950[6.404]
6.3950 AI, Decision Making, and Society

()
Prereqs/[Coreqs]: [6.1200, 6.3700, 6.3800, 18.05, or 18.600]
Units: 4-0-8

Introduction to fundamentals of modern data-driven decision-making frameworks, such as causal inference and hypothesis testing in statistics as well as supervised and reinforcement learning in machine learning. Explores how these frameworks are being applied in various societal contexts, including criminal justice, healthcare, finance, and social media. Emphasis on pinpointing the non-obvious interactions, undesirable feedback loops, and unintended consequences that arise in such settings. Enables students to develop their own principled perspective on the interface of data-driven decision making and society. Students taking graduate version complete additional assignments.

157 24 91 42
6.3100[6.302]
6.3100 Dynamical System Modeling and Control Design

(,)
Prereqs: GIR:PHY2 and (18.06 or 18.C06)
Units: 4-4-4

A learn-by-design introduction to modeling and control of discrete- and continuous-time systems, from intuition-building analytical techniques to more computational and data-centric strategies. Topics include: linear difference/differential equations (natural frequencies, transfer functions); controller metrics (stability, tracking, disturbance rejection); analytical techniques (PID, root-loci, lead-lag, phase margin); computational strategies (state-space, eigen-placement, LQR); and data-centric approaches (state estimation, regression, and identification). Concepts are introduced with lectures and online problems, and then mastered during weekly labs. In lab, students model, design, test, and explain systems and controllers involving sensors, actuators, and a microcontroller (e.g., optimizing thrust-driven positioners or stabilizing magnetic levitators). Students taking graduate version complete additional problems and labs.

141 3 30 69 39
6.7960
6.7960 Deep Learning

()
Prereqs: 18.05 and (6.3720, 6.3900, or 6.C01)
Units: 3-0-9

Fundamentals of deep learning, including both theory and applications. Topics include neural net architectures (MLPs, CNNs, RNNs, graph nets, transformers), geometry and invariances in deep learning, backpropagation and automatic differentiation, learning theory and generalization in high-dimensions, and applications to computer vision, natural language processing, and robotics.

133 1 32 51 49
18.06
18.06 Linear Algebra

()
Prereqs: GIR:CAL2
Units: 4-0-8

Basic subject on matrix theory and linear algebra, emphasizing topics useful in other disciplines, including systems of equations, vector spaces, determinants, eigenvalues, singular value decomposition, and positive definite matrices. Applications to least-squares approximations, stability of differential equations, networks, Fourier transforms, and Markov processes. Uses linear algebra software. Compared with 18.700, more emphasis on matrix algorithms and many applications.

131 42 69 16 4
18.03
18.03 Differential Equations

(,)
Prereqs/[Coreqs]: [GIR:CAL2]
Units: 5-0-7

Study of differential equations, including modeling physical systems. Solution of first-order ODEs by analytical, graphical, and numerical methods. Linear ODEs with constant coefficients. Complex numbers and exponentials. Inhomogeneous equations: polynomial, sinusoidal, and exponential inputs. Oscillations, damping, resonance. Fourier series. Matrices, eigenvalues, eigenvectors, diagonalization. First order linear systems: normal modes, matrix exponentials, variation of parameters. Heat equation, wave equation. Nonlinear autonomous systems: critical point analysis, phase plane diagrams.

125 25 59 21 20
6.8301[6.819]
6.8301 Advances in Computer Vision

()
Prereqs: (6.1200 or 6.3700) and (18.06 or 18.C06)
Units: 4-0-11

Advanced topics in computer vision with a focus on the use of machine learning techniques and applications in graphics and human-computer interface. Covers image representations, texture models, structure-from-motion algorithms, Bayesian techniques, object and scene recognition, tracking, shape modeling, and image databases. Applications may include face recognition, multimodal interaction, interactive systems, cinematic special effects, and photorealistic rendering. Includes instruction and practice in written and oral communication.

118 2 51 47 18
2.EPE
2.EPE UPOP Engineering Practice Experience

(,)
Prereqs: none
Units: 0-0-1

Provides students with skills to prepare for and excel in the world of industry. Emphasizes practical application of career theory and professional development concepts. Introduces students to relevant and timely resources for career development, provides students with tools to embark on a successful internship search, and offers networking opportunities with employers and MIT alumni. Students work in groups, led by industry mentors, to improve their resumes and cover letters, interviewing skills, networking abilities, project management, and ability to give and receive feedback. Objective is for students to be able to adapt and contribute effectively to their future employment organizations. A total of two units of credit is awarded for completion of the fall and subsequent spring term offerings. Application required; consult UPOP website for more information.

115 115
6.9630[6.176]
6.9630 Pokerbots Competition

()
Prereqs: none
Units: 1-0-5

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.

98 59 31 7 1
6.C571
6.C571 Optimization Methods

()
Prereqs: 18.C06 or permission of instructor
Units: 4-0-8

Introduction to the methods and applications of optimization. Topics include linear optimization, duality, non-linear optimization, integer optimization, and optimization under uncertainty. Instruction provided in modeling techniques to address problems arising in practice, mathematical theory to understand the structure of optimization problems, computational algorithms to solve complex optimization problems, and practical applications. Covers several examples and in-depth case studies based on real-world data to showcase impactful applications of optimization across management and engineering. Computational exercises based on the Julia-based programming language JuMP. Includes a term project. Basic competency in computational programming and linear algebra recommended. Students taking graduate version complete additional assignments. This subject was previously listed as 6.7201.

97 8 41 48
6.4610
6.4610 Natural Language Processing

()
Prereqs: 6.3900, (6.3700 or 6.3800), and (18.06 or 18.C06)
Units: 4-0-11

Introduces the study of computational models of human language, covering classical statistical methods, representation learning, and modern deep network models through the lens of language modeling. Students complete a substantial final project, applying or extending these methods. Instruction and practice in oral and written communication provided.

97 21 43 33
6.9620[6.148]
6.9620 Web Lab: A Web Programming Class and Competition

()
Prereqs: none
Units: 1-0-5

Student teams learn to build a functional and user-friendly website. Topics include version control, HTML, CSS, JavaScript, ReactJS, and nodejs. All teams are eligible to enter a competition where sites are judged by industry experts. Beginners and experienced web programmers welcome, but some previous programming experience is recommended. Registration on subject website required.

96 59 24 12 1
6.3000[6.003]
6.3000 Signal Processing

(,)
Prereqs: 6.100A
Units: 4-0-8

Fundamentals of signal processing, focusing on the use of Fourier methods to analyze and process signals such as sounds and images. Topics include Fourier series, Fourier transforms, the Discrete Fourier Transform, sampling, convolution, deconvolution, filtering, noise reduction, and compression. Applications draw broadly from areas of contemporary interest with emphasis on both analysis and design.

87 3 20 37 27
18.05
18.05 Introduction to Probability and Statistics

()
Prereqs: GIR:CAL2
Units: 4-0-8

A unified introduction to probability, Bayesian inference, and frequentist statistics. Topics include: combinatorics, random variables, (joint) distributions, covariance, central limit theorem; Bayesian updating, odds, posterior prediction; significance tests, confidence intervals, bootstrapping, regression. Students also develop computational skills and statistical thinking by using R to simulate, analyze, and visualize data; and by exploring privacy, fairness, and causality in contemporary media and research. Flipped subject taught in a Technology Enabled Active Learning (TEAL) classroom to facilitate discussion, group problem solving, and coding studios with ample mentorship.

86 3 37 27 19
18.404
18.404 Theory of Computation

()
Prereqs: 6.1200 or 18.200
Units: 4-0-8

A more extensive and theoretical treatment of the material in 6.1400J/18.400J, emphasizing computability and computational complexity theory. Regular and context-free languages. Decidable and undecidable problems, reducibility, recursive function theory. Time and space measures on computation, completeness, hierarchy theorems, inherently complex problems, oracles, probabilistic computation, and interactive proof systems.

84 4 28 44 8
2.EPW
2.EPW UPOP Engineering Practice Workshop

(,)
Prereqs: 2.EPE
Units: 1-0-0

Provides sophomores across all majors with opportunities to develop and practice communication, teamwork, and problem-solving skills to become successful professionals in the workplace, particularly in preparation for their summer industry internship. This immersive, multi-day Team Training Workshop (TTW) is comprised of experiential learning modules focused on expanding skills in areas that employers report being most valuable in the workplace. Modules are led by MIT faculty with the help of MIT alumni and other senior industry professionals. Skills applied through creative simulations, team problem-solving challenges, oral presentations, and networking sessions with prospective employers. Enrollment limited to those in the UPOP program.

82 82
6.7900[6.867]
6.7900 Machine Learning

()
Prereqs: 18.06 and (6.3700, 6.3800, or 18.600)
Units: 3-0-9

Principles, techniques, and algorithms in machine learning from the point of view of statistical inference; representation, generalization, and model selection; and methods such as linear/additive models, active learning, boosting, support vector machines, non-parametric Bayesian methods, hidden Markov models, Bayesian networks, and convolutional and recurrent neural networks. Recommended prerequisite: 6.3900 or other previous experience in machine learning. Enrollment may be limited.

80 6 25 29 20
6.1910[6.004]
6.1910 Computation Structures

(,)
Prereqs: (GIR:PHY2, 6.100A, and (6.1903 or 6.1904)) or permission of instructor
Units: 4-0-8

Provides an introduction to the design of digital systems and computer architecture. Emphasizes expressing all hardware designs in a high-level hardware description language and synthesizing the designs. Topics include combinational and sequential circuits, instruction set abstraction for programmable hardware, single-cycle and pipelined processor implementations, multi-level memory hierarchies, virtual memory, exceptions and I/O, and parallel systems.

80 8 49 14 9
18.100B
18.100B Real Analysis

(,)
Prereqs: GIR:CAL2
Units: 3-0-9

Covers fundamentals of mathematical analysis: convergence of sequences and series, continuity, differentiability, Riemann integral, sequences and series of functions, uniformity, interchange of limit operations. Shows the utility of abstract concepts and teaches understanding and construction of proofs. More demanding than 18.100A, for students with more mathematical maturity. Places more emphasis on point-set topology and n-space.

79 44 25 8 2
6.1020[6.031]
6.1020 Software Construction

()
Prereqs: 6.1010
Units: 3-0-12

Introduces fundamental principles and techniques of software development: how to write software that is safe from bugs, easy to understand, and ready for change. Topics include specifications and invariants; testing, test-case generation, and coverage; abstract data types and representation independence; design patterns for object-oriented programming; concurrent programming, including message passing and shared memory concurrency, and defending against races and deadlock; and functional programming with immutable data and higher-order functions. Includes weekly programming exercises and larger group programming projects.

78 3 53 20 2
18.701
18.701 Algebra I

()
Prereqs: 18.100A, 18.100B, 18.100P, 18.100Q, 18.090, or permission of instructor
Units: 3-0-9

18.701-18.702 is more extensive and theoretical than the 18.700-18.703 sequence. Experience with proofs necessary. 18.701 focuses on group theory, geometry, and linear algebra.

77 48 21 8
6.UAT
6.UAT Oral Communication

(,)
Prereqs: none
Units: 3-0-6

Provides instruction in aspects of effective technical oral presentations and exposure to communication skills useful in a workplace setting. Students create, give and revise a number of presentations of varying length targeting a range of different audiences.

75 2 9 37 27
6.4120[6.804]
6.4120 Computational Cognitive Science

()
Prereqs: 6.3700, 6.3800, 9.40, 18.05, 6.3900, or permission of instructor
Units: 3-0-9

Introduction to computational theories of human cognition. Focus on principles of inductive learning and inference, and the representation of knowledge. Computational frameworks covered include Bayesian and hierarchical Bayesian models; probabilistic graphical models; nonparametric statistical models and the Bayesian Occam's razor; sampling algorithms for approximate learning and inference; and probabilistic models defined over structured representations such as first-order logic, grammars, or relational schemas. Applications to understanding core aspects of cognition, such as concept learning and categorization, causal reasoning, theory formation, language acquisition, and social inference. Graduate students complete a final project.

74 6 37 31
6.3260[6.207]
6.3260 Networks

()
Prereqs: 6.3700 or 14.30
Units: 4-0-8

Highlights common principles that permeate the functioning of diverse technological, economic and social networks. Utilizes three sets of tools for analyzing networks -- random graph models, optimization, and game theory -- to study informational and learning cascades; economic and financial networks; social influence networks; formation of social groups; communication networks and the Internet; consensus and gossiping; spread and control of epidemics; control and use of energy networks; and biological networks. Students taking graduate version complete additional assignments.

72 24 22 26
6.1904
6.1904 Introduction to Low-level Programming in C and Assembly

()
Prereqs: 6.100A
Units: 2-2-2

Introduction to C and assembly language for students coming from a Python background (6.100A). Studies the C language, focusing on memory and associated topics including pointers, how different data structures are stored in memory, the stack, and the heap in order to build a strong understanding of the constraints involved in manipulating complex data structures in modern computational systems. Studies assembly language to facilitate a firm understanding of how high-level languages are translated to machine-level instructions.

72 27 27 16 2
6.1903
6.1903 Introduction to Low-level Programming in C and Assembly

(,)
Prereqs: 6.100A
Units: 2-2-2

Introduction to C and assembly language for students coming from a Python background (6.100A). Studies the C language, focusing on memory and associated topics including pointers, how different data structures are stored in memory, the stack, and the heap in order to build a strong understanding of the constraints involved in manipulating complex data structures in modern computational systems. Studies assembly language to facilitate a firm understanding of how high-level languages are translated to machine-level instructions.

72 14 38 15 5
6.3800[6.008]
6.3800 Introduction to Inference

()
Prereqs: GIR:CAL2 or permission of instructor
Units: 4-4-4

Introduces probabilistic modeling for problems of inference and machine learning from data, emphasizing analytical and computational aspects. Distributions, marginalization, conditioning, and structure, including graphical and neural network representations. Belief propagation, decision-making, classification, estimation, and prediction. Sampling methods and analysis. Introduces asymptotic analysis and information measures. Computational laboratory component explores the concepts introduced in class in the context of contemporary applications. Students design inference algorithms, investigate their behavior on real data, and discuss experimental results.

71 6 30 25 10
15.401
15.401 Managerial Finance

(,)
Prereqs: none
Units: 4-0-5

Introduction to finance from the perspective of business people and finance professionals. Designed to build effective decision-making skills based on sound financial knowledge, focusing on areas such as day-to-day operational issues and management, launching a startup, or negotiating option bonuses. Provides a firm grounding in the modern financial analysis underlying any decision, through three core themes: determining the value of a project, deciding how to finance a project, and managing its risk. Students also hone their ability to negotiate skillfully and speak intelligently about finance. Meets with 15.417 when offered concurrently. Expectations and evaluation criteria differ for students taking graduate version; consult syllabus or instructor for specific details. Some sections are restricted to graduate students only without the permission of the instructor. See syllabus url for further details.

68 16 40 10 2
most-taken by 6-4s in Y1: 6.100A[6.0001] (576)
6.1010[6.009] (416)
6.1200[6.042] (305)
6.1210[6.006] (175)
6.100B[6.0002] (170)
most-taken by 6-4s in Y2: 6.3900[6.036] (339)
6.1210[6.006] (289)
6.1010[6.009] (146)
6.1200[6.042] (137)
6.1220[6.046] (115)
most-taken by 6-4s in Y3: 6.4110[6.038] (159)
6.8611[6.806] (94)
6.1220[6.046] (94)
6.3950[6.404] (91)
6.S058 (87)
most-taken by 6-4s in Y4: 6.4110[6.038] (82)
6.7960 (49)
6.C571 (48)
6.8611[6.806] (45)
6.3950[6.404] (42)
Subjects taken by 6-5 Majors
EECS and non-GIR Subjects taken by 10% or more of 6-5s (252 total students):
Subject Number of Students
Total Y1 Y2 Y3 Y4
6.100A[6.0001]
6.100A Introduction to Computer Science Programming in Python

()
Prereqs: none
Units: 2-0-4

Introduction to computer science and programming. Students develop skills to program and use computational techniques to solve problems. Topics include: the notion of computation, Python, simple algorithms and data structures, object-oriented programming, testing and debugging, and algorithmic complexity. Lectures are viewed outside of class; in-class time is dedicated to problem-solving and discussion. Combination of 6.100A and 6.100B (or 16.C20) counts as REST subject.

205 199 5 1
6.1200[6.042]
6.1200 Mathematics for Computer Science

(,)
Prereqs: GIR:CAL1
Units: 5-0-7

Elementary discrete mathematics for science and engineering, with a focus on mathematical tools and proof techniques useful in computer science. Topics include logical notation, sets, relations, elementary graph theory, state machines and invariants, induction and proofs by contradiction, recurrences, asymptotic notation, elementary analysis of algorithms, elementary number theory and cryptography, permutations and combinations, counting tools, and discrete probability.

145 124 20 1
6.2000[6.002]
6.2000 Electrical Circuits: Modeling and Design of Physical Systems

(,)
Prereqs: GIR:PHY2
Units: 3-3-6

Fundamentals of linear systems, and abstraction modeling of multi-physics lumped and distributed systems using lumped electrical circuits. Linear networks involving independent and dependent sources, resistors, capacitors, and inductors. Extensions to include operational amplifiers and transducers. Dynamics of first- and second-order networks; analysis and design in the time and frequency domains; signal and energy processing applications. Design exercises. Weekly laboratory with microcontroller and transducers.

125 53 71 1
6.1903
6.1903 Introduction to Low-level Programming in C and Assembly

(,)
Prereqs: 6.100A
Units: 2-2-2

Introduction to C and assembly language for students coming from a Python background (6.100A). Studies the C language, focusing on memory and associated topics including pointers, how different data structures are stored in memory, the stack, and the heap in order to build a strong understanding of the constraints involved in manipulating complex data structures in modern computational systems. Studies assembly language to facilitate a firm understanding of how high-level languages are translated to machine-level instructions.

112 69 40 3
6.1910[6.004]
6.1910 Computation Structures

(,)
Prereqs: (GIR:PHY2, 6.100A, and (6.1903 or 6.1904)) or permission of instructor
Units: 4-0-8

Provides an introduction to the design of digital systems and computer architecture. Emphasizes expressing all hardware designs in a high-level hardware description language and synthesizing the designs. Topics include combinational and sequential circuits, instruction set abstraction for programmable hardware, single-cycle and pipelined processor implementations, multi-level memory hierarchies, virtual memory, exceptions and I/O, and parallel systems.

107 47 58 2
6.1210[6.006]
6.1210 Introduction to Algorithms

(,)
Prereqs: 6.100A and (6.1200 or (6.120A and (6.3700, 6.3800, 18.05, or 18.600)))
Units: 5-0-7

Introduction to mathematical modeling of computational problems, as well as common algorithms, algorithmic paradigms, and data structures used to solve these problems. Emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems. Enrollment may be limited.

102 57 43 2
6.1010[6.009]
6.1010 Fundamentals of Programming

(,)
Prereqs: 6.1000 or (6.100A and (6.100B or 16.C20))
Units: 2-4-6

Introduces fundamental concepts of programming. Designed to develop skills in applying basic methods from programming languages to abstract problems. Topics include programming and Python basics, computational concepts, software engineering, algorithmic techniques, data types, and recursion. Lab component consists of software design, construction, and implementation of design. Enrollment may be limited.

95 74 21
6.1904
6.1904 Introduction to Low-level Programming in C and Assembly

()
Prereqs: 6.100A
Units: 2-2-2

Introduction to C and assembly language for students coming from a Python background (6.100A). Studies the C language, focusing on memory and associated topics including pointers, how different data structures are stored in memory, the stack, and the heap in order to build a strong understanding of the constraints involved in manipulating complex data structures in modern computational systems. Studies assembly language to facilitate a firm understanding of how high-level languages are translated to machine-level instructions.

77 70 7
18.06
18.06 Linear Algebra

()
Prereqs: GIR:CAL2
Units: 4-0-8

Basic subject on matrix theory and linear algebra, emphasizing topics useful in other disciplines, including systems of equations, vector spaces, determinants, eigenvalues, singular value decomposition, and positive definite matrices. Applications to least-squares approximations, stability of differential equations, networks, Fourier transforms, and Markov processes. Uses linear algebra software. Compared with 18.700, more emphasis on matrix algorithms and many applications.

71 31 40
6.3000[6.003]
6.3000 Signal Processing

(,)
Prereqs: 6.100A
Units: 4-0-8

Fundamentals of signal processing, focusing on the use of Fourier methods to analyze and process signals such as sounds and images. Topics include Fourier series, Fourier transforms, the Discrete Fourier Transform, sampling, convolution, deconvolution, filtering, noise reduction, and compression. Applications draw broadly from areas of contemporary interest with emphasis on both analysis and design.

46 6 39 1
18.03
18.03 Differential Equations

(,)
Prereqs/[Coreqs]: [GIR:CAL2]
Units: 5-0-7

Study of differential equations, including modeling physical systems. Solution of first-order ODEs by analytical, graphical, and numerical methods. Linear ODEs with constant coefficients. Complex numbers and exponentials. Inhomogeneous equations: polynomial, sinusoidal, and exponential inputs. Oscillations, damping, resonance. Fourier series. Matrices, eigenvalues, eigenvectors, diagonalization. First order linear systems: normal modes, matrix exponentials, variation of parameters. Heat equation, wave equation. Nonlinear autonomous systems: critical point analysis, phase plane diagrams.

43 30 12 1
6.3900[6.036]
6.3900 Introduction to Machine Learning

(,)
Prereqs: (6.1000 or 6.1210) and (18.03 or 18.06)
Units: 4-0-8

Introduction to the principles and algorithms of machine learning from an optimization perspective. Topics include linear and non-linear models for supervised, unsupervised, and reinforcement learning, with a focus on gradient-based methods and neural-network architectures. Previous experience with algorithms may be helpful.

39 11 26 2
6.100B[6.0002]
6.100B Introduction to Computational Thinking and Data Science

(,)
Prereqs: 6.100A or permission of instructor
Units: 2-0-4

Provides an introduction to using computation to build models that can be used to help understand real-world phenomena. Topics include optimization problems, simulation models, and statistical models. Requires experience programming in Python as a prerequisite. Combination of 6.100A and 6.100B counts as REST subject.

33 32 1
SP.100 31 31
6.2080[6.300]
6.2080 Semiconductor Electronic Circuits

()
Prereqs: 6.2000
Units: 3-2-7

Provides an introduction to basic circuit design, starting from basic semiconductor devices such as diodes and transistors, large and small signal models and analysis, to circuits such as basic amplifier and opamp circuits. Labs give students access to CAD/EDA tools to design, analyze, and layout analog circuits. At the end of the term, students have their chip design fabricated using a 22nm FinFET CMOS process.

31 5 26
6.3700[6.041]
6.3700 Introduction to Probability

(,)
Prereqs: GIR:CAL2
Units: 4-0-8

An introduction to probability theory, the modeling and analysis of probabilistic systems, and elements of statistical inference. Probabilistic models, conditional probability. Discrete and continuous random variables. Expectation and conditional expectation, and further topics about random variables. Limit Theorems. Bayesian estimation and hypothesis testing. Elements of classical statistical inference. Bernoulli and Poisson processes. Markov chains. Students taking graduate version complete additional assignments.

26 9 15 2
6.S092
6.S092 Special Subject in Electrical Engineering and Computer Science

()
Prereqs: Permission of instructor
Units: 0-0-0

Covers subject matter not offered in the regular curriculum. Consult department to learn of offerings for a particular term.

25 16 9
most-taken by 6-5s in Y1: 6.100A[6.0001] (199)
6.1200[6.042] (124)
6.1010[6.009] (74)
6.1904 (70)
6.1903 (69)
most-taken by 6-5s in Y2: 6.2000[6.002] (71)
6.1910[6.004] (58)
6.1210[6.006] (43)
6.1903 (40)
18.06 (40)
most-taken by 6-5s in Y3: 6.1903 (3)
6.3900[6.036] (2)
6.3700[6.041] (2)
6.2050[6.111] (2)
6.1910[6.004] (2)
most-taken by 6-5s in Y4:
Subjects taken by 6-7 Majors
EECS and non-GIR Subjects taken by 10% or more of 6-7s (178 total students):
Subject Number of Students
Total Y1 Y2 Y3 Y4
6.1010[6.009]
6.1010 Fundamentals of Programming

(,)
Prereqs: 6.1000 or (6.100A and (6.100B or 16.C20))
Units: 2-4-6

Introduces fundamental concepts of programming. Designed to develop skills in applying basic methods from programming languages to abstract problems. Topics include programming and Python basics, computational concepts, software engineering, algorithmic techniques, data types, and recursion. Lab component consists of software design, construction, and implementation of design. Enrollment may be limited.

160 50 83 20 7
6.100A[6.0001]
6.100A Introduction to Computer Science Programming in Python

()
Prereqs: none
Units: 2-0-4

Introduction to computer science and programming. Students develop skills to program and use computational techniques to solve problems. Topics include: the notion of computation, Python, simple algorithms and data structures, object-oriented programming, testing and debugging, and algorithmic complexity. Lectures are viewed outside of class; in-class time is dedicated to problem-solving and discussion. Combination of 6.100A and 6.100B (or 16.C20) counts as REST subject.

155 140 14 1
6.1210[6.006]
6.1210 Introduction to Algorithms

(,)
Prereqs: 6.100A and (6.1200 or (6.120A and (6.3700, 6.3800, 18.05, or 18.600)))
Units: 5-0-7

Introduction to mathematical modeling of computational problems, as well as common algorithms, algorithmic paradigms, and data structures used to solve these problems. Emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems. Enrollment may be limited.

138 16 64 42 16
6.1200[6.042]
6.1200 Mathematics for Computer Science

(,)
Prereqs: GIR:CAL1
Units: 5-0-7

Elementary discrete mathematics for science and engineering, with a focus on mathematical tools and proof techniques useful in computer science. Topics include logical notation, sets, relations, elementary graph theory, state machines and invariants, induction and proofs by contradiction, recurrences, asymptotic notation, elementary analysis of algorithms, elementary number theory and cryptography, permutations and combinations, counting tools, and discrete probability.

134 46 65 19 4
7.06
7.06 Cell Biology

(,)
Prereqs: 7.03 and 7.05
Units: 4-0-8

Presents the biology of cells of higher organisms. Studies the structure, function, and biosynthesis of cellular membranes and organelles; cell growth and oncogenic transformation; transport, receptors, and cell signaling; the cytoskeleton, the extracellular matrix, and cell movements; cell division and cell cycle; functions of specialized cell types. Emphasizes the current molecular knowledge of cell biological processes as well as the genetic, biochemical, and other experimental approaches that resulted in these discoveries.

132 23 80 29
7.05
7.05 General Biochemistry

()
Prereqs: (GIR:BIOL and 5.12) or permission of instructor
Units: 5-0-7

Contributions of biochemistry toward an understanding of the structure and functioning of organisms, tissues, and cells. Chemistry and functions of constituents of cells and tissues and the chemical and physical-chemical basis for the structures of nucleic acids, proteins, and carbohydrates. Basic enzymology and biochemical reaction mechanisms involved in macromolecular synthesis and degradation, signaling, transport, and movement. General metabolism of carbohydrates, fats, and nitrogen-containing materials such as amino acids, proteins, and related compounds.

132 12 95 22 3
6.100B[6.0002]
6.100B Introduction to Computational Thinking and Data Science

(,)
Prereqs: 6.100A or permission of instructor
Units: 2-0-4

Provides an introduction to using computation to build models that can be used to help understand real-world phenomena. Topics include optimization problems, simulation models, and statistical models. Requires experience programming in Python as a prerequisite. Combination of 6.100A and 6.100B counts as REST subject.

114 77 26 5 6
7.002
7.002 Fundamentals of Experimental Molecular Biology

(,)
Prereqs: GIR:BIOL or permission of instructor
Units: 1-4-1

Introduces the experimental concepts and methods of molecular biology. Covers basic principles of experimental design and data analysis, with an emphasis on the acquisition of practical laboratory experience. Satisfies 6 units of Institute Laboratory credit. Satisfies biology laboratory credit for pre-health professions. Enrollment limited.

104 11 47 37 9
7.03
7.03 Genetics

(,)
Prereqs: GIR:BIOL
Units: 4-0-8

The principles of genetics with application to the study of biological function at the level of molecules, cells, and multicellular organisms, including humans. Structure and function of genes, chromosomes, and genomes. Biological variation resulting from recombination, mutation, and selection. Population genetics. Use of genetic methods to analyze protein function, gene regulation, and inherited disease.

99 4 67 25 3
6.3900[6.036]
6.3900 Introduction to Machine Learning

(,)
Prereqs: (6.1000 or 6.1210) and (18.03 or 18.06)
Units: 4-0-8

Introduction to the principles and algorithms of machine learning from an optimization perspective. Topics include linear and non-linear models for supervised, unsupervised, and reinforcement learning, with a focus on gradient-based methods and neural-network architectures. Previous experience with algorithms may be helpful.

92 2 34 36 20
20.110
20.110 Thermodynamics of Biomolecular Systems

()
Prereqs: (GIR:BIOL, GIR:CAL2, GIR:CHEM, and GIR:PHY1) or permission of instructor
Units: 5-0-7

Equilibrium properties of macroscopic and microscopic systems. Basic thermodynamics: state of a system, state variables. Work, heat, first law of thermodynamics, thermochemistry. Second and third law of thermodynamics: entropy and its statistical basis, Gibbs function. Chemical equilibrium of reactions in gas and solution phase. Macromolecular structure and interactions in solution. Driving forces for molecular self-assembly. Binding cooperativity, solvation, titration of macromolecules.

82 49 25 8
7.003
7.003 Applied Molecular Biology Laboratory

(,)
Prereqs: 7.002
Units: 2-7-3

Laboratory-based exploration of modern experimental molecular biology. Specific experimental system studied may vary from term to term, depending on instructor. Emphasizes concepts of experimental design, data analysis and communication in biology and how these concepts are applied in the biotechnology industry. Satisfies 6 units of Institute Laboratory credit. Enrollment limited; admittance may be controlled by lottery.

69 6 33 30
7.093
7.093 Modern Biostatistics

()
Prereqs: 7.03 and 7.05
Units: 2-0-4

Provides a practical introduction to probability and statistics used in modern biology. Topics covered include discrete and continuous probability distributions, statistical modeling, hypothesis testing, independence, conditional probability, multiple test corrections, nonparametric methods, clustering, correlation, linear regression, principal components analysis with applications to high-throughput DNA sequencing, and image data analysis. Homework is in the R programming language, but prior programming experience is not required. Students taking the graduate version are expected to explore the subject in greater depth.

63 3 33 27
6.UAT
6.UAT Oral Communication

(,)
Prereqs: none
Units: 3-0-6

Provides instruction in aspects of effective technical oral presentations and exposure to communication skills useful in a workplace setting. Students create, give and revise a number of presentations of varying length targeting a range of different audiences.

63 1 3 18 41
6.1220[6.046]
6.1220 Design and Analysis of Algorithms

(,)
Prereqs: 6.1200 and 6.1210
Units: 4-0-8

Techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics include sorting; search trees, heaps, and hashing; divide-and-conquer; dynamic programming; greedy algorithms; amortized analysis; graph algorithms; and shortest paths. Advanced topics may include network flow; computational geometry; number-theoretic algorithms; polynomial and matrix calculations; caching; and parallel computing.

61 4 16 24 17
7.094
7.094 Modern Computational Biology

()
Prereqs: 7.03 and 7.05
Units: 2-0-4

Introduces modern methods in computational biology, focusing on DNA/RNA/protein analysis. Topics include next-generation DNA sequencing and sequencing data analysis, RNA-seq (bulk and single-cell), and protein dynamics. Students taking the graduate version are expected to explore the subject in greater depth.

60 2 32 26
5.13
5.13 Organic Chemistry II

()
Prereqs: 5.12
Units: 5-0-7

Focuses on synthesis, structure determination, mechanism, and the relationships between structure and reactivity. Selected topics illustrate the role of organic chemistry in biological systems and in the chemical industry.

48 3 31 6 8
5.601
5.601 Thermodynamics I

(,)
Prereqs: GIR:CAL2 and GIR:CHEM
Units: 2-0-4

Basic thermodynamics: state of a system, state variables. Work, heat, first law of thermodynamics, thermochemistry. Second and third law of thermodynamics: entropy and free energy, including the molecular basis for these thermodynamic functions. Equilibrium properties of macroscopic systems. Special attention to thermodynamics related to global energy issues and biological systems. Combination of 5.601 and 5.602 counts as a REST subject.

40 3 19 11 7
5.12
5.12 Organic Chemistry I

(,)
Prereqs: GIR:CHEM
Units: 5-0-7

Introduction to organic chemistry. Development of basic principles to understand the structure and reactivity of organic molecules. Emphasis on substitution and elimination reactions and chemistry of the carbonyl group. Introduction to the chemistry of aromatic compounds.

40 7 24 7 2
18.06
18.06 Linear Algebra

()
Prereqs: GIR:CAL2
Units: 4-0-8

Basic subject on matrix theory and linear algebra, emphasizing topics useful in other disciplines, including systems of equations, vector spaces, determinants, eigenvalues, singular value decomposition, and positive definite matrices. Applications to least-squares approximations, stability of differential equations, networks, Fourier transforms, and Markov processes. Uses linear algebra software. Compared with 18.700, more emphasis on matrix algorithms and many applications.

40 3 17 14 6
18.03
18.03 Differential Equations

(,)
Prereqs/[Coreqs]: [GIR:CAL2]
Units: 5-0-7

Study of differential equations, including modeling physical systems. Solution of first-order ODEs by analytical, graphical, and numerical methods. Linear ODEs with constant coefficients. Complex numbers and exponentials. Inhomogeneous equations: polynomial, sinusoidal, and exponential inputs. Oscillations, damping, resonance. Fourier series. Matrices, eigenvalues, eigenvectors, diagonalization. First order linear systems: normal modes, matrix exponentials, variation of parameters. Heat equation, wave equation. Nonlinear autonomous systems: critical point analysis, phase plane diagrams.

38 7 17 6 8
6.8701[6.047]
6.8701 Computational Biology: Genomes, Networks, Evolution

()
Prereqs: (GIR:BIOL, 6.1210, and 6.3700) or permission of instructor
Units: 3-0-9

Covers the algorithmic and machine learning foundations of computational biology, combining theory with practice. Principles of algorithm design, influential problems and techniques, and analysis of large-scale biological datasets. Topics include (a) genomes: sequence analysis, gene finding, RNA folding, genome alignment and assembly, database search; (b) networks: gene expression analysis, regulatory motifs, biological network analysis; (c) evolution: comparative genomics, phylogenetics, genome duplication, genome rearrangements, evolutionary theory. These are coupled with fundamental algorithmic techniques including: dynamic programming, hashing, Gibbs sampling, expectation maximization, hidden Markov models, stochastic context-free grammars, graph clustering, dimensionality reduction, Bayesian networks.

34 2 20 12
7.URG
7.URG Undergraduate Research

(,,)
Prereqs: Permission of department
Units: 0-0-0

Undergraduate research opportunities in the Department of Biology.

28 7 11 8 2
6.9620[6.148]
6.9620 Web Lab: A Web Programming Class and Competition

()
Prereqs: none
Units: 1-0-5

Student teams learn to build a functional and user-friendly website. Topics include version control, HTML, CSS, JavaScript, ReactJS, and nodejs. All teams are eligible to enter a competition where sites are judged by industry experts. Beginners and experienced web programmers welcome, but some previous programming experience is recommended. Registration on subject website required.

28 11 14 2 1
18.600
18.600 Probability and Random Variables

(,)
Prereqs: GIR:CAL2
Units: 4-0-8

Probability spaces, random variables, distribution functions. Binomial, geometric, hypergeometric, Poisson distributions. Uniform, exponential, normal, gamma and beta distributions. Conditional probability, Bayes theorem, joint distributions. Chebyshev inequality, law of large numbers, and central limit theorem. Credit cannot also be received for 6.041A or 6.041B.

28 13 7 8
7.19
7.19 Communication in Experimental Biology

(,)
Prereqs: (7.06 and (5.362, 7.003, or 20.109)) or permission of instructor
Units: 4-4-4

Students carry out independent literature research. Journal club discussions are used to help students evaluate and write scientific papers. Instruction and practice in written and oral communication is provided. 

27 1 12 14
20.URG
20.URG Undergraduate Research Opportunities

(,,,)
Prereqs: none
Units: 0-0-0

Emphasizes direct and active involvement in laboratory research in bioengineering or environmental health. May be extended over multiple terms.

27 5 14 7 1
6.UAR
6.UAR Seminar in Undergraduate Advanced Research

(,)
Prereqs: Permission of instructor
Units: 2-0-4

Instruction in effective undergraduate research, including choosing and developing a research topic, surveying previous work and publications, research topics in EECS and the School of Engineering, industry best practices, design for robustness, technical presentation, authorship and collaboration, and ethics. Students engage in extensive written and oral communication exercises, in the context of an approved advanced research project. A total of 12 units of credit is awarded for completion of the fall and subsequent spring term offerings. Application required; consult EECS SuperUROP website for more information.

26 13 13
5.310
5.310 Laboratory Chemistry

(,)
Prereqs/[Coreqs]: [5.12]
Units: 2-7-3

Introduces experimental chemistry for students who are not majoring in Course 5. Principles and applications of chemical laboratory techniques, including preparation and analysis of chemical materials, measurement of pH, gas and liquid chromatography, visible-ultraviolet spectrophotometry, infrared spectroscopy, kinetics, data analysis, and elementary synthesis, are described, in addition to experimental design principles. Includes instruction and practice in written and oral communication to multiple audiences. Enrollment limited.

24 2 11 11
7.45
7.45 The Hallmarks of Cancer

()
Prereqs/[Coreqs]: [7.06]
Units: 4-0-8

Provides a comprehensive introduction to the fundamentals of cancer biology and cancer treatment. Topics include cancer genetics, genomics, and epigenetics; familial cancer syndromes; signal transduction, cell cycle control, and apoptosis; cancer metabolism; stem cells and cancer; metastasis; cancer immunology and immunotherapy; conventional and molecularly-targeted therapies; and early detection and prevention. Students taking graduate version complete additional assignments.

23 12 11
20.109
20.109 Laboratory Fundamentals in Biological Engineering

(,)
Prereqs: GIR:BIOL, GIR:CHEM, 6.100B, 18.03, and 20.110
Units: 2-8-5

Introduces experimental biochemical and molecular techniques from a quantitative engineering perspective. Experimental design, data analysis, and scientific communication form the underpinnings of this subject. In this, students complete discovery-based experimental modules drawn from current technologies and active research projects of BE faculty. Generally, topics include DNA engineering, in which students design, construct, and use genetic material; parts engineering, emphasizing protein design and quantitative assessment of protein performance; systems engineering, which considers genome-wide consequences of genetic perturbations; and biomaterials engineering, in which students use biologically-encoded devices to design and build materials. Enrollment limited; priority to Course 20 majors.

21 8 10 3
7.46
7.46 Building with Cells

()
Prereqs: 7.03 and 7.05
Units: 4-0-8

Focuses on fundamental principles of developmental biology by which cells build organs and organisms. Analyzes the pivotal role of stem cells in tissue maintenance or repair, and in treatment of disease. Explores how to integrate this knowledge with engineering tools to construct functional tissue structures. Students taking graduate version complete additional assignments

19 5 14
6.C01
6.C01 Modeling with Machine Learning: from Algorithms to Applications

()
Prereqs/[Coreqs]: GIR:CAL2 and 6.100A; [1.C01, 2.C01, 3.C01, 6.C011, 7.C01, 15.C01, or 22.C01]
Units: 2-0-4

Focuses on modeling with machine learning methods with an eye towards applications in engineering and sciences. Introduction to modern machine learning methods, from supervised to unsupervised models, with an emphasis on newer neural approaches. Emphasis on the understanding of how and why the methods work from the point of view of modeling, and when they are applicable. Using concrete examples, covers formulation of machine learning tasks, adapting and extending methods to given problems, and how the methods can and should be evaluated. Students taking graduate version complete additional assignments. Students cannot receive credit without completion of a 6-unit disciplinary module in the same semester.

19 7 9 3
5.602
5.602 Thermodynamics II and Kinetics

(,)
Prereqs: 5.601
Units: 2-0-4

Free energy and chemical potential. Phase equilibrium and properties of solutions. Chemical equilibrium of reactions. Rates of chemical reactions. Special attention to thermodynamics related to global energy issues and biological systems. Combination of 5.601 and 5.602 counts as a REST subject.

19 1 7 6 5
5.353
5.353 Macromolecular Prodrugs

(,)
Prereqs/[Coreqs]: [5.12 and 5.352]
Units: 1-2-1

Students carry out an experiment that builds skills in how to rationally design macromolecules for drug delivery based on fundamental principles of physical organic chemistry. Begins with conjugation of a drug molecule to a polymerizable group through a cleavable linker to generate a prodrug monomer. Continues with polymerization of monomer to produce macromolecular (i.e., polymer) prodrug; monomer and polymer prodrugs are fully characterized. Rate of drug release is measured and correlated to the size of the macromolecule as well as the structure of the cleavable linker. Satisfies 4 units of Institute Laboratory credit.

19 2 5 3 9
5.352
5.352 Synthesis of Coordination Compounds and Kinetics

(,)
Prereqs/[Coreqs]: [5.351]
Units: 1-2-2

Students carry out an experiment that provides an introduction to the synthesis of simple coordination compounds and chemical kinetics. Illustrates cobalt coordination chemistry and its transformations as detected by visible spectroscopy. Students observe isosbestic points in visible spectra, determine the rate and rate law, measure the rate constant at several temperatures, and derive the activation energy for the aquation reaction. Satisfies 5 units of Institute Laboratory credit.

19 2 6 2 9
5.351
5.351 Fundamentals of Spectroscopy

(,)
Prereqs: GIR:CHEM
Units: 1-2-1

Students carry out an experiment that introduces fundamental principles of the most common types of spectroscopy, including UV-visible absorption and fluorescence, infrared, and nuclear magnetic resonance. Emphasizes principles of how light interacts with matter, a fundamental and hands-on understanding of how spectrometers work, and what can be learned through spectroscopy about prototype molecules and materials. Students record and analyze spectra of small organic molecules, native and denatured proteins, semiconductor quantum dots, and laser crystals. Satisfies 4 units of Institute Laboratory credit.

19 2 6 2 9
20.051
20.051 Introduction to NEET: Living Machines

(,)
Prereqs: GIR:BIOL, GIR:CAL2, GIR:CHEM, and GIR:PHY1
Units: 2-2-2

Focuses on physiomimetics: transforming therapeutic strategy and development. Overview of development of therapies for complex diseases, including disease mechanisms in heterogeneous patient populations, developing therapeutic strategies, modeling these in vitro, and testing the therapies. Explores the five essential technological contributions to this process: computational systems biology, synthetic biology, immuno-engineering, microphysiological systems devices/tissue engineering, and microfluidic device engineering for in vitro models and analysis. Introduces disease modeling, patient stratification, and drug development processes, includes extensive examples from industry, and provides context for choosing a concentration track in the Living Machines thread. Weekly lectures from experts in the field supplemented with structured, short projects in each topic area. Limited to 24; preference to students in the NEET Living Machines thread.

19 18 1
20.001
20.001 Introduction to Professional Success and Leadership in Biological Engineering

()
Prereqs: none
Units: 1-0-2

Interactive introduction to the discipline of Biological Engineering through presentations by alumni practitioners, with additional panels and discussions on skills for professional development. Presentations emphasize the roles of communication through writing and speaking, building and maintaining professional networks, and interpersonal and leadership skills in building successful careers. Provides practical advice about how to prepare for job searches and graduate or professional school applications from an informed viewpoint. Prepares students for UROPs, internships, and selection of BE electives. Subject can count toward the 6-unit discovery-focused credit limit for first-year students.  

19 12 7
2.EPE
2.EPE UPOP Engineering Practice Experience

(,)
Prereqs: none
Units: 0-0-1

Provides students with skills to prepare for and excel in the world of industry. Emphasizes practical application of career theory and professional development concepts. Introduces students to relevant and timely resources for career development, provides students with tools to embark on a successful internship search, and offers networking opportunities with employers and MIT alumni. Students work in groups, led by industry mentors, to improve their resumes and cover letters, interviewing skills, networking abilities, project management, and ability to give and receive feedback. Objective is for students to be able to adapt and contribute effectively to their future employment organizations. A total of two units of credit is awarded for completion of the fall and subsequent spring term offerings. Application required; consult UPOP website for more information.

19 18 1
18.05
18.05 Introduction to Probability and Statistics

()
Prereqs: GIR:CAL2
Units: 4-0-8

A unified introduction to probability, Bayesian inference, and frequentist statistics. Topics include: combinatorics, random variables, (joint) distributions, covariance, central limit theorem; Bayesian updating, odds, posterior prediction; significance tests, confidence intervals, bootstrapping, regression. Students also develop computational skills and statistical thinking by using R to simulate, analyze, and visualize data; and by exploring privacy, fairness, and causality in contemporary media and research. Flipped subject taught in a Technology Enabled Active Learning (TEAL) classroom to facilitate discussion, group problem solving, and coding studios with ample mentorship.

19 2 6 5 6
6.S191
6.S191 Special Laboratory Subject in Electrical Engineering and Computer Science

()
Prereqs: Permission of instructor
Units: 0-0-0

Laboratory subject that covers content not offered in the regular curriculum. Consult department to learn of offerings for a particular term.

18 4 5 7 2
most-taken by 6-7s in Y1: 6.100A[6.0001] (140)
6.100B[6.0002] (77)
6.1010[6.009] (50)
6.1200[6.042] (46)
6.1210[6.006] (16)
most-taken by 6-7s in Y2: 7.05 (95)
6.1010[6.009] (83)
7.03 (67)
6.1200[6.042] (65)
6.1210[6.006] (64)
most-taken by 6-7s in Y3: 7.06 (80)
6.1210[6.006] (42)
7.002 (37)
6.3900[6.036] (36)
7.093 (33)
most-taken by 6-7s in Y4: 6.UAT (41)
7.003 (30)
7.06 (29)
7.093 (27)
7.094 (26)
Subjects taken by 6-14 Majors
EECS and non-GIR Subjects taken by 10% or more of 6-14s (318 total students):
Subject Number of Students
Total Y1 Y2 Y3 Y4
6.1210[6.006]
6.1210 Introduction to Algorithms

(,)
Prereqs: 6.100A and (6.1200 or (6.120A and (6.3700, 6.3800, 18.05, or 18.600)))
Units: 5-0-7

Introduction to mathematical modeling of computational problems, as well as common algorithms, algorithmic paradigms, and data structures used to solve these problems. Emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems. Enrollment may be limited.

290 56 169 56 9
6.100A[6.0001]
6.100A Introduction to Computer Science Programming in Python

()
Prereqs: none
Units: 2-0-4

Introduction to computer science and programming. Students develop skills to program and use computational techniques to solve problems. Topics include: the notion of computation, Python, simple algorithms and data structures, object-oriented programming, testing and debugging, and algorithmic complexity. Lectures are viewed outside of class; in-class time is dedicated to problem-solving and discussion. Combination of 6.100A and 6.100B (or 16.C20) counts as REST subject.

274 250 18 2 4
6.3900[6.036]
6.3900 Introduction to Machine Learning

(,)
Prereqs: (6.1000 or 6.1210) and (18.03 or 18.06)
Units: 4-0-8

Introduction to the principles and algorithms of machine learning from an optimization perspective. Topics include linear and non-linear models for supervised, unsupervised, and reinforcement learning, with a focus on gradient-based methods and neural-network architectures. Previous experience with algorithms may be helpful.

273 15 134 97 27
6.1220[6.046]
6.1220 Design and Analysis of Algorithms

(,)
Prereqs: 6.1200 and 6.1210
Units: 4-0-8

Techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics include sorting; search trees, heaps, and hashing; divide-and-conquer; dynamic programming; greedy algorithms; amortized analysis; graph algorithms; and shortest paths. Advanced topics may include network flow; computational geometry; number-theoretic algorithms; polynomial and matrix calculations; caching; and parallel computing.

260 9 74 119 58
6.1200[6.042]
6.1200 Mathematics for Computer Science

(,)
Prereqs: GIR:CAL1
Units: 5-0-7

Elementary discrete mathematics for science and engineering, with a focus on mathematical tools and proof techniques useful in computer science. Topics include logical notation, sets, relations, elementary graph theory, state machines and invariants, induction and proofs by contradiction, recurrences, asymptotic notation, elementary analysis of algorithms, elementary number theory and cryptography, permutations and combinations, counting tools, and discrete probability.

252 122 103 21 6
15.276
15.276 Communicating with Data

(,)
Prereqs: none
Units: 3-0-9

Equips students with the strategies, tactics, and tools to use quantitative information to inform and persuade others. Emphasizes effective communication skills as the foundation of successful careers. Develops the skills to communicate quantitative information in a business context to drive people and organizations toward better decisions. Focuses heavily on the cycle of practicing, reflecting, and revising. Students receive extensive, personalized feedback from teaching team and classmates. Limited to 25.

229 13 104 87 25
6.1010[6.009]
6.1010 Fundamentals of Programming

(,)
Prereqs: 6.1000 or (6.100A and (6.100B or 16.C20))
Units: 2-4-6

Introduces fundamental concepts of programming. Designed to develop skills in applying basic methods from programming languages to abstract problems. Topics include programming and Python basics, computational concepts, software engineering, algorithmic techniques, data types, and recursion. Lab component consists of software design, construction, and implementation of design. Enrollment may be limited.

207 106 81 15 5
6.100B[6.0002]
6.100B Introduction to Computational Thinking and Data Science

(,)
Prereqs: 6.100A or permission of instructor
Units: 2-0-4

Provides an introduction to using computation to build models that can be used to help understand real-world phenomena. Topics include optimization problems, simulation models, and statistical models. Requires experience programming in Python as a prerequisite. Combination of 6.100A and 6.100B counts as REST subject.

207 160 32 8 7
14.32
14.32 Econometric Data Science

(,)
Prereqs: 14.30, 15.069, or 18.650
Units: 4-4-4

Introduces regression and other tools for causal inference and descriptive analysis in empirical economics. Topics include analysis of randomized experiments, instrumental variables methods and regression discontinuity designs, differences-in-differences estimation, and regression with time series data. Develops the skills needed to conduct — and critique — empirical studies in economics and related fields. Empirical applications are drawn from published examples and frontier research. Familiarity with statistical programming languages is helpful. Students taking graduate version complete an empirical project leading to a short paper. No listeners. Limited to 70 total for versions meeting together.

190 1 49 102 38
15.053
15.053 Optimization Methods in Business Analytics

()
Prereqs: 1.00, 1.000, 6.100A, or permission of instructor
Units: 4-0-8

Introduces optimization methods with a focus on modeling, solution techniques, and analysis. Covers linear programming, network optimization, integer programming, nonlinear programming, and heuristics. Applications to logistics, manufacturing, statistics, machine learning, transportation, game theory, marketing, project management, and finance. Includes projects in which student teams solve optimization problems of practical interest.

184 4 81 60 39
18.06
18.06 Linear Algebra

()
Prereqs: GIR:CAL2
Units: 4-0-8

Basic subject on matrix theory and linear algebra, emphasizing topics useful in other disciplines, including systems of equations, vector spaces, determinants, eigenvalues, singular value decomposition, and positive definite matrices. Applications to least-squares approximations, stability of differential equations, networks, Fourier transforms, and Markov processes. Uses linear algebra software. Compared with 18.700, more emphasis on matrix algorithms and many applications.

136 17 61 46 12
15.780
15.780 Analytics of Operations Management

()
Prereqs: 6.3700, 15.069, or permission of instructor
Units: 3-0-9

Introduces core concepts in data-driven modeling that inform and optimize business decisions under uncertainty. Covers models and frameworks, such as machine learning, time series forecasting, dynamic programming, stochastic optimization, and multi-armed bandits. Draws on real-world applications, with several examples from retail, healthcare, logistics, supply chain, and public sector.

125 8 60 57
15.501
15.501 Corporate Financial Accounting

(,)
Prereqs: none
Units: 3-0-9

Preparation and analysis of financial statements. Focuses on why financial statements take the form they do, and how they can be used in evaluating corporate performance and solvency and in valuation of corporate securities. Introduces concepts from finance and economics (e.g., cash flow discounting and valuation) and explains their relation to, and use in, accounting. Students taking the graduate version complete additional assignments.

104 26 51 19 8
18.600
18.600 Probability and Random Variables

(,)
Prereqs: GIR:CAL2
Units: 4-0-8

Probability spaces, random variables, distribution functions. Binomial, geometric, hypergeometric, Poisson distributions. Uniform, exponential, normal, gamma and beta distributions. Conditional probability, Bayes theorem, joint distributions. Chebyshev inequality, law of large numbers, and central limit theorem. Credit cannot also be received for 6.041A or 6.041B.

97 19 55 18 5
15.401
15.401 Managerial Finance

(,)
Prereqs: none
Units: 4-0-5

Introduction to finance from the perspective of business people and finance professionals. Designed to build effective decision-making skills based on sound financial knowledge, focusing on areas such as day-to-day operational issues and management, launching a startup, or negotiating option bonuses. Provides a firm grounding in the modern financial analysis underlying any decision, through three core themes: determining the value of a project, deciding how to finance a project, and managing its risk. Students also hone their ability to negotiate skillfully and speak intelligently about finance. Meets with 15.417 when offered concurrently. Expectations and evaluation criteria differ for students taking graduate version; consult syllabus or instructor for specific details. Some sections are restricted to graduate students only without the permission of the instructor. See syllabus url for further details.

97 29 57 10 1
14.33
14.33 Research and Communication in Economics: Topics, Methods, and Implementation

(,)
Prereqs: 14.32 and (14.01 or 14.02)
Units: 3-4-5

Exposes students to the process of conducting independent research in empirical economics and effectively communicating the results of the research. Emphasizes econometric analysis of an assigned economic question and culminates in each student choosing an original topic, performing appropriate analysis, and delivering oral and written project reports. Limited to 20 per section.

79 16 63
18.650
18.650 Fundamentals of Statistics

(,)
Prereqs: 6.3700 or 18.600
Units: 4-0-8

A rapid introduction to the theoretical foundations of statistical methods that are useful in many applications. Covers a broad range of topics in a short amount of time with the goal of providing a rigorous and cohesive understanding of the modern statistical landscape. Mathematical language is used for intuition and basic derivations but not proofs. Main topics include: parametric estimation, confidence intervals, hypothesis testing, Bayesian inference, and linear and logistic regression. Additional topics may include: causal inference, nonparametric estimation, and classification.

74 6 30 24 14
15.312
15.312 Organizational Processes for Business Analytics

()
Prereqs: none
Units: 3-0-9

Develops appreciation for organizational dynamics and competence in navigating social networks, working in a team, demystifying rewards and incentives, leveraging the crowd, understanding change initiatives, and making sound decisions. Provides instruction and practice in written and oral communication through presentations, and interpersonal and group exercises.

66 3 25 14 24
15.000
15.000 Explorations in Management

(,)
Prereqs: none
Units: 2-0-1

Broad introduction to the various aspects of management including analytics, accounting and finance, operations, marketing, entrepreneurship and leadership, organizations, economics, systems dynamics, and negotiation and communication. Introduces the field of management through a variety of experiences as well as discussions led by faculty or industry experts. Also reviews the three undergraduate majors offered by Sloan as well as careers in management. Subject can count toward the 6-unit discovery-focused credit limit for first year students. Limited to undergraduates; preference to first years.

52 49 3
18.03
18.03 Differential Equations

(,)
Prereqs/[Coreqs]: [GIR:CAL2]
Units: 5-0-7

Study of differential equations, including modeling physical systems. Solution of first-order ODEs by analytical, graphical, and numerical methods. Linear ODEs with constant coefficients. Complex numbers and exponentials. Inhomogeneous equations: polynomial, sinusoidal, and exponential inputs. Oscillations, damping, resonance. Fourier series. Matrices, eigenvalues, eigenvectors, diagonalization. First order linear systems: normal modes, matrix exponentials, variation of parameters. Heat equation, wave equation. Nonlinear autonomous systems: critical point analysis, phase plane diagrams.

51 7 22 10 12
6.9620[6.148]
6.9620 Web Lab: A Web Programming Class and Competition

()
Prereqs: none
Units: 1-0-5

Student teams learn to build a functional and user-friendly website. Topics include version control, HTML, CSS, JavaScript, ReactJS, and nodejs. All teams are eligible to enter a competition where sites are judged by industry experts. Beginners and experienced web programmers welcome, but some previous programming experience is recommended. Registration on subject website required.

47 31 11 3 2
2.EPE
2.EPE UPOP Engineering Practice Experience

(,)
Prereqs: none
Units: 0-0-1

Provides students with skills to prepare for and excel in the world of industry. Emphasizes practical application of career theory and professional development concepts. Introduces students to relevant and timely resources for career development, provides students with tools to embark on a successful internship search, and offers networking opportunities with employers and MIT alumni. Students work in groups, led by industry mentors, to improve their resumes and cover letters, interviewing skills, networking abilities, project management, and ability to give and receive feedback. Objective is for students to be able to adapt and contribute effectively to their future employment organizations. A total of two units of credit is awarded for completion of the fall and subsequent spring term offerings. Application required; consult UPOP website for more information.

43 41 2
2.EPW
2.EPW UPOP Engineering Practice Workshop

(,)
Prereqs: 2.EPE
Units: 1-0-0

Provides sophomores across all majors with opportunities to develop and practice communication, teamwork, and problem-solving skills to become successful professionals in the workplace, particularly in preparation for their summer industry internship. This immersive, multi-day Team Training Workshop (TTW) is comprised of experiential learning modules focused on expanding skills in areas that employers report being most valuable in the workplace. Modules are led by MIT faculty with the help of MIT alumni and other senior industry professionals. Skills applied through creative simulations, team problem-solving challenges, oral presentations, and networking sessions with prospective employers. Enrollment limited to those in the UPOP program.

40 40
14.13
14.13 Psychology and Economics

()
Prereqs: 14.01
Units: 4-0-8

Introduces the theoretical and empirical literature of behavioral economics. Examines important and systematic departures from the standard models in economics by incorporating insights from psychology and other social sciences. Covers theory and evidence on time, risk, and social preferences; beliefs and learning; emotions; limited attention; and frames, defaults, and nudges. Studies applications to many different areas, such as credit card debt, procrastination, retirement savings, addiction, portfolio choice, poverty, labor supply, happiness, and government policy. Students participate in surveys and experiments in class, review evidence from lab experiments, examine how the results can be integrated into models, and test models using field and lab data. Students taking graduate version complete additional assignments.

39 3 8 28
6.9630[6.176]
6.9630 Pokerbots Competition

()
Prereqs: none
Units: 1-0-5

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.

37 17 10 9 1
14.30
14.30 Introduction to Statistical Methods in Economics

()
Prereqs: GIR:CAL2
Units: 4-0-8

Self-contained introduction to probability and statistics with applications in economics and the social sciences.  Covers elements of probability theory, statistical estimation and inference, regression analysis, causal inference, and program evaluation. Couples methods with applications and with assignments involving data analysis. Uses basic calculus and matrix algebra.  Students taking graduate version complete additional assignments. May not count toward HASS requirement.

37 20 17
15.076
15.076 Analytics for a Better World

()
Prereqs: GIR:CAL1
Units: 4-0-8

Introduces predictive and prescriptive analytics methods to solve problems that contribute to the welfare of society. Emphasis on using machine learning and optimization methods in innovative ways using real world data. Methods used include: linear and discrete optimization, linear and logistic regression, optimal classification and regression trees, deep learning, random forests, and boosted trees. Projects utilize Julia, Jump, and Tensor Flow. Assessment based on projects, including a capstone project. Restricted to undergraduates.

34 9 10 15
15.418
15.418 Laboratory in Corporate Finance

(,)
Prereqs/[Coreqs]: [15.501]
Units: 4-2-9

Introduction to corporate finance. Classroom portion primarily uses case studies to introduce financial analytical tools needed to make real-world value-enhancing business decisions across many industries: how to decide which projects to invest in, how to finance those investments, and how to manage the cash flows of the firm. Laboratory sessions are organized around team valuation projects, such as valuation of an oil field and analysis of a potential merger between two public firms proposed by student teams. Projects require extensive use of financial databases. Laboratory sessions also provide instruction on writing and speaking on financial topics. Meets with 15.402 when offered concurrently.

33 21 10 2
most-taken by 6-14s in Y1: 6.100A[6.0001] (250)
6.100B[6.0002] (160)
6.1200[6.042] (122)
6.1010[6.009] (106)
6.1210[6.006] (56)
most-taken by 6-14s in Y2: 6.1210[6.006] (169)
6.3900[6.036] (134)
15.276 (104)
6.1200[6.042] (103)
6.1010[6.009] (81)
most-taken by 6-14s in Y3: 6.1220[6.046] (119)
14.32 (102)
6.3900[6.036] (97)
15.276 (87)
15.780 (60)
most-taken by 6-14s in Y4: 14.33 (63)
6.1220[6.046] (58)
15.780 (57)
15.053 (39)
14.32 (38)