Courses and Nanodegree Programs

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

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

Start with this basic introduction to Java programming if you've never studied the language before and practice essential computer science concepts.

In collaboration with: San Jose State University

This course will introduce you to the basics of AI. Topics include machine learning, probabilistic reasoning, robotics, computer vision, and natural language processing.
Learn the fundamentals of parallel computing with the GPU and the CUDA programming environment by coding a series of image processing algorithms. #filters, #cuda.

In collaboration with: Nvidia

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

In collaboration with: Georgia Institute of Technology

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

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

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.

In collaboration with: Google

Take your first steps towards becoming a Java developer! Learn Java syntax and create conditional statements, loops, and functions.
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.
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.
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!
Learn how to catch bugs and break software as you discover different testing methods that will help you build better software.
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 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

This course is an introduction to the fundamentals of programming languages. Concepts include how to specify and process valid strings, sentences and program structures.
Learn how to model problems, and how to optimize performance by using some of the advanced features of Python.
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.
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.
Please waitLoading…