Online courses directory (31)
This course is a comprehensive introduction to control system synthesis in which the digital computer plays a major role, reinforced with hands-on laboratory experience. The course covers elements of real-time computer architecture; input-output interfaces and data converters; analysis and synthesis of sampled-data control systems using classical and modern (state-space) methods; analysis of trade-offs in control algorithms for computation speed and quantization effects. Laboratory projects emphasize practical digital servo interfacing and implementation problems with timing, noise, and nonlinear devices.
This class investigates the use of computers in architectural design and construction. It begins with a pre-prepared design computer model, which is used for testing and process investigation in construction. It then explores the process of construction from all sides of the practice: detail design, structural design, and both legal and computational issues.
In recent years, flying robots such as miniature helicopters or quadrotors have received a large gain in popularity. Potential applications range from aerial filming over remote visual inspection of industrial sites to automatic 3D reconstruction of buildings. Navigating a quadrotor manually requires a skilled pilot and constant concentration. Therefore, there is a strong scientific interest to develop solutions that enable quadrotors to fly autonomously and without constant human supervision. This is a challenging research problem because the payload of a quadrotor is uttermost constrained and so both the quality of the onboard sensors and the available computing power is strongly limited.
In this course, we will introduce the basic concepts for autonomous navigation for quadrotors. The following topics will be covered:
- 3D geometry,
- probabilistic state estimation,
- visual odometry, SLAM, 3D mapping,
- linear control.
In particular, you will learn how to infer the position of the quadrotor from its sensor readings and how to navigate it along a trajectory.
The course consists of a series of weekly lecture videos that we be interleaved by interactive quizzes and hands-on programming tasks. For the flight experiments, we provide a browser-based quadrotor simulator which requires the students to write small code snippets in Python.
This course is intended for undergraduate and graduate students in computer science, electrical engineering or mechanical engineering. This course has been offered by TUM for the first time in summer term 2014 on EdX with more than 20.000 registered students of which 1400 passed examination. The MOOC is based on the previous TUM lecture “Visual Navigation for Flying Robots” which received the TUM TeachInf best lecture award in 2012 and 2013.
Do I need to buy a textbook?
No, all required materials will be provided within the courseware. However, if you are interested, we recommend the following additional materials:
- This course is based on the TUM lecture Visual Navigation for Flying Robots. The course website contains lecture videos (from last year), additional exercises and the full syllabus: http://vision.in.tum.de/teaching/ss2013/visnav2013
- Probabilistic Robotics. Sebastian Thrun, Wolfram Burgard and Dieter Fox. MIT Press, 2005.
- Computer Vision: Algorithms and Applications. Richard Szeliski. Springer, 2010.
Do I need to build/own a quadrotor?
No, we provide a web-based quadrotor simulator that will allow you to test your solutions in simulation. However, we took special care that the code you will be writing will be compatible with a real Parrot Ardrone quadrotor. So if you happen to have a Parrot Ardrone quadrotor, we encourage you to try out your solutions for real.
6.270 is a hands-on, learn-by-doing class, in which participants design and build a robot that will play in a competition at the end of January. The goal for the students is to design a machine that will be able to navigate its way around the playing surface, recognize other opponents, and manipulate game objects. Unlike the machines in Design and Manufacturing I (2.007), 6.270 robots are totally autonomous, so once a round begins, there is no human intervention.
The goal of 6.270 is to teach students about robotic design by giving them the hardware, software, and information they need to design, build, and debug their own robot. The subject includes concepts and applications that are related to various MIT classes (e.g. computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/index.htm">6.001, computer-science/6-002-circuits-and-electronics-spring-2007/index.htm">6.002, computer-science/6-004-computation-structures-spring-2009/index.htm">6.004, and 2.007), though there are no formal prerequisites for 6.270.
In this course problems from biological engineering are used to develop structured computer programming skills and explore the theory and practice of complex systems design and construction.
The official course Web site can be viewed at: BE.180 Biological Engineering Programming.
6.002 is designed to serve as a first course in an undergraduate electrical engineering (EE), or electrical engineering and computer science (EECS) curriculum. At MIT, 6.002 is in the core of department subjects required for all undergraduates in EECS.
The course introduces the fundamentals of the lumped circuit abstraction. Topics covered include: resistive elements and networks; independent and dependent sources; switches and MOS transistors; digital abstraction; amplifiers; energy storage elements; dynamics of first- and second-order networks; design in the time and frequency domains; and analog and digital circuits and applications. Design and lab exercises are also significant components of the course. 6.002 is worth 4 Engineering Design Points. The 6.002 content was created collaboratively by Profs. Anant Agarwal and Jeffrey H. Lang.
The course uses the required textbook Foundations of Analog and Digital Electronic Circuits. Agarwal, Anant, and Jeffrey H. Lang. San Mateo, CA: Morgan Kaufmann Publishers, Elsevier, July 2005. ISBN: 9781558607354.
Want to learn how your radio works? Wondering how to implement filters using resistors, inductors, and capacitors? Wondering what are some other applications of RLC and CMOS circuits? This free circuit course, taught by edX CEO and MIT Professor Anant Agarwal and MIT colleagues, is for you.
The third and final online Circuits and Electronics courses is taken by all MITElectrical Engineering and Computer Science (EECS) majors.
Topics covered include: dynamics of capacitor, inductor and resistor networks; design in the time and frequency domains; op-amps, and analog and digital circuits and applications. Design and lab exercises are also significant components of the course.
Weekly coursework includes interactive video sequences, readings from the textbook, homework, online laboratories, and optional tutorials. The course will also have a final exam.
This is a self-paced course, so there are no weekly deadlines. However, all assignments are due by June 15, 2019, when the course will close.
“Brilliant course! It's definitely the best introduction to electronics in Universe! Interesting material, clean explanations, well prepared quizzes, challenging homeworks and fun labs.” - Ilya.
“6.002x will be a classic in the field of online learning. It combines Prof. Agarwal's enthusiasm for electronics and education. The online circuit design program works very well. The material is difficult. I took the knowledge from the class and built an electronic cat feeder.” - Stan
16.225 is a graduate level course on Computational Mechanics of Materials. The primary focus of this course is on the teaching of state-of-the-art numerical methods for the analysis of the nonlinear continuum response of materials. The range of material behavior considered in this course includes: linear and finite deformation elasticity, inelasticity and dynamics. Numerical formulation and algorithms include: variational formulation and variational constitutive updates, finite element discretization, error estimation, constrained problems, time integration algorithms and convergence analysis. There is a strong emphasis on the (parallel) computer implementation of algorithms in programming assignments. The application to real engineering applications and problems in engineering science is stressed throughout the course.
This course covers concepts of computation used in analysis of engineering systems. It includes the following topics: data structures, relational database representations of engineering data, algorithms for the solution and optimization of engineering system designs (greedy, dynamic programming, branch and bound, graph algorithms, nonlinear optimization), and introduction to complexity analysis. Object-oriented, efficient implementations of algorithms are emphasized.
6.823 is a course in the department's "Computer Systems and Architecture" concentration. 6.823 is a study of the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics may include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order superscalar architectures; VLIW machines; vector supercomputers; multithreaded architectures; symmetric multiprocessors; and parallel computers.
This subject is a computer-oriented introduction to probability and data analysis. It is designed to give students the knowledge and practical experience they need to interpret lab and field data. Basic probability concepts are introduced at the outset because they provide a systematic way to describe uncertainty. They form the basis for the analysis of quantitative data in science and engineering. The MATLAB® programming language is used to perform virtual experiments and to analyze real-world data sets, many downloaded from the web. Programming applications include display and assessment of data sets, investigation of hypotheses, and identification of possible casual relationships between variables. This is the first semester that two courses, Computing and Data Analysis for Environmental Applications (1.017) and Uncertainty in Engineering (1.010), are being jointly offered and taught as a single course.
Modern computer technology requires an understanding of both hardware and software, as the interaction between the two offers a framework for mastering the fundamentals of computing. The purpose of this course is to cultivate an understanding of modern computing technology through an in-depth study of the interface between hardware and software. In this course, you will study the history of modern computing technology before learning about modern computer architecture and a number of its important features, including instruction sets, processor arithmetic and control, the Von Neumann architecture, pipelining, memory management, storage, and other input/output topics. The course will conclude with a look at the recent switch from sequential processing to parallel processing by looking at the parallel computing models and their programming implications.
This course provides a review of physical, chemical, ecological, and economic principles used to examine interactions between humans and the natural environment. Mass balance concepts are applied to ecology, chemical kinetics, hydrology, and transportation; energy balance concepts are applied to building design, ecology, and climate change; and economic and life cycle concepts are applied to resource evaluation and engineering design. Numerical models are used to integrate concepts and to assess environmental impacts of human activities. Problem sets involve development of MATLAB® models for particular engineering applications. Some experience with computer programming is helpful but not essential.
This is an advanced course on modeling, design, integration and best practices for use of machine elements such as bearings, springs, gears, cams and mechanisms. Modeling and analysis of these elements is based upon extensive application of physics, mathematics and core mechanical engineering principles (solid mechanics, fluid mechanics, manufacturing, estimation, computer simulation, etc.). These principles are reinforced via (1) hands-on laboratory experiences wherein students conduct experiments and disassemble machines and (2) a substantial design project wherein students model, design, fabricate and characterize a mechanical system that is relevant to a real world application. Students master the materials via problems sets that are directly related to, and coordinated with, the deliverables of their project. Student assessment is based upon mastery of the course materials and the student's ability to synthesize, model and fabricate a mechanical device subject to engineering constraints (e.g. cost and time/schedule).
Statics is the study of methods for quantifying the forces between bodies. Forces are responsible for maintaining balance and causing motion of bodies, or changes in their shape. You encounter a great number and variety of examples of forces every day, such as when you press a button, turn a doorknob, or run your hands through your hair. Motion and changes in shape are critical to the functionality of man-made objects as well as objects the nature. Statics is an essential prerequisite for many branches of engineering, such as mechanical, civil, aeronautical, and bioengineering, which address the various consequences of forces. This course contains many interactive elements, including: simulations; “walk-throughs” that integrate voice and graphics to explain a procedure or a difficult concept; and, most prominently, computer tutors in which students practice problem solving with hints and feedback. This course uses algebra and trigonometry and is suitable for use with either calculus- or non-calculus-based academic statics courses. Completion of a beginning physics course is helpful for success in statics, but not required. Many key physics concepts are included in this course.
This class is one of the core requirements for the Environmental Masters of Engineering program, in conjunction with 1.133 Masters of Engineering Concepts of Engineering Practice. It is designed to teach about environmental engineering through the use of case studies, computer software tools, and seminars from industrial experts. Case studies provide the basis for group projects as well as individual theses. Recent 1.782 projects include the MMR Superfund site on Cape Cod, appropriate wastewater treatment technology for Brazil and Honduras, point-of-use water treatment and safe storage procedures for Nepal and Ghana, Brownfields Development in Providence, RI, and water resource planning for the island of Cyprus and refugee settlements in Thailand. This class spans the entire academic year; students must register for the Fall and Spring terms.
This course covers fundamentals of subsurface flow and transport, emphasizing the role of groundwater in the hydrologic cycle, the relation of groundwater flow to geologic structure, and the management of contaminated groundwater. The class includes laboratory and computer demonstrations.