Courses and Nanodegree Programs

Java Programming Basics
Take your first steps towards becoming a Java developer! Learn Java syntax and create conditional statements, loops, and functions.
Intro to Computer Science
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
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!
How to Use Git and GitHub
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.
Introduction to Python
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!
Intro to Artificial Intelligence
This course will introduce you to the basics of AI. Topics include machine learning, probabilistic reasoning, robotics, computer vision, and natural language processing.
Intro to Algorithms
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.
Scalable Microservices with Kubernetes
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.

In collaboration with: Google

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

In collaboration with: Cloudera

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

In collaboration with: Pramp

Artificial Intelligence for Robotics
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

GitHub & Collaboration
Learn how to interact with remote repositories and collaborate with other developers on GitHub.
Data Wrangling with MongoDB
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.

In collaboration with: MongoDB

Networking for Web Developers
You've used the Internet. Now find out more about how it works.
Software Testing
Learn how to catch bugs and break software as you discover different testing methods that will help you build better software.
Programming Languages
This course is an introduction to the fundamentals of programming languages. Concepts include how to specify and process valid strings, sentences and program structures.
Software Development Process
Software Development Processes explores requirements engineering, architecture and design, testing, and software quality in general.

In collaboration with: Georgia Institute of Technology

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

In collaboration with: Autodesk

Design of Computer Programs
Learn how to model problems, and how to optimize performance by using some of the advanced features of Python.
Intro to Theoretical Computer Science
Learn the basic concepts in theoretical computer science. Discover what they imply for solving tough computational challenges.
Applied Cryptography
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.
Software Debugging
In this course you will learn how to debug programs systematically using scientific methods and build several automated debugging tools in Python.