Online courses directory (726)
This is an introduction to the physics of atmospheric radiation and remote sensing including use of computer codes. Subjects covered include: radiative transfer equation including emission and scattering, spectroscopy, Mie theory, and numerical solutions. We examine the solution of inverse problems in remote sensing of atmospheric temperature and composition.
This course uses the theory and application of atomistic computer simulations to model, understand, and predict the properties of real materials. Specific topics include: energy models from classical potentials to first-principles approaches; density functional theory and the total-energy pseudopotential method; errors and accuracy of quantitative predictions: thermodynamic ensembles, Monte Carlo sampling and molecular dynamics simulations; free energy and phase transitions; fluctuations and transport properties; and coarse-graining approaches and mesoscale models. The course employs case studies from industrial applications of advanced materials to nanotechnology. Several laboratories will give students direct experience with simulations of classical force fields, electronic-structure approaches, molecular dynamics, and Monte Carlo.
This course was also taught as part of the Singapore-MIT Alliance (SMA) programme as course number SMA 5107 (Atomistic Computer Modeling of Materials).
Support for this course has come from the National Science Foundation's Division of Materials Research (grant DMR-0304019) and from the Singapore-MIT Alliance.
This course provides a challenging introduction to some of the central ideas of theoretical computer science. Beginning in antiquity, the course will progress through finite automata, circuits and decision trees, Turing machines and computability, efficient algorithms and reducibility, the P versus NP problem, NP-completeness, the power of randomness, cryptography and one-way functions, computational learning theory, and quantum computing. It examines the classes of problems that can and cannot be solved by various kinds of machines. It tries to explain the key differences between computational models that affect their power.
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, you’ll be introduced to virtual network configuration through the Microsoft Azure Portal and network configuration files. You’ll also see how to use network services to configure and load balance network traffic using tools such as Azure DNS. Load Balancer, Azure Traffic Manager, and Application Gateway. And because this is about the cloud, you’ll see how to connect your on-premises computers to Azure virtual networks as well as establishing connectivity between sites.
Curious about entrepreneurship, but not sure where to start? Learn from MIT’s premier program for aspiring entrepreneurs, MIT Launch.
Becoming an Entrepreneur is an innovation and business course designed for aspiring entrepreneurs who want to explore an entrepreneurial path and overcome some of the initial challenges in taking those first steps.
From developing new business ideas and doing market research to entrepreneurial strategy and pitching, this course follows MIT’s successful approach to entrepreneurship. There will be a combination of short videos, thought-provoking case studies, and activities that will challenge you to get you away from your computer screen and into the community to make a real impact.
No previous business or entrepreneurship experience needed. Join us to embark on your entrepreneurial journey.
In data science, data is called “big” if it cannot fit into the memory of a single standard laptop or workstation.
The analysis of big datasets requires using a cluster of tens, hundreds or thousands of computers. Effectively using such clusters requires the use of distributed files systems, such as the Hadoop Distributed File System (HDFS) and corresponding computational models, such as Hadoop, MapReduce and Spark.
In this course, part of the Data Science MicroMasters program, you will learn what the bottlenecks are in massive parallel computation and how to use spark to minimize these bottlenecks.
You will learn how to perform supervised an unsupervised machine learning on massive datasets using the Machine Learning Library (MLlib).
In this course, as in the other ones in this MicroMasters program, you will gain hands-on experience using PySpark within the Jupyter notebooks environment.
In this course, you will look at the properties behind the basic concepts of probability and statistics and focus on applications of statistical knowledge. You will learn about how statistics and probability work together. The subject of statistics involves the study of methods for collecting, summarizing, and interpreting data. Statistics formalizes the process of making decisions, and this course is designed to help you use statistical literacy to make better decisions. Note that this course has applications for the natural sciences, economics, computer science, finance, psychology, sociology, criminology, and many other fields. We read data in articles and reports every day. After finishing this course, you should be comfortable evaluating an author's use of data. You will be able to extract information from articles and display that information effectively. You will also be able to understand the basics of how to draw statistical conclusions. This course will begin with descriptive statistic…
The advent of computers transformed science. Large, complicated datasets that once took researchers years to manually analyze could suddenly be analyzed within a week using computer software. Nowadays, scientists can use computers to produce several hypotheses as to how a particular phenomenon works, create computer models using the parameters of each hypothesis, input data, and see which hypothetical model produces an output that most closely mirrors reality. Computational biology refers to the use of computers to automate data analysis or model hypotheses in the field of biology. With computational biology, researchers apply mathematics to biological phenomena, use computer programming and algorithms to artificially create or model the phenomena, and draw from statistics in order to interpret the findings. In this course, you will learn the basic principles and procedures of computational biology. You will also learn various ways in which you can apply computational biology to molecular and cell…
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.