Courses and Nanodegree Programs

Build Native Mobile Apps with Flutter
Learn from experts at Google how to use Flutter to craft high-quality native interfaces on iOS and Android devices in record time.

In collaboration with:  Google

Kotlin Bootcamp for Programmers
Learn the fundamentals of the Kotlin programming language from Kotlin experts at Google.

In collaboration with:  Google

Flying Cars and Autonomous Flight
Master job-ready autonomous flight software engineering skills as you tackle advanced challenges, write real code for real aircraft, and develop a systems understanding of the Flying Car full-stack.
Learn Unreal VR
Learn the fundamentals of Unreal Engine with our Learn Unreal VR Nanodegree Foundation program. Develop your own virtual reality application using Unreal Engine!
Design Sprint Foundations
Learn to use the Design Sprint process to test ideas, leverage opportunities, and power innovation. With expert instruction and hands-on training, you’ll become an exceptional problem-solver.
Google AdWords
In this program, you’ll gain a 360 degree understanding of Google Adwords as you run live campaigns with real budgets. Topics include: Search, Display, Video, App Advertising, and more.
Intro to Self-Driving Cars
This introductory program is the perfect way to start your journey.

In collaboration with:  Lyft Polysync Roborace Voyage

Data Foundations
Start building your data skills today by learning to manipulate, analyze, and visualize data with Excel, SQL, and Tableau.
Become a Data Analyst
Prepare for a data science career. Learn to use Python, R, SQL, and Tableau to uncover insights, communicate critical findings, and create data-driven solutions.

In collaboration with:  Kaggle Tableau Mode

Become a Professional React Developer
React is completely transforming Front-End Development. Master this powerful UI library from Facebook with Udacity and the experts from React Training.
Intro to Programming Nanodegree
Udacity's Intro to Programming is your first step towards careers in Web and App Development, Machine Learning, Data Science, AI, and more! This program is perfect for beginners.
Become a VR Developer
Master the latest tools and technologies, and put your tech skills to work in the exciting field of VR! Learn from industry experts like Google, Unity, and HTC, and become a Virtual Reality Developer.

In collaboration with:  Google VR Vive Unity Samsung

Become A Robotics Software Engineer
Master advanced robotics software engineering skills, and gain hands-on experience developing solutions that solve challenging robotics and AI problems.

In collaboration with:  Nvidia Electric Movement

Digital Marketing Nanodegree
Gain real-world experience running live campaigns as you learn from top experts in the field. Launch your career with a 360-degree understanding of digital marketing.

In collaboration with:  Facebook Google Hootsuite HubSpot MailChimp Moz

Deep Learning
Deep learning is driving advances in artificial intelligence that are changing our world. Enroll now to build and apply your own deep neural networks to produce amazing solutions to important challenges.
Self-Driving Car Engineer
In this advanced program, you’ll master the job-ready skills needed to launch your career.

In collaboration with:  Mercedes Benz Nvidia BMW Uber ATG DiDi McLaren NEXTEV

Business Analyst
Predictive analytics is the practice of determining patterns from data to predict future outcomes and trends. Across industries, it enables high-value solutions to important business problems.

In collaboration with:  Alteryx Tableau Telefonica

Android Basics by Google
No programming experience? No Problem! Start developing Android apps today.

In collaboration with:  Google

Front-End Web Developer Nanodegree
Become a Front-End Web Developer by completing a variety of projects for your portfolio - become an HTML, CSS and JavaScript pro!

In collaboration with:  AT&T Google Github Hack Reactor

Full Stack Web Developer
Learn how to create server-side, data-driven web applications that support any front-end and can scale to support hundreds of thousands of users.

In collaboration with:  Amazon Web Services Github AT&T Google

Android Developer
Start your career as an Android developer. Learn best practices for mobile development, build a portfolio of apps using Android Studio, and publish your own app to Google Play.

In collaboration with:  Google

iOS Developer
Master writing in Swift as you build five portfolio-worthy iOS apps to demonstrate your expertise as an iOS Developer.

In collaboration with:  AT&T Lyft Google

Mobile Design and Usability for iOS
In this course, taught in collaboration with Facebook, you'll learn how to design an intuitive, user-centered mobile app, from product conception to release.

In collaboration with:  Facebook for Developers

Mobile Design and Usability for Android
In this course, taught in collaboration with Facebook, you'll learn how to design an intuitive, user-centered mobile app, from product conception to release.

In collaboration with:  Facebook for Developers

Passwordless Login Solutions for Android
In this course you'll implement Account Kit and Facebook Login side by side in a sample app, test our login flow on a series of common use cases, and wrap things up with an introduction to Facebook’s Graph API.

In collaboration with:  Facebook for Developers

Developing Android Apps
Build a cloud-connected Android app, and learn the tools, principles, and best practices of mobile and Android development that you'll apply to your own projects.

In collaboration with:  Google

Deep Learning
Show off what you've learned in your Nanodegree program with a project that defines

In collaboration with:  Google

Localization Essentials
Localization is about making a product feel tailored to users around the world. Specifically, it is the process of adapting a product to a language, culture and market.

In collaboration with:  Google

Android Basics: User Input
Learn how to make your apps interactive using buttons and text! In this course you'll learn the basics of the Java programming language and how to apply them to Android.

In collaboration with:  Google

Android Basics: Multiscreen Apps
Learn to build multiple screens and link them together, expanding the range of apps you can create! You'll also learn how to play audio and add images to your apps.

In collaboration with:  Google

Android Basics: Networking
This class teaches the basics of networking using Android, and is a part of the Android Basics Nanodegree by Google.

In collaboration with:  Google

Android Basics: Data Storage
In this course, you'll learn the basics of data storage in Android, building your first database and an app that could be used for any small business!

In collaboration with:  Google

Intro to JavaScript
Learn the fundamentals of JavaScript, the most popular programming language in web development.
Web Accessibility
Get hands-on experience making web applications accessible. You’ll understand when and why users need accessibility, then you’ll dive into how to implement.

In collaboration with:  Google

Client-Server Communication
Learn how a client communicates with a server, including HTTP's request and response cycle, HTTP/2 and HTTPs.

In collaboration with:  Google

Advanced Android App Development
Make your app production-ready by applying advanced features like library integration, material design, widgets, receiving cloud messages, and more!

In collaboration with:  Google

Gradle for Android and Java
Build bigger and better Android and Java apps using the Gradle build tool.

In collaboration with:  Google Gradle

Google Location Services on Android
Enhance your apps with Google's Fused Location Provider, Activity Recognition, and Geofencing API capabilities.

In collaboration with:  Google

Monetize Your Android App with Ads
Learn how to monetize apps using Google's AdMob to display banner and interstitial ads!

In collaboration with:  Google

Add Google Maps to your Android App
Maps on mobile devices have changed the world for millions of users. Learn how to use the Google Maps API to extend this functionality to your apps.

In collaboration with:  Google

Android Performance
Performance matters to users, so it must matter to you. Learn how to identify and fix bottlenecks in your Android applications, and ensure a smooth user experience.

In collaboration with:  Google

Material Design for Android Developers
Learn and apply the material design principles that define Android's visual language to your apps.

In collaboration with:  Google

Android TV and Google Cast Development
Go where your users are: the living room! This course shows you how to extend your existing Android app to also work on Android TV, and/or with Google Cast.

In collaboration with:  Google

Android Auto Development
Reach your users while they're out and about by extending your Media or Messaging app to Android Auto!

In collaboration with:  Google

Get Your Startup Started
Acquire the know-how necessary to see your business grow towards its next milestone.

In collaboration with:  Google

Product Design
Learn product validation, UI/UX practices, Google’s Design Sprint and the process for setting and tracking actionable metrics.

In collaboration with:  Google

App Monetization
Learn how to effectively develop, implement, and measure your monetization strategy, iterating on the model as appropriate.

In collaboration with:  Google

Rapid Prototyping
Learning to prototype will save you time and money in the development process. You’ll create quality apps faster and have confidence in the viability of your products.

In collaboration with:  Google

App Marketing
This course will help you organize a strategy of identifying your perfect user, and teach you how to grow your user base by focusing your product on their needs.

In collaboration with:  Google

2D Game Development with libGDX
This course explores how to use LibGDX to build 2D games that run anywhere, from web browsers to mobile devices. At the end you will create a full game, called Icicles.

In collaboration with:  Amazon Appstore for Android

How to Make a Platformer Using libGDX
This course will explore how to create a game called Giga Gal. Giga Gal is a platformer in which you run, collect energy packs, jump a bunch, and shoot enemies.

In collaboration with:  Amazon Appstore for Android

Dynamic Web Applications with Sinatra
Sinatra is a micro-framework for quickly developing small Ruby applications for the web. In this course, you'll learn all about Sinatra, routing, and templating.
The MVC Pattern in Ruby
In this course you’ll learn how to organize your code, and why that’s important. You’ll be using the MVC Design Pattern in the web application micro-framework Sinatra.
Deploying Applications with Heroku
Deploy your first web application using the Heroku platform and learn about the underlying mechanics of web hosting.
Problem Solving with Advanced Analytics
Learn a scientific approach to solving problems with data, a foundational skill for anyone interested in making data driven decisions in a business context.

In collaboration with:  Alteryx

Creating an Analytical Dataset
Learn how to prepare data to ensure the efficacy of your analysis while improving fluency in Alteryx.

In collaboration with:  Alteryx

Classification Models
Learn how to use classification predictive models to solve business problems involving non-numeric data.

In collaboration with:  Alteryx

A/B Testing for Business Analysts
The A/B Testing course provides students with the foundational knowledge to design and analyze A/B tests to create business insights and support decision making.
Offline Web Applications
Learn how to develop offline-first web application using Service Workers and IndexedDB.

In collaboration with:  Google

Version Control with Git
Learn how to use Git, a popular Version Control System and essential tool for any developer.
JavaScript Promises
Learn how to simplify asynchronous work with Native JavaScript Promises!

In collaboration with:  Google

Building High Conversion Web Forms
Increase conversions with best practices for fast, efficient forms! Learn how to design and build web forms for users on any device.

In collaboration with:  Google

Web Tooling & Automation
In this course, you’ll learn how to setup your development environment and save a lot of time and effort with automatic optimization.

In collaboration with:  Google

Designing RESTful APIs
Build and secure a web server with a RESTful Developer-Friendly API that developers will love to use.
Writing READMEs
Documentation is an important part of the development process. Learn to write READMEs using Markdown so your code can be used by other humans!
Intro to DevOps
Learn all about the DevOps landscape, workflow, and a survey of the systems currently being used to support scalable software deployment.

In collaboration with:  Nutanix

Intro to HTML and CSS
In this course, you'll learn the fundamentals web development, along with best practices and professional problem-solving techniques using Developer Tools.
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.
Asynchronous JavaScript Requests
Learn how to asynchronously request data in your web applications with Ajax.
Linux Command Line Basics
An introduction to the Linux command line interface.
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.
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 iOS App Development with Swift
Take the first step in becoming an iOS Developer by learning about Swift and writing your first app.
Intro to Relational Databases
Relational databases are a powerful tool used throughout the industry. Learn the basics of SQL and how to connect your Python code to a relational database.
Full Stack Foundations
Learn the fundamentals of back-end web development by creating your own web application from the ground up using the iterative development process.

In collaboration with:  Amazon Web Services

Authentication & Authorization: OAuth
Learn to implement the OAuth 2.0 framework to allow users to securely and easily login to your web applications.
Responsive Web Design Fundamentals
Learn and practice strategies for developing websites that look great on every device! Made with Google's Pete LePage.

In collaboration with:  Google

Responsive Images
Go beyond image tags! Learn how to make images a part of your responsive design workflow.

In collaboration with:  Google

Browser Rendering Optimization
This course will demystify the browser's rendering pipeline and make it easy for you to build high performance web apps.

In collaboration with:  Google

JavaScript Design Patterns
Learn the importance of code organization and how to implement it with either vanilla JavaScript or an organizational library or framework.
Learn Backbone.js
This is a collection of curated resources to teach you how to write well organized web applications using the Backbone framework.
JavaScript Testing
Learn how to iterate on your web applications with confidence using the red-green-refactor workflow cycle and automated testing frameworks.
Configuring Linux Web Servers
Serve a data-driven web application as you become acquainted with, configure and finally secure a Ubuntu Linux web application server.
How to Build a Startup
Learn what it takes to build a successful startup using the Customer Development process, where entrepreneurs "get out of the building" to gather and iterate on feedback.
Learn Swift Programming Syntax
This course focuses on the syntax of the Swift programming language. By the end of the course, you'll be able to apply Swift essentials to building iOS apps.
UIKit Fundamentals
Learn the iOS UIKit framework, which is the cornerstone of creating user interfaces in all iOS apps and crucial for any iOS Developer to be intimately familiar with.
Firebase in a Weekend: iOS
This course will teach you when and why to choose Firebase as a backend for your iOS application.

In collaboration with:  Google

Firebase in a Weekend: Android
This course will teach you when and why to choose Firebase as a backend for your Android application.

In collaboration with:  Google

iOS Networking with Swift
Learn how to incorporate networking into your apps to access data from around the world. Build the On the Map app to share location and fun links with fellow students.
Grand Central Dispatch (GCD)
Learn how to prevent background operations from interfering with an app's UI by implementing Apple's GCD framework.
iOS Persistence and Core Data
Persisting data is a core skill for any iOS developer. Learn how to store app data to your device using three common techniques: NSUserDefaults, Sandbox, and Core Data.
How to Make an iOS App
Learn the process of building an app, taking your ideas from drawing board to App Store!
GitHub & Collaboration
Learn how to interact with remote repositories and collaborate with other developers on GitHub.
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!
Database Systems Concepts & Design
This course presents an example of applying a database application development methodology to a major real-world project.

In collaboration with:  Georgia Institute of Technology

Compilers: Theory and Practice
This course teaches the theory and practice behind building compilers for higher level programming languages.

In collaboration with:  Georgia Institute of Technology

Embedded Systems
This course takes a holistic view of the embedded system stack focusing on processor architectures, instruction sets, and the associated advanced compiler optimizations.

In collaboration with:  Georgia Institute of Technology

Network Security
This course provides an introduction to computer and network security, including cryptography, cryptanalysis, and systems security.

In collaboration with:  Georgia Institute of Technology

Cyber-Physical Systems Security
This course provides an introduction to security issues relating to cyber-physical systems including industrial control systems and critical infrastructures.

In collaboration with:  Georgia Institute of Technology

Software Analysis & Testing
This course covers the theory and practice of software analysis, which is at the heart of software development processes such as diagnosing bugs, testing, and debugging.

In collaboration with:  Georgia Institute of Technology

Human-Computer Interaction
This course is an introductory course on human-computer interaction, covering the principles, techniques, and open areas of development in HCI.

In collaboration with:  Georgia Institute of Technology

Data Analysis and Visualization
This course will introduce students to the field by covering state­-of-­the-art modeling, analysis and visualization techniques.

In collaboration with:  Georgia Institute of Technology

Artificial Intelligence
This course gives a survey of topics in AI along with in-depth foundational concepts such as classical search, probability, machine learning, logic and planning.

In collaboration with:  Georgia Institute of Technology

ES6 - JavaScript Improved
Learn about the changes made to the JavaScript programming language in ECMAScript 6 and how to use these new improvements to write better cleaner code.
Xcode Debugging
In this course, you'll learn standard methodologies for debugging software, and how to use Xcode's debugging tools to find and squash bugs.
A/B Testing
Design and implement an A/B test to determine the efficacy of potential improvements to an online site or mobile app while specifying metrics to measure.

In collaboration with:  Google

Data Visualization and D3.js
Learn the fundamentals of data visualization and apply design and narrative concepts to create your own visualization.

In collaboration with:  Zipfian

Intro to Machine Learning
This class will teach you the end-to-end process of investigating data through a machine learning lens, and you'll apply what you've learned to a real-world data set.
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

Real-Time Analytics with Apache Storm
The world is trending in real time! Learn Apache Storm, taught by Twitter, to scalably analyze real-time tweets and drive d3 visualizations. Storm is free, open and fun!

In collaboration with:  Twitter

Cyber-Physical Systems Design & Analysis
This course provides an introduction to cyber-physical systems with an industrial perspective.

In collaboration with:  Georgia Institute of Technology

Intro to Data Analysis
Explore a variety of datasets, posing and answering your own questions about each. You'll be using the Python libraries NumPy, Pandas, and Matplotlib.
Intro to Data Science
What does a data scientist do? In this course, we will survey the main topics in data science so you can understand the skills that are needed to become a data scientist!
HTML5 Canvas
Learn how you can use HTML5 Canvas to create and modify images or even interactive animations.
Intro to jQuery
Learn how to access and modify the DOM with ease using jQuery!
Intro to AJAX
Learn how to perform asynchronous requests as you build a web app with data from Google Street View, the New York Times and Wikipedia!
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.
Data Analysis with R
Data is everywhere and so much of it is unexplored. Learn how to investigate and summarize data sets using R and eventually create your own analysis.

In collaboration with:  Facebook

UX Design for Mobile Developers
This is a design course made for developers. You'll learn UX design skills which will help you make 5-star mobile apps that your users will love.

In collaboration with:  Google

Developing Scalable Apps in Java
You will learn about challenges of building applications that can serve hundreds of thousands of users, and how you can prepare for them as a developer.

In collaboration with:  Google

Intro to Descriptive Statistics
Intro to Descriptive Statistics will teach you the basic concepts of statistics that can be used to extract information from data.
Intro to Inferential Statistics
Intro to Inferential Statistics will teach you how to test your hypotheses and begin to make predictions based on statistical results drawn from data!
Introduction to Operating Systems
Introduction to Operating Systems teaches the basic operating system abstractions, mechanisms, and their implementations.

In collaboration with:  Georgia Institute of Technology

Intro to Information Security

In collaboration with:  Georgia Institute of Technology

Advanced Operating Systems

In collaboration with:  Georgia Institute of Technology

Computability, Complexity & Algorithms
Learn tools and techniques that will help you recognize when problems you encounter are intractable and when there an efficient solution.

In collaboration with:  Georgia Institute of Technology

Shell Workshop
The Unix shell is a valuable tool for developing and deploying software. Learn the basics of this terminal-based, command-line interface.
HTTP & Web Servers
HTTP is the fundamental protocol of the Web. Explore how it works using Python code and command-line tools.
Knowledge-Based AI: Cognitive Systems
The twin goals of knowledge-based artificial intelligence (AI) are to build AI agents capable of human-level intelligence and gain insights into human cognition.

In collaboration with:  Georgia Institute of Technology

Machine Learning for Trading
Implement machine learning based strategies to make trading decisions using real-world data.

In collaboration with:  Georgia Institute of Technology

High Performance Computer Architecture
The HPCA course covers performance measurement, pipelining, and improved parallelism through various means.

In collaboration with:  Georgia Institute of Technology

High Performance Computing
This course will give you solid foundations for developing, analyzing, and implementing parallel and locality-efficient algorithms. Offered at Georgia Tech as CS6220

In collaboration with:  Georgia Institute of Technology

Health Informatics in the Cloud
This survey course provides a broad, forward-facing overview of contemporary health informatics within the context of the US healthcare delivery system.

In collaboration with:  Georgia Institute of Technology

Computer Networking
This is an advanced Computer Networking course that delves into the latest concepts and tools used by the CN industry.

In collaboration with:  Georgia Institute of Technology

Computational Photography
This class explores how computation impacts the entire workflow of photography, which is traditionally aimed at capturing light from a 3D scene to form a 2D image.

In collaboration with:  Georgia Institute of Technology

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

Software Architecture & Design
Software Architecture and Design teaches the principles and concepts involved in the analysis and design of large software systems.

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 Computer Vision
This course provides an introduction to computer vision including fundamentals, methods for application and machine learning classification.

In collaboration with:  Georgia Institute of Technology

Educational Technology
This class is an an introductory course about educational technology offered as CS6460 at Georgia Tech where it is a part of the Online Masters Degree (OMS).

In collaboration with:  Georgia Institute of Technology

Reinforcement Learning
Study machine learning at a deeper level and become a participant in the reinforcement learning research community.

In collaboration with:  Georgia Institute of Technology

Linear Algebra Refresher Course
Learn linear algebra by doing: you will code your own library of linear algebra functions!
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

Model Building and Validation
This course will teach you how to start from scratch in understanding and paying attention to what is important in the data and how to answer questions about data.

In collaboration with:  AT&T

Intro to the Design of Everyday Things
This course will provide you with the insight to start recognizing the role of design in today’s world, and to start making better design decisions in your own life.
Website Performance Optimization
Learn how browsers convert HTML, CSS and JavaScript into websites while you experiment with Chrome Developer Tools to measure and optimize website speed!

In collaboration with:  Google

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.
Intro to Statistics
Get ready to analyze, visualize, and interpret data! Thought-provoking examples and chances to combine statistics and programming will keep you engaged and challenged.
Software Testing
Learn how to catch bugs and break software as you discover different testing methods that will help you build better software.
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.
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

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.
Design of Computer Programs
Learn how to model problems, and how to optimize performance by using some of the advanced features of Python.
Differential Equations in Action
Write Python code to find numerical solutions to systems of differential equations. The models you create will fight wildfires, bring spaceships back to earth, and more!
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.
Machine Learning
In this course, you'll learn how to apply Supervised, Unsupervised and Reinforcement Learning techniques for solving a range of data science problems.

In collaboration with:  Georgia Institute of Technology

Intro to Physics
Go to the places where big physics discoveries were made in the past and make them yourself. You’ll visit Italy, the Netherlands, and the UK as you learn basic physics.
Tales from the Genome
Learn the basics of genetics, with a personal twist. This class is all about DNA and how it shapes who we are.

In collaboration with:  23andMe

Intro to Psychology
Go on a journey through psychological concepts and principles to enable you to gain a more in-depth understanding of human thought and behavior.

In collaboration with:  San Jose State University

OMSCS Student Orientation
In this OMS Orientation, we cover several things you will need to know to be a successful OMS student.

In collaboration with:  Georgia Institute of Technology

GT - Refresher - Advanced OS
This course covers the essential Operating Systems concepts students need in preparation for the rest of the GT "Advanced Operating Systems" sequence.

In collaboration with:  Georgia Institute of Technology

Statistics
We live in a time of unprecedented access to information. You'll learn how to use statistics to interpret that information and make decisions.

In collaboration with:  San Jose State University

Engagement & Monetization | Mobile Games
You will learn the most effective monetization strategies for your game, how to keep your players interested and engaged, so that your game stands out in the app store.

In collaboration with:  Amazon Appstore for Android

Networking for Web Developers
You've used the Internet. Now find out more about how it works.
Front End Frameworks
Explore and build interactive, single-page applications with popular JavaScript frameworks!

In collaboration with:  Google

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

Deploying a Hadoop Cluster
Deploy your own Hadoop cluster to crunch some big data!
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

Objective-C for Swift Developers
Learn the distinguishing language features of Objective-C. Practice Objective-C syntax by writing classes, and writing and calling methods.

In collaboration with:  Lyft Venmo

Google Maps APIs
This course will introduce you to the content available through the Google Maps APIs through building a real-estate listings web application step-by-step.

In collaboration with:  Google

Intro to Progressive Web Apps
In this course you’ll get started working on your very first Progressive Web App (PWA) - a web app that can take advantage of many features native applications have enjoyed!

In collaboration with:  Google

Java Programming Basics
Take your first steps towards becoming a Java developer! Learn Java syntax and create conditional statements, loops, and functions.
Object Oriented Programming in Java
Learn how to apply powerful object-oriented programming concepts in Java
Big Data Analytics in Healthcare
In this course, we introduce the characteristics of medical data and associated data mining challenges on dealing with such data. We cover various algorithms and systems.

In collaboration with:  Georgia Institute of Technology

Time Series Forecasting
The Time Series Forecasting course provides students with the foundational knowledge to build and apply time series forecasting models in a variety of business contexts.
Segmentation and Clustering
The Segmentation & Clustering course provides students with the knowledge to build and apply clustering models to develop sophisticated segmentation in business contexts.
Data Visualization in Tableau
Learn the fundamentals of data visualization and practice communicating with data.
Introduction to Virtual Reality
If you are interested in learning more about virtual reality, this course will teach you the principles of VR technology and help you understand what you can build in VR.

In collaboration with:  Google VR

VR Scenes and Objects
Take the first step in Unity and begin to develop VR content. Learn the principles of the Unity platform and help you understand what you can build in VR!

In collaboration with:  Google VR

VR Software Development
Learn about the world of virtual reality programming! You will learn the basics of programming in C# and how to use it control virtual reality applications in Unity.

In collaboration with:  Google VR

Swift for Beginners
Learn Swift, Apple's programming language for building iOS applications. Start with the basics and work your way towards completing sets of challenges in Swift.
Swift for Developers
Get a quick practical introduction to Swift programming basics and build your first iOS app!
Server-Side Swift
In this course, built in collaboration with IBM and Hashicorp, you'll learn how to use Swift as a server-side language for building end-to-end applications.
AutoLayout
With this course, you will learn about AutoLayout and how to use stack views and constraints to create pixel-perfect UIs.
Building iOS Interfaces
Learn the best practices for creating iOS interfaces. Build adaptive interfaces, animate UI elements, and analyze designs from popular apps on the App Store.
No Image Available
In this course, you'll explore iOS design patterns — the practical and battle-tested solutions to common problems that are used everyday by developers.
Android Basics: User Interface
Learn how to design your first layout in Android! This is the first course in the Android Basics Nanodegree program.

In collaboration with:  Google

Firebase Analytics: iOS
Learn how to grow an app's user base using Firebase Analytics, a free and unlimited analytics solution

In collaboration with:  Google

Firebase Analytics: Android
Learn how to grow an app's user base using Firebase Analytics, a free and unlimited analytics solution

In collaboration with:  Google

Core ML: Machine Learning for iOS
Learn how to use Apple's Core ML framework to build iOS apps with intelligent new features.
Passwordless Login Solutions for iOS
In this course you'll implement Account Kit and Facebook Login side by side in a sample app, test our login flow on a series of common use cases, and wrap things up with an introduction to Facebook’s Graph API.

In collaboration with:  Facebook for Developers

Eigenvectors and Eigenvalues
Learn how to calculate eigenvalues and eigenvectors and why they are important for AI applications.
C++ For Programmers
This course teaches C++ to students already familiar with a programming language. Students will learn how to use header files, control flow, functions, classes.
Kotlin for Android Developers
Take an Android app in Java and convert it to Kotlin, learning key features of the Kotlin programming language along the way.
Object-Oriented JavaScript
Learn how to build objects, create classes, and manage inheritance with object-oriented JavaScript.
JavaScript and the DOM
Discover how the DOM is created and learn to programmatically control the page using JavaScript.