
(1342)
109 hours
Beginner

The School Of
Programming is a critical skill in today’s digital economy, and there is a shortage of qualified developers. We offer online computer programming courses in development basics, iOS, Android, Java, Javascript, C++, React, Python, front end development, and full stack development.

Learn programming basics and prepare for one of our career paths with these Nanodegree programs made with beginners in mind.
Steps to Learn Programming Fundamentals

(1342)
109 hours
Beginner
Step 1

(1342)
109 hours
Beginner
Skills Covered
Control flow in Python, Command line interface basics, Python functions, Object-oriented Python, CSS, Python data structures, Text processing in Python, Code debugging, Python operators, Python classes, API requests, Variable scope, Python syntax, User input handling, Front-end development basics, Python methods, Python exception handling, Python lists, Computer memory architecture, Python standard library, Coding best practices, Python data types, Linting, Pep8, Code refactoring, Bash, Shell scripting, Built-in Python functions, Python turtle, Python function definition, Commenting code, Python variables, Devtools, Flexbox, Gpus, JavaScript functions, JavaScript console, Control flow in JavaScript, JavaScript data structures, JavaScript data types, JSON, Basic Python, Python scripting, HTML
Learn More
(530)
47 hours
Intermediate
Step 2

(530)
47 hours
Intermediate
Skills Covered
Basic algorithms, Tree search, Sorting algorithms, Basic Python, Graph algorithms, Depth-first search, Graph data structure, A* search algorithm, Breadth-first search, Greedy algorithms, Dynamic programming, Divide and conquer algorithms, Tree algorithms, Recursive algorithms, Python trees, Python arrays, Data structures, Hash maps
Learn MoreDemand for front-end developers is widespread across every industry—and only continues to rise. By mastering the valuable skills of this career path, you’ll be prepared for roles at a wide array of companies, from startups to global organizations.
Steps To Become A Front-End Web Developer

(1342)
109 hours
Beginner
Step 1

(1342)
109 hours
Beginner
Skills Covered
Control flow in Python, Command line interface basics, Python functions, Object-oriented Python, CSS, Python data structures, Text processing in Python, Code debugging, Python operators, Python classes, API requests, Variable scope, Python syntax, User input handling, Front-end development basics, Python methods, Python exception handling, Python lists, Computer memory architecture, Python standard library, Coding best practices, Python data types, Linting, Pep8, Code refactoring, Bash, Shell scripting, Built-in Python functions, Python turtle, Python function definition, Commenting code, Python variables, Devtools, Flexbox, Gpus, JavaScript functions, JavaScript console, Control flow in JavaScript, JavaScript data structures, JavaScript data types, JSON, Basic Python, Python scripting, HTML
Learn More
(862)
39 hours
Intermediate
Step 2

(862)
39 hours
Intermediate
Skills Covered
Flexbox, Dom events, DOM manipulation, The document object model, Code debugging, HTML, Responsive web design, Control flow in JavaScript, The JavaScript call stack, JavaScript syntax, JavaScript variables, CSS, Ides, Website layout, JavaScript package management, Eslint, Webpack, Prettier, Jest, Java modules, Integration testing, Unit testing, Website performance optimization, HTML and CSS
Learn More
(530)
47 hours
Intermediate
Step 3

(530)
47 hours
Intermediate
Skills Covered
Basic algorithms, Tree search, Sorting algorithms, Basic Python, Graph algorithms, Depth-first search, Graph data structure, A* search algorithm, Breadth-first search, Greedy algorithms, Dynamic programming, Divide and conquer algorithms, Tree algorithms, Recursive algorithms, Python trees, Python arrays, Data structures, Hash maps
Learn More
(566)
39 hours
Intermediate
Step 4

(566)
39 hours
Intermediate
Skills Covered
React component state, React router, Application state management with redux, React design patterns, Jest, React-redux bindings, Fetching data, React hooks, JavaScript functions, Basic react, Create react app, Software testing, Automation testing, Redux middleware, Integration testing, Behavioral software testing, Redux-thunk, Functional testing, Web forms, Asynchronous redux, Futures and promises, Data lifecycle management, Test-driven development, Application development best practices, Unit testing, JavaScript composition, Jsx, Expo, React native asyncstorage, React native storage, React native, React native development environment, Code debugging, React native interactive features, React native basics, React native os APIs, Redux toolkit, React native forms, React native components, React native navigation, Flexbox, React native stylesheet API, React native features, Css-in-js, React native styling, Application architecture, HTML
Learn MoreIn this path, you'll take programming courses and learn to create complex server-side web applications that use relational databases to persistently store data. You’ll also build applications that can support any front end, and scale to support hundreds of thousands of users.
Steps To Become A Full Stack Web Developer

(1342)
109 hours
Beginner
Step 1

(1342)
109 hours
Beginner
Skills Covered
Control flow in Python, Command line interface basics, Python functions, Object-oriented Python, CSS, Python data structures, Text processing in Python, Code debugging, Python operators, Python classes, API requests, Variable scope, Python syntax, User input handling, Front-end development basics, Python methods, Python exception handling, Python lists, Computer memory architecture, Python standard library, Coding best practices, Python data types, Linting, Pep8, Code refactoring, Bash, Shell scripting, Built-in Python functions, Python turtle, Python function definition, Commenting code, Python variables, Devtools, Flexbox, Gpus, JavaScript functions, JavaScript console, Control flow in JavaScript, JavaScript data structures, JavaScript data types, JSON, Basic Python, Python scripting, HTML
Learn More
(500)
67 hours
Intermediate
Step 2

(500)
67 hours
Intermediate
Skills Covered
SQLAlchemy, Flask, HTTP, Docker, Application authentication, Application security basics, Application authorization, Cors, API fluency, Object-relational mapping, Relational database transactions, Parsing form data, Jwts, Auth0, API testing, Unittest, PostgreSQL, Relational database migration, Psycopg2, Containerization fluency, Continuous deployment, AWS cli, Container orchestration, AWS codepipeline, Amazon Elastic Kubernetes Service, Continuous integration, AWS codebuild, Database query sanitization, Role-Based Access Control, Data security fundamentals, Salt, Code reviews, Postman, Data encryption, Integration testing, Curl, API documentation, Model-view-controller, Tcp/ip, Client-server model, Crud model, Alembic, Application routing, Kubernetes, Git, API development
Learn More
(530)
47 hours
Intermediate
Step 3

(530)
47 hours
Intermediate
Skills Covered
Basic algorithms, Tree search, Sorting algorithms, Basic Python, Graph algorithms, Depth-first search, Graph data structure, A* search algorithm, Breadth-first search, Greedy algorithms, Dynamic programming, Divide and conquer algorithms, Tree algorithms, Recursive algorithms, Python trees, Python arrays, Data structures, Hash maps
Learn MoreIn this path, you’ll learn to code and advance to programming in Swift, then create your first iOS app from scratch. You’ll build a portfolio you can present in interviews, learn mobile development fundamentals like design patterns, and tackle common technical interview questions to ultimately land a job as an iOS developer. If you are new to programming, begin with the Intro to Programming Nanodegree program to build fundamental skills.
Steps To Become An iOS Developer

(253)
76 hours
Intermediate
Step 1

(253)
76 hours
Intermediate
Skills Covered
iOS Development, HTTP, Credential management, Application authentication, Network requests in swift, Authentication, Swift data persistence, Swift classes, Data binding, Application state management, Data modeling basics, Mobile data management, iOS Core Data, iOS View Hierarchy, iOS Tab Navigation, iOS Animations, Xcode ide basics, iOS Stack Navigation, iOS UI Development, Uiviews, iOS Affordances, Ui design, iOS SplitView Navigation, iOS Gestures, Swift closures, Swift sets, Swift Generics, Swift enums, Swift functions, Control flow, Swift properties, Basic swift, Swift class extensions, Swift data types, Swift inheritance, Swift structs, String manipulation in swift, Swift operators, Swift arrays, Swift methods, Swift Tuples, Swift protocols, Boolean expressions, Swift Error Handling, Swift constants, Swift dictionaries, Swift optionals, Swift collections, Swift syntax, Swift grand central dispatch, Swift file management, Swift NSUserDefaults, Avfoundation framework, Code debugging, Swift and objective-c interoperability, JSON, Swift ibactions, Model-view-controller, Swift queues, Firebase, Uiimagepickercontroller, Https, Swift iboutlets, Swift autolayout, Secure network requests, Code refactoring, Git, Uikit classes, Apple app transport security protocol, Uitableview
Learn More
(530)
47 hours
Intermediate
Step 2

(530)
47 hours
Intermediate
Skills Covered
Basic algorithms, Tree search, Sorting algorithms, Basic Python, Graph algorithms, Depth-first search, Graph data structure, A* search algorithm, Breadth-first search, Greedy algorithms, Dynamic programming, Divide and conquer algorithms, Tree algorithms, Recursive algorithms, Python trees, Python arrays, Data structures, Hash maps
Learn MoreWe built these Nanodegree programs in partnership with Google specifically to support aspiring Android developers. Learners will master Android app development with Kotlin, a modern programming language that enables developers to be more concise and productive, and build professional apps for the world's most popular mobile platform using Android Studio and Kotlin.
Steps To Become An Android Kotlin Developer

(336)
116 hours
Intermediate
Step 1

(336)
116 hours
Intermediate
Skills Covered
Android custom views, Firebase, Android notifications, Recyclerview, Android activity lifecycle, Google maps in android development, Mobile app testing, Offline caching, Model-view-viewmodel architecture, Multi-screen app design, Android studio, Android development basics, Mockito, Integration testing, Location-aware app development, Dependency injection, Identity and access management fundamentals, Espresso testing framework, Declarative XML, Android property animations, Application animations, Android ui development, Talkback, Glide, Responsive app design, App localization, Retrofit, Rtl, Fetching data, Android development environment, Android best practices, Data binding
Learn More
(530)
47 hours
Intermediate
Step 2

(530)
47 hours
Intermediate
Skills Covered
Basic algorithms, Tree search, Sorting algorithms, Basic Python, Graph algorithms, Depth-first search, Graph data structure, A* search algorithm, Breadth-first search, Greedy algorithms, Dynamic programming, Divide and conquer algorithms, Tree algorithms, Recursive algorithms, Python trees, Python arrays, Data structures, Hash maps
Learn MoreDemand for blockchain developers is skyrocketing. Prepare for a career in Blockchain by learning object-oriented programming, JavaScript, and how to work with Bitcoin and Ethereum protocols.
Steps To Become A Blockchain Developer

(1342)
109 hours
Beginner
Step 1

(1342)
109 hours
Beginner
Skills Covered
Control flow in Python, Command line interface basics, Python functions, Object-oriented Python, CSS, Python data structures, Text processing in Python, Code debugging, Python operators, Python classes, API requests, Variable scope, Python syntax, User input handling, Front-end development basics, Python methods, Python exception handling, Python lists, Computer memory architecture, Python standard library, Coding best practices, Python data types, Linting, Pep8, Code refactoring, Bash, Shell scripting, Built-in Python functions, Python turtle, Python function definition, Commenting code, Python variables, Devtools, Flexbox, Gpus, JavaScript functions, JavaScript console, Control flow in JavaScript, JavaScript data structures, JavaScript data types, JSON, Basic Python, Python scripting, HTML
Learn More
(140)
41 hours
Intermediate
Step 2

(140)
41 hours
Intermediate
Skills Covered
JavaScript promises, Object-oriented JavaScript, Functional JavaScript, JavaScript async/await, Functional programming concepts, Variable scope, Asynchronous JavaScript, Programming paradigms, Immutable data, Creational design patterns, Threading, JavaScript exception handling, Callbacks, Fetching data, JavaScript syntax, Redux, JavaScript object methods, Functional programming, Angularjs, The document object model, JavaScript variables, Arrays in JavaScript, IIFEs, JavaScript functions, JavaScript methods
Learn More
29 hours
Beginner
Step 3

29 hours
Beginner
Skills Covered
Hardhat, Smart contracts, Solidity, Testnets, Blockchain Consensus, Blockchain, Blockchain Fluency, Blockchain transactions
Learn More
(1342)
109 hours
Beginner

(811)
42 hours
Intermediate

(500)
67 hours
Intermediate

(862)
39 hours
Intermediate

29 hours
Beginner
Technology
Healthcare
Manufacturing
Gaming

(226)
14 hours
Beginner

(44)
80 hours

(32)
13 hours

(99)
5 hours

(112)
10 hours

Get Started Today