# Online courses directory (224)

This course is part of the *Microsoft Professional Program Certificate in Big Data, *and the *Microsoft Professional Program Certificate in Data Science*.

The open-source programming language R has for a long time been popular (particularly in academia) for data processing and statistical analysis. Among R's strengths are that it's a succinct programming language and has an extensive repository of third party libraries for performing all kinds of analyses. Together, these two features make it possible for a data scientist to very quickly go from raw data to summaries, charts, and even full-blown reports. However, one deficiency with R is that traditionally it uses a lot of memory, both because it needs to load a copy of the data in its entirety as a data.frame object, and also because processing the data often involves making further copies (sometimes referred to as copy-on-modify). This is one of the reasons R has been more reluctantly received by industry compared to academia.

The main component of Microsoft R Server (MRS) is the RevoScaleR package, which is an R library that offers a set of functionalities for processing large datasets without having to load them all at once in the memory. RevoScaleR offers a rich set of distributed statistical and machine learning algorithms, which get added to over time. Finally, RevoScaleR also offers a mechanism by which we can take code that we developed on our laptop and deploy it on a remote server such as SQL Server or Spark (where the infrastructure is very different under the hood), with minimal effort.

In this course, we will show you how to use MRS to run an analysis on a large dataset and provide some examples of how to deploy it on a Spark cluster or a SQL Server database. Upon completion, you will know how to use R for big-data problems.

Since RevoScaleR is an R package, we assume that the course participants are familiar with R. A solid understanding of R data structures (vectors, matrices, lists, data frames, environments) is required. For example, students should be able to confidently tell the difference between a list and a data frame, or what each object is generally a good representation for and how to subset it. Students should be familiar with basic programming concepts such as control flows, loops, functions and scope. Students should have a good understanding of how to write and debug R functions. Finally, students are expected to have a good understanding of data manipulation and data processing in R (e.g. functions such as merge, transform, subset, cbind, rbind, lapply, apply). Familiarity with 3rd party packages such as dplyr is also helpful.

This computer science course covers advanced OOP strategies, including polymorphism, abstract classes, super keyword, exceptions, generics, sorting and searching algorithms.

This course is for anyone interested in taking a first-level computer-programming course, particularly those who attend a school that does not provide a similar class.

We are looking forward to helping you explore this exciting new world!

How have humans protected their secret messages through history? What has changed today?. What is Cryptography?. Probability Space. The Caesar Cipher. Caesar Cipher Exploration. Frequency Fingerprint Exploration . Polyalphabetic Cipher. Polyalphabetic Exploration. The One-Time Pad. Perfect Secrecy Exploration. Frequency Stability. Coin flip sequences. Frequency Stability Exploration. The Enigma Encryption Machine (case study). Perfect Secrecy. Pseudorandom Number Generators. Random Walk Exploration. Ciphers vs. Codes. Shift Cipher. Caesar cipher encryption. Caesar Cipher Decryption. Caesar cipher frequency analysis. Vigenere cipher encryption. XOR Bitwise Operation. XOR & the One-Time Pad. XOR Exploration. Bitwise Operators. What's Next?. The Fundamental Theorem of Arithmetic. Public Key Cryptography: what is it?. The Discrete Logarithm Problem. Diffie-Hellman Key Exchange. RSA Encryption: step 1. RSA Encryption: step 2. RSA Encryption: step 3. Time Complexity (Exploration). Euler's Totient Function. Euler Totient Exploration. RSA Encryption: step 4. What should we learn next?. What is Modular Arithmetic?. Modulo Operator. Congruence Modulo. Congruence Relation. Equivalence Relations. The Quotient Remainder Theorem. Modular Addition & Subtraction. Modular Addition. Modular Multiplication. Modular Multiplication. Modular Exponentiation. Fast Modular Exponentiation. Fast Modular Exponentiation. Modular Inverses. Introduction. Primality Test Challenge. Trial Division. Level 1: Primality Test. Running Time. Level 2: measuring running time. Computer Memory (space). Binary Memory Exploration. Algorithmic Efficiency. Level 3: Challenge. Sieve of Eratosthenes. Level 4: Sieve of Eratosthenes. Primality Test with Sieve. Level 5: Trial division using sieve. The Prime Number Theorem. Prime density spiral. Prime Gaps. Time Space Tradeoff. Summary (what's next?). Randomized Algorithms (intro). Conditional Probability (Bayes Theorem) Visualized. Guess the coin. Random Primality Test (warm up). Level 9: Trial Divison vs Random Division. Fermat's Little Theorem. Fermat Primality Test. Level 10: Fermat Primality Test. What's Next?. What is Cryptography?. Probability Space. The Caesar Cipher. Caesar Cipher Exploration. Frequency Fingerprint Exploration . Polyalphabetic Cipher. Polyalphabetic Exploration. The One-Time Pad. Perfect Secrecy Exploration. Frequency Stability. Coin flip sequences. Frequency Stability Exploration. The Enigma Encryption Machine (case study). Perfect Secrecy. Pseudorandom Number Generators. Random Walk Exploration. Ciphers vs. Codes. Shift Cipher. Caesar cipher encryption. Caesar Cipher Decryption. Caesar cipher frequency analysis. Vigenere cipher encryption. XOR Bitwise Operation. XOR & the One-Time Pad. XOR Exploration. Bitwise Operators. What's Next?. The Fundamental Theorem of Arithmetic. Public Key Cryptography: what is it?. The Discrete Logarithm Problem. Diffie-Hellman Key Exchange. RSA Encryption: step 1. RSA Encryption: step 2. RSA Encryption: step 3. Time Complexity (Exploration). Euler's Totient Function. Euler Totient Exploration. RSA Encryption: step 4. What should we learn next?. What is Modular Arithmetic?. Modulo Operator. Congruence Modulo. Congruence Relation. Equivalence Relations. The Quotient Remainder Theorem. Modular Addition & Subtraction. Modular Addition. Modular Multiplication. Modular Multiplication. Modular Exponentiation. Fast Modular Exponentiation. Fast Modular Exponentiation. Modular Inverses. Introduction. Primality Test Challenge. Trial Division. Level 1: Primality Test. Running Time. Level 2: measuring running time. Computer Memory (space). Binary Memory Exploration. Algorithmic Efficiency. Level 3: Challenge. Sieve of Eratosthenes. Level 4: Sieve of Eratosthenes. Primality Test with Sieve. Level 5: Trial division using sieve. The Prime Number Theorem. Prime density spiral. Prime Gaps. Time Space Tradeoff. Summary (what's next?). Randomized Algorithms (intro). Conditional Probability (Bayes Theorem) Visualized. Guess the coin. Random Primality Test (warm up). Level 9: Trial Divison vs Random Division. Fermat's Little Theorem. Fermat Primality Test. Level 10: Fermat Primality Test. What's Next?.

This is CS50 AP, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for students in high school, which satisfies the College Board's new AP CS Principles curriculum framework.

An entry-level course taught by David J. Malan, CS50 AP teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, PHP, and JavaScript plus SQL, CSS, and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. As of Fall 2015, the on-campus version of CS50 was Harvard's largest course.

Students in high school may receive AP credit for this course provided their school approves the credit and administers the College Board's end-of-year exam. Students who earn a satisfactory score on 9 problem sets (i.e., programming assignments) and a final project are also eligible to receive a verified certificate from HarvardX.

This course covers the fundamentals of astrodynamics, focusing on the two-body orbital initial-value and boundary-value problems with applications to space vehicle navigation and guidance for lunar and planetary missions, including both powered flight and midcourse maneuvers. Other topics include celestial mechanics, Kepler's problem, Lambert's problem, orbit determination, multi-body methods, mission planning, and recursive algorithms for space navigation. Selected applications from the Apollo, Space Shuttle, and Mars exploration programs are also discussed.

In this physics course, you will be introduced to the QED Hamiltonian (Quantum ElectroDynamics), and learn how to construct diagrams for light-atom interactions. Using your new tools you will study Van der Waals and Casimir interactions, resonant scattering and radiative corrections.

This course is a part of a series of courses to introduce concepts and current frontiers of atomic physics, and to prepare you for cutting-edge research:

- 8.422.1x: Quantum States and Dynamics of Photons
**8.422.2x: Atom-photon Interactions**- 8.422.3x: Optical Bloch Equations and Open System Dynamics
- 8.422.4x: Light Forces and Laser Cooling
- 8.422.5x: Ultracold Atoms and Ions for Many-body Physics and Quantum Information Science

At MIT, the content of the five courses makes the second of a two-semester sequence (8.421 and 8.422) for graduate students interested in Atomic, Molecular, and Optical Physics. This sequence is required for Ph.D. students doing research in this field.

Completing the series allows you to pursue advanced study and research in cold atoms, as well as in specialized topics in condensed matter physics. In these five courses you will learn about the following topics:

- Quantum states and dynamics of photons
- Photon-atom interactions: basics and semiclassical approximations
- Open system dynamics
- Optical Bloch equations
- Applications and limits of the optical Bloch equations
- Dressed atoms
- Light force
- Laser cooling
- Cold atoms
- Evaporative cooling
- Bose-Einstein condensation
- Quantum algorithms and protocols
- Ion traps and magnetic traps

In this physics course, you will learn about the spontaneous and stimulated light force and friction force in molasses and optical standing waves. You will also study light forces in the dressed atom picture. The course will discuss the techniques of magneto-optical traps and sub-Doppler and sub-recoil cooling.

This course is a part of a series of courses to introduce concepts and current frontiers of atomic physics, and to prepare you for cutting-edge research:

- 8.422.1x: Quantum states and dynamics of photons
- 8.422.2x: Atom-photon interactions
- 8.422.3x: Optical Bloch equations and open system dynamics
**8.422.4x: Light forces and laser cooling**- 8.422.5x: Ultracold atoms and ions for many-body physics and quantum information science

At MIT, the content of the five courses makes the second of a two-semester sequence (8.421 and 8.422) for graduate students interested in Atomic, Molecular, and Optical Physics. This sequence is required for Ph.D. students doing research in this field.

Completing the series allows you to pursue advanced study and research in cold atoms, as well as specialized topics in condensed matter physics. In these five courses you will learn about the following topics:

- quantum states and dynamics of photons
- photon-atom interactions: basics and semiclassical approximations
- open system dynamics
- optical Bloch equations
- applications and limits of the optical Bloch equations
- dressed atoms
- light force
- laser cooling
- cold atoms
- evaporative cooling
- Bose-Einstein condensation
- quantum algorithms and protocols
- ion traps and magnetic traps

This physics course presents a general derivation of the master equation and the optical Bloch equations. You will learn about various solutions of the optical Bloch equations, and you will discuss the quantum Monte Carlo wavefunction approach. The course will conclude with a discussion of unraveling open system quantum dynamics.

This course is a part of a series of courses to introduce concepts and current frontiers of atomic physics, and to prepare you for cutting-edge research:

- 8.422.1x: Quantum states and dynamics of photons
- 8.422.2x: Atom-photon interactions
**8.422.3x: Optical Bloch equations and open system dynamics**- 8.422.4x: Light forces and laser cooling
- 8.422.5x: Ultracold atoms and ions for many-body physics and quantum information science

At MIT, the content of the five courses makes the second of a two-semester sequence (8.421 and 8.422) for graduate students interested in Atomic, Molecular, and Optical Physics. This sequence is required for Ph.D. students doing research in this field.

Completing the series allows you to pursue advanced study and research in cold atoms, as well as specialized topics in condensed matter physics. In these five courses you will learn about the following topics:

- quantum states and dynamics of photons
- photon-atom interactions: basics and semiclassical approximations
- open system dynamics
- optical Bloch equations
- applications and limits of the optical Bloch equations
- dressed atoms
- light force
- laser cooling
- cold atoms
- evaporative cooling
- Bose-Einstein condensationquantum algorithms and protocols
- ion traps and magnetic traps.

In this physics course, you will learn about the quantum description of light with applications to squeezed states of light and teleportation as well as the non-classical states of light and single photons. You will learn how to do metrology with light. You will also learn about correlations with photons as well as atom correlation functions.

This course is a part of a series of courses to introduce fundamental concepts and current frontiers of atomic physics, and to prepare you for cutting-edge research:

**8.422.1x: Quantum States and Dynamics of Photons**- 8.422.2x: Atom-photon Interactions
- 8.422.3x: Optical Bloch Equations and Open System Dynamics
- 8.422.4x: Light Forces and Laser Cooling
- 8.422.5x: Ultracold Atoms and Ions for Many-body Physics and Quantum Information Science

At MIT, the content of these five courses makes up the second of a two-semester sequence (8.421 and 8.422) for graduate students interested in Atomic, Molecular, and Optical Physics. This sequence is required for Ph.D. students doing research in this field.

In these five courses you will learn about the following topics: quantum states and dynamics of photons, photon-atom interactions: basics and semiclassical approximations, open system dynamics, optical Bloch equations, applications and limits of the optical Bloch equations, dressed atoms, light force, laser cooling, cold atoms, evaporative cooling, Bose-Einstein condensation, quantum algorithms and protocols, ion traps and magnetic traps.

Completing this series allows you to pursue advanced study and research in cold atoms, as well as specialized topics in condensed matter physics.

In this physics course you will learn about ultracold bosons and fermions, and you will hear from Prof. Ketterle about Bose-Einstein condensation (BEC). Prof. Ketterle was among the first to achive BEC in the lab and was awarded the Nobel prize in 2001 for his work along with Eric Cornell and Carl Wieman. You will also learn about weakly interacting Bose gases, as well as superfluid to Mott insulator transition, BEC-BCS crossover, trapped ions and quantum gates with ions.

- 8.422.1x: Quantum states and dynamics of photons
- 8.422.2x: Atom-photon interactions
- 8.422.3x: Optical Bloch equations and open system dynamics
- 8.422.4x: Light forces and laser cooling
**8.422.5x: Ultracold atoms and ions for many-body physics and quantum information science**

Completing the series allows you to pursue advanced study and research in cold atoms, as well as specialized topics in condensed matter physics. In these five courses you will learn about the following topics:

- quantum states and dynamics of photons
- photon-atom interactions: basics and semiclassical approximations
- open system dynamics
- optical Bloch equations
- applications and limits of the optical Bloch equations
- dressed atoms
- light force
- laser cooling
- cold atoms
- evaporative cooling
- Bose-Einstein condensation
- quantum algorithms and protocols
- ion traps and magnetic traps.

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.

6.345 introduces students to the rapidly developing field of automatic speech recognition. Its content is divided into three parts. Part I deals with background material in the acoustic theory of speech production, acoustic-phonetics, and signal representation. Part II describes algorithmic aspects of speech recognition systems including pattern classification, search algorithms, stochastic modelling, and language modelling techniques. Part III compares and contrasts the various approaches to speech recognition, and describes advanced techniques used for acoustic-phonetic modelling, robust speech recognition, speaker adaptation, processing paralinguistic information, speech understanding, and multimodal processing.

Robots are rapidly evolving from factory workhorses, which are physically bound to their work-cells, to increasingly complex machines capable of performing challenging tasks in our daily environment. The objective of this course is to provide the basic concepts and algorithms required to develop mobile robots that act autonomously in complex environments. The main emphasis is put on mobile robot locomotion and kinematics, environment perception, probabilistic map based localization and mapping, and motion planning. The lectures and exercises of this course introduce several types of robots such as wheeled robots, legged robots and drones.

This lecture closely follows the textbook Introduction to Autonomous Mobile Robots by Roland Siegwart, Illah Nourbakhsh, Davide Scaramuzza, The MIT Press, second edition 2011.

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:

- 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.

Data science plays an important role in many industries. In facing massive amount of heterogeneous data, scalable machine learning and data mining algorithms and systems become extremely important for data scientists. The growth of volume, complexity and speed in data drives the need for scalable data analytic algorithms and systems. In this course, we study such algorithms and systems in the context of healthcare applications. In healthcare, large amounts of heterogeneous medical data have become available in various healthcare organizations (payers, providers, pharmaceuticals). This data could be an enabling resource for deriving insights for improving care delivery and reducing waste. The enormity and complexity of these datasets present great challenges in analyses and subsequent applications to a practical clinical environment.

Organizations now have access to massive amounts of data and it’s influencing the way they operate. They are realizing in order to be successful they must leverage their data to make effective business decisions.

In this course, part of the Big Data MicroMasters program, you will learn how big data is driving organisational change and the key challenges organizations face when trying to analyse massive data sets.

You will learn fundamental techniques, such as data mining and stream processing. You will also learn how to design and implement PageRank algorithms using MapReduce, a programming paradigm that allows for massive scalability across hundreds or thousands of servers in a Hadoop cluster. You will learn how big data has improved web search and how online advertising systems work.

By the end of this course, you will have a better understanding of the various applications of big data methods in industry and research.

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…