This course will provide a gentle, yet intense, introduction to programming using Python for highly motivated students with little or no prior experience in programming. The course will focus on planning and organizing programs, as well as the grammar of the Python programming language.

The course is designed to help prepare students for 6.01 Introduction to EECS I. 6.01 assumes some knowledge of Python upon entering; the course material for 6.189 has been specially designed to make sure that concepts important to 6.01 are covered.

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.

We will learn computational methods -- algorithms and data structures -- for analyzing DNA sequencing data. We will learn a little about DNA, genomics, and how DNA sequencing is used. We will use Python to implement key algorithms and data structures and to analyze real genomes and DNA sequencing datasets.

In this data science course, you will explore the theory and practice of select advanced methods commonly used in data science.

In the first two modules, you will learn about common applications of specialized data types. Then, in the remaining two modules, you will focus on unstructured data. You will work with tools such as R, Python, and Azure Machine Learning to solve advanced data science problems.

In this course you will learn about audio signal processing methodologies that are specific for music and of use in real applications. You will learn to analyse, synthesize and transform sounds using the Python programming language.

As a Python programmer, leveraging Flask allows you to quickly and easily build your own web applications. But before you share your apps on the Internet you should protect your users' data, ensuring information stored on your site is safe from unwanted manipulation. You could implement web security and permissions on your own, but relying on trusted providers is a faster, safer, and easier way to allow users to login to your application - without having to create and maintain another account, profile, and password.
In this course, you will learn to implement the OAuth 2.0 framework to allow users to securely login to your web applications. You'll be provided a restaurant menu application created in Flask. By the end of this course, you will write the necessary code to implement Google+ Sign-In and Facebook Login in options so users can create restaurant menus that are viewable by everyone but only modifiable by the original creator.

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.

FAQ

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:

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.

Organizations use their data to support and influence decisions and build data-intensive products and services, such as recommendation, prediction, and diagnostic systems. The collection of skills required by organizations to support these functions has been grouped under the term ‘data science’.

This statistics and data analysis course will attempt to articulate the expected output of data scientists and then teach students how to use PySpark (part of Spark) to deliver against these expectations. The course assignments include log mining, textual entity recognition, and collaborative filtering exercises that teach students how to manipulate data sets using parallel processing with PySpark.

This course covers advanced undergraduate-level material. It requires a programming background and experience with Python (or the ability to learn it quickly). All exercises will use PySpark (the Python API for Spark), and previous experience with Spark equivalent to Introduction to Apache Spark, is required.

Are you interested in learning how to program (in Python) within a scientific setting?
This course will cover algorithms for solving various biological problems along with a handful of programming challenges helping you implement these algorithms in Python. It offers a gentler-paced alternative to the first course in our Bioinformatics Specialization (Finding Hidden Messages in DNA).

This course teaches the design of contemporary information systems for biological and medical data. Examples are chosen from biology and medicine to illustrate complete life cycle information systems, beginning with data acquisition, following to data storage and finally to retrieval and analysis. Design of appropriate databases, client-server strategies, data interchange protocols, and computational modeling architectures. Students are expected to have some familiarity with scientific application software and a basic understanding of at least one contemporary programming language (e.g. C, C++, Java, Lisp, Perl, Python). A major term project is required of all students. This subject is open to motivated seniors having a strong interest in biomedical engineering and information system design with the ability to carry out a significant independent project.

Probability and inference are used everywhere. For example, they help us figure out which of your emails are spam, what results to show you when you search on Google, how a self-driving car should navigate its environment, or even how a computer can beat the best Jeopardy and Go players! What do all of these examples have in common? They are all situations in which a computer program can carry out inferences in the face of uncertainty at a speed and accuracy that far exceed what we could do in our heads or on a piece of paper.

In this data analysis and computer programming course, you will learn the principles of probability and inference. We will put these mathematical concepts to work in code that solves problems people care about. You will learn about different data structures for storing probability distributions, such as probabilistic graphical models, and build efficient algorithms for reasoning with these data structures.

By the end of this course, you will know how to model real-world problems with probability, and how to use the resulting models for inference.

You don’t need to have prior experience in either probability or inference, but you should be comfortable with basic Python programming and calculus.

“I love that you can do so much with the material, from programming a robot to move in an unfamiliar environment, to segmenting foreground/background of an image, to classifying tweets on Twitter—all homework examples taken from the class!” – Previous Student in the residential version of this new online course.

The goal of this course, part of the Analytics: Essential Tools and Methods MicroMasters program, is for you to learn how to build these components and connect them using modern tools and techniques.

In the course, you’ll see how computing and mathematics come together. For instance, “under the hood” of modern data analysis lies numerical linear algebra, numerical optimization, and elementary data processing algorithms and data structures. Together, they form the foundations of numerical and data-intensive computing.

The hands-on component of this course will develop your proficiency with modern analytical tools. You will learn how to mash up Python, R, and SQL through Jupyter notebooks, among other tools. Furthermore, you will apply these tools to a variety of real-world datasets, thereby strengthening your ability to translate principles into practice.