Courses and Nanodegree Programs

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

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

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

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

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

Software Testing
Learn how to catch bugs and break software as you discover different testing methods that will help you build better software.
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 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.
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.
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.
GitHub & Collaboration
Learn how to interact with remote repositories and collaborate with other developers on GitHub.
Software Debugging
In this course you will learn how to debug programs systematically using scientific methods and build several automated debugging tools in Python.
Intro to Theoretical Computer Science
Learn the basic concepts in theoretical computer science. Discover what they imply for solving tough computational challenges.
Networking for Web Developers
You've used the Internet. Now find out more about how it works.
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

Data Structures & Algorithms in Python
Review and practice the skills technical interviewers expect you to know and learn how to explain your Python solutions.

In collaboration with:  Grow With Google

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