Online courses

Online Courses Database

Curated by Aarhus University, Cognitive Science, Esben Kran and Sebastian Engen

This contains a list of many online courses. Originally curated for preliminary approval of courses outside Aarhus University (this is not possible for many of them). See a complete list of the content below. You are welcome to add an online course to the list according to the current structure. Try to ensure the quality of the course (e.g. reviews > 4.5, trustable universities, etc.).

Write to Esben Kran or Sebastian Engen if you wish to contribute.

Main online course sources: Udacity, EdX, and Coursera. See more on online platforms.

Data science

  • Instructor: Nick Carchedi
  • Link: <
  • Price: $0 swirl teaches you R programming and data science interactively,
    at your own pace, and right in the R console!
Intro to Git and Github

In this course, you’ll learn how to keep track of the different versions of your code and configuration files using a popular version control system (VCS) called Git. We’ll also go through how to setup an account with a service called GitHub so that you can create your very own remote repositories to store your code and configuration.

Throughout this course, you’ll learn about Git’s core functionality so you can understand how and why it’s used in organizations. We’ll look into both basic and more advanced features, like branches and merging. We’ll demonstrate how having a working knowledge of a VCS like Git can be a lifesaver in emergency situations or when debugging. And then we’ll explore how to use a VCS to work with others through remote repositories, like the ones provided by GitHub.

By the end of this course, you’ll be able to store your code’s history in Git and collaborate with others in GitHub, where you’ll also start creating your own portfolio!

In order to follow along and complete the assessments, you’ll need a computer where you can install Git or ask your administrator to install it for you.

Statistical Inferences

This course aims to help you to draw better statistical inferences from empirical research. First, we will discuss how to correctly interpret p-values, effect sizes, confidence intervals, Bayes Factors, and likelihood ratios, and how these statistics answer different questions you might be interested in. Then, you will learn how to design experiments where the false positive rate is controlled, and how to decide upon the sample size for your study, for example in order to achieve high statistical power. Subsequently, you will learn how to interpret evidence in the scientific literature given widespread publication bias, for example by learning about p-curve analysis. Finally, we will talk about how to do philosophy of science, theory construction, and cumulative science, including how to perform replication studies, why and how to pre-register your experiment, and how to share your results following Open Science principles.

In practical, hands on assignments, you will learn how to simulate t-tests to learn which p-values you can expect, calculate likelihood ratio’s and get an introduction the binomial Bayesian statistics, and learn about the positive predictive value which expresses the probability published research findings are true. We will experience the problems with optional stopping and learn how to prevent these problems by using sequential analyses. You will calculate effect sizes, see how confidence intervals work through simulations, and practice doing a-priori power analyses. Finally, you will learn how to examine whether the null hypothesis is true using equivalence testing and Bayesian statistics, and how to pre-register a study, and share your data on the Open Science Framework.

All videos now have Chinese subtitles. More than 30.000 learners have enrolled so far!

If you enjoyed this course, I can recommend following it up with me new course “Improving Your Statistical Questions”

Statistical Questions

This course aims to help you to ask better statistical questions when performing empirical research. We will discuss how to design informative studies, both when your predictions are correct, as when your predictions are wrong. We will question norms, and reflect on how we can improve research practices to ask more interesting questions. In practical hands on assignments you will learn techniques and tools that can be immediately implemented in your own research, such as thinking about the smallest effect size you are interested in, justifying your sample size, evaluate findings in the literature while keeping publication bias into account, performing a meta-analysis, and making your analyses computationally reproducible.

If you have the time, it is recommended that you complete my course ‘Improving Your Statistical Inferences’ before enrolling in this course, although this course is completely self-contained.

Data Analysis for Social Scientists

This statistics and data analysis course will introduce you to the essential notions of probability and statistics. We will cover techniques in modern data analysis: estimation, regression and econometrics, prediction, experimental design, randomized control trials (and A/B testing), machine learning, and data visualization. We will illustrate these concepts with applications drawn from real world examples and frontier research. Finally, we will provide instruction for how to use the statistical package R and opportunities for students to perform self-directed empirical analyses.

This course is designed for anyone who wants to learn how to work with data and communicate data-driven findings effectively.

Course Previews:

Our course previews are meant to give prospective learners the opportunity to get a taste of the content and exercises that will be covered in each course. If you are new to these subjects, or eager to refresh your memory, each course preview also includes some available resources. These resources may also be useful to refer to over the course of the semester.

A score of 60% or above in the course previews indicates that you are ready to take the course, while a score below 60% indicates that you should further review the concepts covered before beginning the course.

Please use this link to access the course preview.

Making Data Driven Decisions

Could you be using data more effectively? Uncover your data’s true value and learn how to leverage it with the latest and most powerful tools, techniques, and theories in data science from industry experts and renowned MIT faculty.

View the week to week course schedule here.

Apply data science techniques to your organization’s data management challenges.

Explore the latest trends in machine learning.

Convert datasets to models through predictive analytics.

Improve your business decision-making using analytical models.

Identify and avoid common pitfalls in big data analytics.

Deploy machine learning algorithms to mine your data.

Master best practices for experiment design and hypothesis testing.

Determine the difference between graphical models and network models.

Choose how to represent your data when making predictions.


The course is based on the text Mining of Massive Datasets by Jure Leskovec, Anand Rajaraman, and Jeff Ullman, who by coincidence are also the instructors for the course.

The book is published by Cambridge Univ. Press, but by arrangement with the publisher, you can download a free copy  Here. The material in this online course closely matches the content of the Stanford course CS246.

The major topics covered include: MapReduce systems and algorithms, Locality-sensitive hashing, Algorithms for data streams, PageRank and Web-link analysis, Frequent itemset analysis, Clustering, Computational advertising, Recommendation systems, Social-network graphs, Dimensionality reduction, and Machine-learning algorithms.

What you’ll be learning

  • MapReduce systems and algorithms
  • Locality-sensitive hashing
  • Algorithms for data streams
  • PageRank and Web-link analysis
  • Frequent itemset analysis
  • Clustering
  • Computational advertising
  • Recommendation systems
  • Social-network graphs
  • Dimensionality reduction
  • Machine-learning algorithms
Statistics and R

This course teaches the R programming language in the context of statistical data and statistical analysis in the life sciences.

We will learn the basics of statistical inference in order to understand and compute p-values and confidence intervals, all while analyzing data with R code. We provide R programming examples in a way that will help make the connection between concepts and implementation. Problem sets requiring R programming will be used to test understanding and ability to implement basic data analyses. We will use visualization techniques to explore new data sets and determine the most appropriate approach. We will describe robust statistical techniques as alternatives when data do not fit assumptions required by the standard approaches. By using R scripts to analyze data, you will learn the basics of conducting reproducible research.

Given the diversity in educational background of our students we have divided the course materials into seven parts. You can take the entire series or individual courses that interest you. If you are a statistician you should consider skipping the first two or three courses, similarly, if you are biologists you should consider skipping some of the introductory biology lectures. Note that the statistics and programming aspects of the class ramp up in difficulty relatively quickly across the first three courses. We start with simple calculations and descriptive statistics. By the third course will be teaching advanced statistical concepts such as hierarchical models and by the fourth advanced software engineering skills, such as parallel computing and reproducible research concepts.

Computational Neuroscience

Computational Neuroscience

This course provides an introduction to basic computational methods for understanding what nervous systems do and for determining how they function. We will explore the computational principles governing various aspects of vision, sensory-motor control, learning, and memory. Specific topics that will be covered include representation of information by spiking neurons, processing of information in neural networks, and algorithms for adaptation and learning. We will make use of Matlab/Octave/Python demonstrations and exercises to gain a deeper understanding of concepts and methods introduced in the course. The course is primarily aimed at third- or fourth-year undergraduates and beginning graduate students, as well as professionals and distance learners interested in learning how the brain processes information.

Machine Learning

Machine Learning with Python

Machine learning methods are commonly used across engineering and sciences, from computer systems to physics. Moreover, commercial sites such as search engines, recommender systems (e.g., Netflix, Amazon), advertisers, and financial institutions employ machine learning algorithms for content recommendation, predicting customer behavior, compliance, or risk.

As a discipline, machine learning tries to design and understand computer programs that learn from experience for the purpose of prediction or control.

In this course, students will learn about principles and algorithms for turning training data into effective automated predictions. We will cover:

  • Representation, over-fitting, regularization, generalization, VC dimension;

  • Clustering, classification, recommender problems, probabilistic modeling, reinforcement learning;

  • On-line algorithms, support vector machines, and neural networks/deep learning.

Students will implement and experiment with the algorithms in several Python projects designed for different practical applications.

Deep Learning

If you want to break into AI, this Specialization will help you do so. Deep Learning is one of the most highly sought after skills in tech. We will help you become good at Deep Learning.

In five courses, you will learn the foundations of Deep Learning, understand how to build neural networks, and learn how to lead successful machine learning projects. You will learn about Convolutional networks, RNNs, LSTM, Adam, Dropout, BatchNorm, Xavier/He initialization, and more. You will work on case studies from healthcare, autonomous driving, sign language reading, music generation, and natural language processing. You will master not only the theory, but also see how it is applied in industry. You will practice all these ideas in Python and in TensorFlow, which we will teach.

You will also hear from many top leaders in Deep Learning, who will share with you their personal stories and give you career advice.

AI is transforming multiple industries. After finishing this specialization, you will likely find creative ways to apply it to your work.

We will help you master Deep Learning, understand how to apply it, and build a career in AI.

Applied Learning Project

You will see and work on case studies in healthcare, autonomous driving, sign language reading, music generation, and natural language processing. You will also build near state-of-the-art deep learning models for several of these applications. In a “Machine Learning flight simulator”, you will work through case studies and gain “industry-like experience” setting direction for an ML team. is also partnering with the NVIDIA Deep Learning Institute (DLI) in Course 5, Sequence Models, to provide a programming assignment on Machine Translation with deep learning. You will have the opportunity to build a deep learning project with cutting-edge, industry-relevant content.

Machine Learning

Machine learning is the science of getting computers to act without being explicitly programmed. In the past decade, machine learning has given us self-driving cars, practical speech recognition, effective web search, and a vastly improved understanding of the human genome. Machine learning is so pervasive today that you probably use it dozens of times a day without knowing it. Many researchers also think it is the best way to make progress towards human-level AI. In this class, you will learn about the most effective machine learning techniques, and gain practice implementing them and getting them to work for yourself. More importantly, you’ll learn about not only the theoretical underpinnings of learning, but also gain the practical know-how needed to quickly and powerfully apply these techniques to new problems. Finally, you’ll learn about some of Silicon Valley’s best practices in innovation as it pertains to machine learning and AI.

This course provides a broad introduction to machine learning, datamining, and statistical pattern recognition. Topics include: (i) Supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks). (ii) Unsupervised learning (clustering, dimensionality reduction, recommender systems, deep learning). (iii) Best practices in machine learning (bias/variance theory; innovation process in machine learning and AI). The course will also draw from numerous case studies and applications, so that you’ll also learn how to apply learning algorithms to building smart robots (perception, control), text understanding (web search, anti-spam), computer vision, medical informatics, audio, database mining, and other areas.

Engineering with AI

This two-course online certificate program brings a hands-on approach to understanding the computational tools used in engineering problem-solving.

Learn how to simulate complex physical processes in your work using discretization methods and numerical algorithms.

Assess and respond to cost-accuracy tradeoffs in simulation and optimization and make decisions about how to deploy computational resources.

Understand optimization techniques and their fundamental role in machine learning.

Practice real-world forecasting and risk assessment using probabilistic methods.

Recognize the limitations of machine learning and what MIT researchers are doing to resolve them.

Learn about current research in machine learning at the MIT CCSE and how it might impact your work in the future.

Self-Driving Car Engineering

You’ll first apply computer vision and deep learning to automotive problems, including detecting lane lines, predicting steering angles, and more. Next, you’ll learn sensor fusion, which you’ll use to filter data from an array of sensors in order to perceive the environment. Then, you’ll work with a team to program Carla, Udacity’s real self-driving car.


Students should have experience with Python, C++, Linear Algebra, and Calculus. See detailed requirements.

The Self-Driving Car Engineer Nanodegree program is one of the only programs in the world to both teach students how to become a self-driving car engineer, and support students in obtaining a job within the field of autonomous systems. The program’s nine projects equip students with invaluable skills across a wide array of critical topics, including deep learning, computer vision, sensor fusion, localization, controllers, vehicle kinematics, automotive hardware, and more. As part of their capstone project, students have the rare opportunity to run their code on an actual autonomous vehicle owned by Udacity.

Deep Reinforcement Learning

Learn cutting-edge deep reinforcement learning algorithms—from Deep Q-Networks (DQN) to Deep Deterministic Policy Gradients (DDPG). Apply these concepts to train agents to walk, drive, or perform other complex tasks, and build a robust portfolio of deep reinforcement learning projects.


This program requires experience with Python, probability, machine learning, and deep learning.See detailed requirements.

Foundations of Reinforcement Learning

  • Master the fundamentals of reinforcement learning by writing your own implementations of many classical solution methods.

Value-based methods

  • Apply deep learning architectures to reinforcement learning tasks. Train your own agent that navigates a virtual world from sensory data

Policy-Based Methods

  • Learn the theory behind evolutionary algorithms and policy-gradient methods. Design your own algorithm to train a simulated robotic arm to reach target locations.

Multi-Agent Reinforcement Learning

  • Learn how to apply reinforcement learning methods to applications that involve multiple, interacting agents. These techniques are used in a variety of applications,

Reinforcement Learning series


Minds and Machines

What is the relationship between the mind and the body? Can computers think? Do we perceive reality as it is? Can there be a science of consciousness?

This course explores these questions and others. It is a thorough, rigorous introduction to contemporary philosophy of mind.

According to many scientists and philosophers, explaining the nature of consciousness is the deepest intellectual challenge of all. If you find consciousness at all puzzling, this is a great place to start learning more.

Automata Theory

We begin with a study of finite automata and the languages they can define (the so-called “regular languages.” Topics include deterministic and nondeterministic automata, regular expressions, and the equivalence of these language-defining mechanisms. We also look at closure properties of the regular languages, e.g., the fact that the union of two regular languages is also a regular language. We consider decision properties of regular languages, e.g., the fact that there is an algorithm to tell whether or not the language defined by two finite automata are the same language. Finally, we see the pumping lemma for regular languages – a way of proving that certain languages are not regular languages.

Our second topic is context-free grammars and their languages. We learn about parse trees and follow a pattern similar to that for finite automata: closure properties, decision properties, and a pumping lemma for context-free languages. We also introduce the pushdown automaton, whose nondeterministic version is equivalent in language-defining power to context-free grammars.

Next, we introduce the Turing machine, a kind of automaton that can define all the languages that can reasonably be said to be definable by any sort of computing device (the so-called “recursively enumerable languages”). We shall learn how “problems” (mathematical questions) can be expressed as languages. That lets us define problems to be “decidable” if their language can be defined by a Turing machine and “undecidable” if not. We shall see some basic undecidable problems, for example, it is undecidable whether the intersection of two context-free languages is empty.

Last, we look at the theory of intractable problems. These are problems that, while they are decidable, have almost certainly no algorithm that runs in time less than some exponential function of the size of their input. We meet the NP-complete problems, a large class of intractable problems. This class includes many of the hard combinatorial problems that have been assumed for decades or even centuries to require exponential time, and we learn that either none or all of these problems have polynomial-time algorithms. A common example of an NP-complete problem is SAT, the question of whether a Boolean expression has a truth-assignment to its variables that makes the expression itself true.


Principles of Synthetic Biology

Do you like biology, biotechnology, or genetic engineering? Are you interested in computer science, engineering, or design? Synthetic Biology is an innovative field bringing together these subject areas and many more to create useful tools to solve everyday problems.

This introductory synthetic biology course starts with a brief overview of the field and then delves into more challenging yet exciting concepts. You will learn how to design your very own biological regulatory circuits and consider ways in which you can apply these circuits to real-world problems we face today.

From basic oscillators, toggle switches, and band-pass filters to more sophisticated circuits that build upon these devices, you will learn what synthetic biologists of today are currently constructing and how these circuits can be used in interesting and novel ways.

Join us as we explore the field of synthetic biology: its past, present, and promising future!

Expanding Horizons

Optical Materials and Devices

In this engineering course, you will learn about photodetectors, solar cells (photovoltaics), displays, light emitting diodes, lasers, optical fibers, optical communications, and photonic devices.

This course is part of a three-part series, which explains the basis of the electrical, optical, and magnetic properties of materials including semiconductors, metals, organics, and insulators. We will show how devices are built to take advantage of these properties. This is illustrated with a wide range of devices, placing a strong emphasis on new and emerging technologies.

Part 1 -  3.15.1x: Electronic Materials and Devices Part 3 -  3.15.3x: Magnetic Materials and Devices

Global Warming Science

Global Warming Science teaches you about the risks and uncertainties of future climate change by examining the science behind the earth’s climate. You will be able to answer such questions as, “What is the Greenhouse Effect?” and “How and why has earth’s climate changed through geologic history?”

This science course is designed for college sophomores and juniors with some preparation in college-level calculus and physics.

Global Health Informatics

Disease has no respect for country borders and increased global travel has fueled the spread of infectious disease, as evidenced by the Ebola virus epidemic. Chronic diseases such as diabetes and heart disease, initially confined to the developed world, now exist side by side with malnutrition in low- and middle-income countries (LMIC). Global warming is widening the endemicity of vector-borne diseases.

In this course, we will explore ways to leverage information technology to combat disease and promote health, especially in resource-constrained settings. Technology is a driving force that sweeps across nations even faster than disease and with the spread of mobile phones, which bring computational power and data to our fingertips, new paradigms in tracking and battling disease have been discovered.

This course will explore innovations in information systems in developing countries, and focus not only on the importance of technology, but also on broader issues necessary for its success, such as quality improvement, project management, and leadership skills. Ultimately, health care delivery systems require fundamental and sound operations, such as physical infrastructure and supply-chain management, to deliver high-quality care. Technology is simply a tool to help facilitate this process.

The quality of care theme is critical to this course. The first step stakeholders in health systems should focus on prior to introducing an innovation is to establish a culture of quality improvement and patient safety. An information system can then play a facilitative role by enabling care coordination, tracking processes and outcomes, informing decision making, and fostering learning through data analysis.

An information system without an accompanying organizational transformation risks reinforcing the same failed processes. Using technology to improve access to care without any other quality improvement elements will yield the same and not necessarily better results, but more of them. Innovations need to address gaps in quality and demonstrate improvement in health outcomes, otherwise they won’t sustain or scale.

Lastly, we will discuss our attempts to leverage troves of data to define best practice and how we must keep the patient perspective and health at the center of everything we do.

This course is targeted toward individuals interested in designing or implementing a health information and communication technology (ICT) solution in the developing world. Implementing a health information technology project requires mulTimeisciplinary teams. Thus, with this course, we hope to bring together individuals from a variety of disciplines—computer science, medicine, engineering, public health, policy, and business.


Business Foundations Specialization

Business Foundations Specialization

In this Specialization, you’ll develop basic literacy in the language of business, which you can use to transition to a new career, start or improve your own small business, or apply to business school to continue your education. In five courses, you’ll learn the fundamentals of marketing, accounting, operations, and finance. In the final Capstone Project, you’ll apply the skills learned by developing a go-to-market strategy to address a real business challenge.