

Our Courses

Programming in Java: A Hands-on Introduction
This specialization is intended for people without programming experience who seek to develop Java programming skills and learn about the underlying computer science concepts that will allow them to pick up other programming languages quickly. In these four courses, you will cover everything from fundamentals to object-oriented design. These topics will help prepare you to write anything from small programs to automate repetitive tasks to larger applications, giving you enough understanding of Java to tackle more specialized topics such as Data Science and Artificial Intelligence.
-
Course by
-
Self Paced
-
English

Applied Data Science
This action-packed Specialization is for data science enthusiasts who want to acquire practical skills for real world data problems. If you’re interested in pursuing a career in data science, and already have foundational skills or have completed the Introduction to Data Science Specialization, this program is for you! This 4-course Specialization will give you the tools you need to analyze data and make data driven business decisions leveraging computer science and statistical analysis.
-
Course by
-
Self Paced
-
English

The Data Driven Manager
In the Data Driven Manager specialization, you will learn how to first understand the type of data that you have (or want to generate), then describe it with numbers and graphs to communicate with your audience. You will practice using probability and distributions to understand the underlying nature of your data to make decisions and solve problems in a way that increases the likelihood of a desired outcome. You will learn the steps to create a plan to answer business and engineering questions and reduce risk when making decisions.
-
Course by
-
Self Paced
-
English

Precalculus: Mathematical Modeling
This course helps to build the foundational material to use mathematics as a tool to model, understand, and interpret the world around us. This is done through studying functions, their properties, and applications to data analysis. Concepts of precalculus provide the set of tools for the beginning student to begin their scientific career, preparing them for future science and calculus courses. This course is designed for all students, not just those interested in further mathematics courses.
-
Course by
-
Self Paced
-
10 hours
-
English

Object-Oriented Java: Inheritance and Encapsulation
Code and run your first Java program in minutes without installing anything! This course is designed for learners with limited coding experience, providing a solid foundation of not just Java, but core Computer Science topics that can be transferred to other languages. The modules in this course cover inheritance, encapsulation, polymorphism, and other object-related topics. Completion of the prior 3 courses in this specialization is recommended. To allow for a truly hands-on, self-paced learning experience, this course is video-free.
-
Course by
-
Self Paced
-
10 hours
-
English

Effective Communication Capstone Project
In the Effective Communication Capstone learners apply the lessons of Business Writing, Graphic Design, and Successful Presentation to create a portfolio of work that represents their mastery of writing, design, and speaking and that expresses their personal brand. The portfolio includes three individual elements—a written memo, a slide deck, and a presentation—integrated around a single topic. We provide the elements for a basic capstone, but we also invite our learners to create their own project if they so choose.
-
Course by
-
Self Paced
-
14 hours
-
English

Geometric Algorithms
Geometric algorithms are a category of computational methods used to solve problems related to geometric shapes and their properties. These algorithms deal with objects like points, lines, polygons, and other geometric figures. In many areas of computer science such as robotics, computer graphics, virtual reality, and geographic information systems, it is necessary to store, analyze, and create or manipulate spatial data.
-
Course by
-
Self Paced
-
18 hours
-
English

Health Data Science Foundation
This course is intended for persons involved in machine learning who are interested in medical applications, or vice versa, medical professionals who are interested in the methods modern computer science has to offer to their field. We will cover health data analysis, different types of neural networks, as well as training and application of neural networks applied on real-world medical scenarios. We cover deep learning (DL) methods, healthcare data and applications using DL methods.
-
Course by
-
Self Paced
-
24 hours
-
English

Guided Tour of Machine Learning in Finance
This course aims at providing an introductory and broad overview of the field of ML with the focus on applications on Finance. Supervised Machine Learning methods are used in the capstone project to predict bank closures.
-
Course by
-
Self Paced
-
24 hours
-
English

Data Mining Methods
This course covers the core techniques used in data mining, including frequent pattern analysis, classification, clustering, outlier analysis, as well as mining complex data and research frontiers in the data mining field. This course can be taken for academic credit as part of CU Boulder’s MS in Data Science or MS in Computer Science degrees offered on the Coursera platform. These fully accredited graduate degrees offer targeted courses, short 8-week sessions, and pay-as-you-go tuition. Admission is based on performance in three preliminary courses, not academic history.
-
Course by
-
Self Paced
-
24 hours
-
English

Software Architecture Patterns for Big Data
The course is intended for individuals looking to understand the architecture patterns necessary to take large software systems that make use of big data to production. You will transform big data prototypes into high quality tested production software. After measuring the performance characteristics of distributed systems, you will identify trouble areas and implement scalable solutions to improve performance.
-
Course by
-
Self Paced
-
49 hours
-
English

Arm Cortex-M Processors Overview
This course is designed for anyone wishing to learn about the range of Cortex-M processors and the different resources that can help you with your Cortex-M project. The course begins with a bit of history about Arm processors and the Arm architecture, covering the differences between the M-profile and other architecture profiles like A-profile and R-profile. This course is suitable for beginners or people without an engineering or computer science background. The introductory material also sets the scene for the courses 2, 3 and 4.
-
Course by
-
Self Paced
-
2 hours
-
English

Generalized Linear Models and Nonparametric Regression
In the final course of the statistical modeling for data science program, learners will study a broad set of more advanced statistical modeling tools. Such tools will include generalized linear models (GLMs), which will provide an introduction to classification (through logistic regression); nonparametric modeling, including kernel estimators, smoothing splines; and semi-parametric generalized additive models (GAMs). Emphasis will be placed on a firm conceptual understanding of these tools.
-
Course by
-
Self Paced
-
42 hours
-
English

Deep Learning Applications for Computer Vision
In this course, you’ll be learning about Computer Vision as a field of study and research. First we’ll be exploring several Computer Vision tasks and suggested approaches, from the classic Computer Vision perspective. Then we’ll introduce Deep Learning methods and apply them to some of the same problems. We will analyze the results and discuss advantages and drawbacks of both types of methods. We'll use tutorials to let you explore hands-on some of the modern machine learning tools and software libraries.
-
Course by
-
Self Paced
-
23 hours
-
English

Object-Oriented Python: Inheritance and Encapsulation
Code and run your first python program in minutes without installing anything! This course is designed for learners with limited coding experience, providing a solid foundation of not just python, but core Computer Science topics that can be transferred to other languages. The modules in this course cover inheritance, encapsulation, polymorphism, and other object-related topics. Completion of the prior 3 courses in this specialization is recommended. To allow for a truly hands-on, self-paced learning experience, this course is video-free.
-
Course by
-
Self Paced
-
10 hours
-
English

Basic Modeling for Discrete Optimization
Optimization is a common form of decision making, and is ubiquitous in our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports. Good decisions in manpower and material resources management also allow corporations to improve profit by millions of dollars.
-
Course by
-
Self Paced
-
28 hours
-
English

Computer Science: Algorithms, Theory, and Machines
This course introduces the broader discipline of computer science to people having basic familiarity with Java programming. It covers the second half of our book Computer Science: An Interdisciplinary Approach (the first half is covered in our Coursera course Computer Science: Programming with a Purpose, to be released in the fall of 2018).
-
Course by
-
Self Paced
-
20 hours
-
English

Fundamentals of Software Architecture for Big Data
The course is intended for individuals looking to understand the basics of software engineering as they relate to building large software systems that leverage big data. You will be introduced to software engineering concepts necessary to build and scale large, data intensive, distributed systems.
-
Course by
-
Self Paced
-
43 hours
-
English

Quantitative Formal Modeling and Worst-Case Performance Analysis
Welcome to "Quantitative Formal Modeling and Worst-Case Performance Analysis," an intellectually stimulating course designed to hone your abstract thinking skills in the realm of theoretical computer science. This course invites you to dive deep into the world of token production and consumption, a foundational approach to system behaviour. Master the art of mathematically formalizing these concepts through prefix orders and counting functions. Get hands-on with Petri-nets, explore the nuances of timing, and delve into the scheduling intricacies of token systems.
-
Course by
-
Self Paced
-
17 hours
-
English

Managing, Describing, and Analyzing Data
In this course, you will learn the basics of understanding the data you have and why correctly classifying data is the first step to making correct decisions. You will describe data both graphically and numerically using descriptive statistics and R software. You will learn four probability distributions commonly used in the analysis of data. You will analyze data sets using the appropriate probability distribution.
-
Course by
-
Self Paced
-
18 hours
-
English

Welcome to Game Theory
This course provides a brief introduction to game theory. Our main goal is to understand the basic ideas behind the key concepts in game theory, such as equilibrium, rationality, and cooperation. The course uses very little mathematics, and it is ideal for those who are looking for a conceptual introduction to game theory. Business competition, political campaigns, the struggle for existence by animals and plants, and so on, can all be regarded as a kind of “game,” in which individuals try to do their best against others.
-
Course by
-
Self Paced
-
21 hours
-
English

Trees, SVM and Unsupervised Learning
"Trees, SVM and Unsupervised Learning" is designed to provide working professionals with a solid foundation in support vector machines, neural networks, decision trees, and XG boost. Through in-depth instruction and practical hands-on experience, you will learn how to build powerful predictive models using these techniques and understand the advantages and disadvantages of each. The course will also cover how and when to apply them to different scenarios, including binary classification and K > 2 classes.
-
Course by
-
Self Paced
-
13 hours
-
English

Data Manipulation at Scale: Systems and Algorithms
Data analysis has replaced data acquisition as the bottleneck to evidence-based decision making --- we are drowning in it. Extracting knowledge from large, heterogeneous, and noisy datasets requires not only powerful computing resources, but the programming abstractions to use them effectively.
-
Course by
-
Self Paced
-
20 hours
-
English

Object-Oriented C++: Inheritance and Encapsulation
Code and run your first C++ program in minutes without installing anything! This course is designed for learners with limited coding experience, providing a solid foundation of not just C++, but core Computer Science topics that can be transferred to other languages. The modules in this course cover inheritance, encapsulation, polymorphism, and other object-related topics. Completion of the prior 3 courses in this specialization is recommended. To allow for a truly hands-on, self-paced learning experience, this course is video-free.
-
Course by
-
Self Paced
-
9 hours
-
English

Approximation Algorithms Part I
Approximation algorithms, Part I How efficiently can you pack objects into a minimum number of boxes? How well can you cluster nodes so as to cheaply separate a network into components around a few centers? These are examples of NP-hard combinatorial optimization problems. It is most likely impossible to solve such problems efficiently, so our aim is to give an approximate solution that can be computed in polynomial time and that at the same time has provable guarantees on its cost relative to the optimum.
-
Course by
-
Self Paced
-
36 hours
-
English