Courses and Nanodegree Programs

Software Engineering

Learn the skills you need to become or advance your skills as a Software Engineer. We offer a range of online courses that teach you the fundamentals of programming to advanced topics in computing such as parallel programming and software debugging. Start learning from industry experts from NVIDIA, Cadence, Autodesk and more!
Learn to use version control, an important tool for any developer. The course will focus on Git, a specific version control system, and GitHub, a collaboration platform.

Intro to Computer Science New

Project Final Project
Learn key computer science concepts in this introductory Python course. You'll learn by doing, and will build your own search engine and social network.

Programming Foundations with Python New

Project Movie Trailer Website
Introductory programming class to learn Object-Oriented Programming, a must-have technique to reuse and share code easily. Learn by making projects that spread happiness!

Intro to Hadoop and MapReduce New

Project Final Project
In this short course, learn the fundamentals of MapReduce and Apache Hadoop to start making sense of Big Data in the real world!


Software Development Processes explores requirements engineering, architecture and design, testing, and software quality in general.

IN COLLABORATION WITH Georgia Institute of Technology

Artificial Intelligence for Robotics New

Project Build a Digit Recognition Program
Learn how to program all the major systems of a robotic car. Topics include planning, search, localization, tracking, and control.

IN COLLABORATION WITH Georgia Institute of Technology

Python is one of the most popular programming languages in the world. If you already know another language and want to expand to Python, this is the course for you!

Data Scientists spend most of their time cleaning data. In this course, you will learn to convert and manipulate messy data to extract what you need.


This course will introduce you to the basics of AI. Topics include machine learning, probabilistic reasoning, robotics, computer vision, and natural language processing.

This course will teach you the principles of 3D computer graphics: meshes, transforms, lighting, animation, and making interactive 3D applications run in a browser.


Learn how to catch bugs and break software as you discover different testing methods that will help you build better software.

Learn how to model problems, and how to optimize performance by using some of the advanced features of Python.

This class will give you an introduction to the design and analysis of algorithms, enabling you to analyze networks and discover how individuals are connected.

This course is an introduction to the fundamentals of programming languages. Concepts include how to specify and process valid strings, sentences and program structures.

Cryptography is present in everyday life, from paying with a credit card to using the telephone. Learn all about making and breaking puzzles in computing.

Learn how to interact with remote repositories and collaborate with other developers on GitHub.

In this course you will learn how to debug programs systematically using scientific methods and build several automated debugging tools in Python.

Learn the basic concepts in theoretical computer science. Discover what they imply for solving tough computational challenges.

You've used the Internet. Now find out more about how it works.

This course is designed to teach you about managing microservices, using Kubernetes. This course is built in partnership with experts such as Google’s Kelsey Hightower.


Learn the skills technical interviewers expect you to know—efficiency, common algorithms, manipulating popular data structures, and how to explain a solution.


Take your first steps towards becoming a Java developer! Learn Java syntax and create conditional statements, loops, and functions.

No Matching Courses

Courses matching these results can only be found in an alternate dimension.
Please modify your search.

Hal in another dimension