Online courses directory (684)
6.821 teaches the principles of functional, imperative, and logic programming languages. Topics covered include: meta-circular interpreters, semantics (operational and denotational), type systems (polymorphism, inference, and abstract types), object oriented programming, modules, and multiprocessing. The course involves substantial programming assignments and problem sets as well as a significant amount of reading. The course uses the Scheme+ programming language for all of its assignments.
In this subject, we consider two basic topics in cellular biophysics, posed here as questions:
- Which molecules are transported across cellular membranes, and what are the mechanisms of transport? How do cells maintain their compositions, volume, and membrane potential?
- How are potentials generated across the membranes of cells? What do these potentials do?
Although the questions posed are fundamentally biological questions, the methods for answering these questions are inherently multidisciplinary. As we will see throughout the course, the role of mathematical models is to express concepts precisely enough that precise conclusions can be drawn. In connection with all the topics covered, we will consider both theory and experiment. For the student, the educational value of examining the interplay between theory and experiment transcends the value of the specific knowledge gained in the subject matter.
This course is jointly offered through four departments, available to both undergraduates and graduates.
In this course you will learn a whole lot of modern physics (classical and quantum) from basic computer programs that you will download, generalize, or write from scratch, discuss, and then hand in. Join in if you are curious (but not necessarily knowledgeable) about algorithms, and about the deep insights into science that you can obtain by the algorithmic approach.
Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.
In this subject, we consider two basic topics in cellular biophysics, posed here as questions:
- Which molecules are transported across cellular membranes, and what are the mechanisms of transport? How do cells maintain their compositions, volume, and membrane potential?
- How are potentials generated across the membranes of cells? What do these potentials do?
Although the questions posed are fundamentally biological questions, the methods for answering these questions are inherently multidisciplinary. As we will see throughout the course, the role of mathematical models is to express concepts precisely enough that precise conclusions can be drawn. In connection with all the topics covered, we will consider both theory and experiment. For the student, the educational value of examining the interplay between theory and experiment transcends the value of the specific knowledge gained in the subject matter.
This course is jointly offered through four departments, available to both undergraduates and graduates.
This course explores the detection and measurement of radio and optical signals encountered in communications, astronomy, remote sensing, instrumentation, and radar. Topics covered include: statistical analysis of signal processing systems, including radiometers, spectrometers, interferometers, and digital correlation systems; matched filters and ambiguity functions; communications channel performance; measurement of random electromagnetic fields, angular filtering properties of antennas, interferometers, and aperture synthesis systems; and radiative transfer and parameter estimation.
This course is conducted as an artificial intelligence programming contest in Java. Students work in teams to program virtual robots to play Battlecode, a real-time strategy game. Optional lectures are provided on topics and programming practices relevant to the game, and students learn and improve their programming skills experientially. The competition culminates in a live Battlecode tournament.
This course is offered during the Independent Activities Period (IAP), which is a special 4-week term at MIT that runs from the first week of January until the end of the month.
This course covers a number of advanced "selected topics" in the field of cryptography. The first part of the course tackles the foundational question of how to define security of cryptographic protocols in a way that is appropriate for modern computer networks, and how to construct protocols that satisfy these security definitions. For this purpose, the framework of "universally composable security" is studied and used. The second part of the course concentrates on the many challenges involved in building secure electronic voting systems, from both theoretical and practical points of view. In the third part, an introduction to cryptographic constructions based on bilinear pairings is given.
6.780 covers statistical modeling and the control of semiconductor fabrication processes and plants. Topics covered include: design of experiments, response surface modeling, and process optimization; defect and parametric yield modeling; process/device/circuit yield optimization; monitoring, diagnosis, and feedback control of equipment and processes; and analysis and scheduling of semiconductor manufacturing operations.
Use of available (mainly web-based) programs for analyzing biological data. This is Part 2 of an introductory course with a strong emphasis on hands-on methods. Some theory is introduced, but the main focus is on using extant bioinformatics tools to analyze data and generate biological hypotheses.
This course comprises of a seminar on planning and operation of modern electric power systems. Content varies with current interests of instructor and class; emphasis on engineering aspects, but economic issues may be examined too. Core topics include: overview of power system structure and operation; representation of components, including transmission lines, transformers, generating plants, loads; power flow analysis, dynamics and control of multimachine systems, steady-state and transient stability, system protection; economic dispatch; mobile and isolated power systems; computation and simulation.
6.003 covers the fundamentals of signal and system analysis, focusing on representations of discrete-time and continuous-time signals (singularity functions, complex exponentials and geometrics, Fourier representations, Laplace and Z transforms, sampling) and representations of linear, time-invariant systems (difference and differential equations, block diagrams, system functions, poles and zeros, convolution, impulse and step responses, frequency responses). Applications are drawn broadly from engineering and physics, including feedback and control, communications, and signal processing.
6.171 is a course for students who already have some programming and software engineering experience. The goal is to give students some experience in dealing with those challenges that are unique to Internet applications, such as:
- concurrency;
- unpredictable load;
- security risks;
- opportunity for wide-area distributed computing;
- creating a reliable and stateful user experience on top of unreliable connections and stateless protocols;
- extreme requirements and absurd development schedules;
- requirements that change mid-way through a project, sometimes because of experience gained from testing with users;
- user demands for a multi-modal interface.