Software Development Learn how to become a software developer and start to build, test, and deploy code for web and mobile apps using Python, C#, Javascript, Git, and more Subscribe Now Learn More Foundation Subscription > Software Development SQLAlchemy Learn SQLAlchemy ORM 1 hour 17 minutes Learn SQLAlchemy Core 48 minutes Learn about ORMs and SQLAlchemy 34 minutes Learn SQLAlchemy ORM 1 hour 17 minutes Learn SQLAlchemy Core 48 minutes Learn about ORMs and SQLAlchemy 34 minutes Learn SQLAlchemy ORM 1 hour 17 minutes Learn SQLAlchemy Core 48 minutes Learn about ORMs and SQLAlchemy 34 minutes Learn SQLAlchemy ORM 1 hour 17 minutes Learn SQLAlchemy Core 48 minutes Learn about ORMs and SQLAlchemy 34 minutes C Sharp (C#) Simplify Your Classes With Properties With C# 1 hour 50 minutes Format Strings For Output With C# 1 hour 36 minutes Compile A Command-line Program With C# 30 minutes Organize Your Code Into Classes With C# 3 hours 20 minutes Write And Call Methods With C# 2 hours 50 minutes Call Code In Other Assemblies With C# 1 hour 20 minutes Handle Exceptions With C# 3 hours Create A Class Library With C# 2 hours Display Numeric Values With C# 1 hour 40 minutes Simplify Your Code With Enums With C# 1 hour Simplify Your Classes With Properties With C# 1 hour 50 minutes Format Strings For Output With C# 1 hour 36 minutes Compile A Command-line Program With C# 30 minutes Organize Your Code Into Classes With C# 3 hours 20 minutes Write And Call Methods With C# 2 hours 50 minutes Call Code In Other Assemblies With C# 1 hour 20 minutes Handle Exceptions With C# 3 hours Create A Class Library With C# 2 hours Display Numeric Values With C# 1 hour 40 minutes Simplify Your Code With Enums With C# 1 hour Simplify Your Classes With Properties With C# 1 hour 50 minutes Format Strings For Output With C# 1 hour 36 minutes Compile A Command-line Program With C# 30 minutes Organize Your Code Into Classes With C# 3 hours 20 minutes Write And Call Methods With C# 2 hours 50 minutes Call Code In Other Assemblies With C# 1 hour 20 minutes Handle Exceptions With C# 3 hours Create A Class Library With C# 2 hours Display Numeric Values With C# 1 hour 40 minutes Simplify Your Code With Enums With C# 1 hour Simplify Your Classes With Properties With C# 1 hour 50 minutes Format Strings For Output With C# 1 hour 36 minutes Compile A Command-line Program With C# 30 minutes Organize Your Code Into Classes With C# 3 hours 20 minutes Write And Call Methods With C# 2 hours 50 minutes Call Code In Other Assemblies With C# 1 hour 20 minutes Handle Exceptions With C# 3 hours Create A Class Library With C# 2 hours Display Numeric Values With C# 1 hour 40 minutes Simplify Your Code With Enums With C# 1 hour Entity Framework Use Stored Procedures with Entity Framework 20 minutes Use Enterprise Patterns with Entity Framework 20 minutes Use LocalDb as a Development Database with Entity Framework 20 minutes Read Database Data with Entity Framework 50 minutes Insert, Update, and Delete Data from a Database using Entity Framework 30 minutes Write LINQ to Entity Framework Queries 50 minutes Use Stored Procedures with Entity Framework 20 minutes Use Enterprise Patterns with Entity Framework 20 minutes Use LocalDb as a Development Database with Entity Framework 20 minutes Read Database Data with Entity Framework 50 minutes Insert, Update, and Delete Data from a Database using Entity Framework 30 minutes Write LINQ to Entity Framework Queries 50 minutes Use Stored Procedures with Entity Framework 20 minutes Use Enterprise Patterns with Entity Framework 20 minutes Use LocalDb as a Development Database with Entity Framework 20 minutes Read Database Data with Entity Framework 50 minutes Insert, Update, and Delete Data from a Database using Entity Framework 30 minutes Write LINQ to Entity Framework Queries 50 minutes Use Stored Procedures with Entity Framework 20 minutes Use Enterprise Patterns with Entity Framework 20 minutes Use LocalDb as a Development Database with Entity Framework 20 minutes Read Database Data with Entity Framework 50 minutes Insert, Update, and Delete Data from a Database using Entity Framework 30 minutes Write LINQ to Entity Framework Queries 50 minutes TypeScript Explore The Advantages Of TypeScript 55 minutes Discover More TypeScript Features 1 hour 10 minutes Use Internal And External Modules In TypeScript 55 minutes Functions And Arrow Functions In TypeScript 45 minutes Use Classes And Interfaces In TypeScript 1 hour 8 minutes Explore The Advantages Of TypeScript 55 minutes Discover More TypeScript Features 1 hour 10 minutes Use Internal And External Modules In TypeScript 55 minutes Functions And Arrow Functions In TypeScript 45 minutes Use Classes And Interfaces In TypeScript 1 hour 8 minutes Explore The Advantages Of TypeScript 55 minutes Discover More TypeScript Features 1 hour 10 minutes Use Internal And External Modules In TypeScript 55 minutes Functions And Arrow Functions In TypeScript 45 minutes Use Classes And Interfaces In TypeScript 1 hour 8 minutes Explore The Advantages Of TypeScript 55 minutes Discover More TypeScript Features 1 hour 10 minutes Use Internal And External Modules In TypeScript 55 minutes Functions And Arrow Functions In TypeScript 45 minutes Use Classes And Interfaces In TypeScript 1 hour 8 minutes Git Edit Files In A Git Repository 1 hour 30 minutes Create And Merge Branches In Git 1 hour 30 minutes Install The Git Tools 1 hour Rewrite History In A Git Repository 1 hour 10 minutes Clone An Existing Repository In Git 1 hour Resolve Merge Conflicts In Git 1 hour Add Files To A Repository With Git 1 hour 30 minutes Edit Files In A Git Repository 1 hour 30 minutes Create And Merge Branches In Git 1 hour 30 minutes Install The Git Tools 1 hour Rewrite History In A Git Repository 1 hour 10 minutes Clone An Existing Repository In Git 1 hour Resolve Merge Conflicts In Git 1 hour Add Files To A Repository With Git 1 hour 30 minutes Edit Files In A Git Repository 1 hour 30 minutes Create And Merge Branches In Git 1 hour 30 minutes Install The Git Tools 1 hour Rewrite History In A Git Repository 1 hour 10 minutes Clone An Existing Repository In Git 1 hour Resolve Merge Conflicts In Git 1 hour Add Files To A Repository With Git 1 hour 30 minutes Edit Files In A Git Repository 1 hour 30 minutes Create And Merge Branches In Git 1 hour 30 minutes Install The Git Tools 1 hour Rewrite History In A Git Repository 1 hour 10 minutes Clone An Existing Repository In Git 1 hour Resolve Merge Conflicts In Git 1 hour Add Files To A Repository With Git 1 hour 30 minutes Python Language Concepts Use String Interpolation to Simplify Text Manipulation 21 minutes Write Pythonic Code 23 minutes Create Decorators to Add Functionality to Existing Functions 53 minutes Leverage the Full Power of Dictionaries 52 minutes Create Generators to Easily Implement Iterators 18 minutes Iterate over Iterators and Iterables 33 minutes Pack and Unpack Parameters and Arguments 23 minutes Create Properties to Implement Getters, Setters, and Deleters 24 minutes Write Modular Classes and Mixins with Multiple Inheritance 43 minutes Use String Interpolation to Simplify Text Manipulation 21 minutes Write Pythonic Code 23 minutes Create Decorators to Add Functionality to Existing Functions 53 minutes Leverage the Full Power of Dictionaries 52 minutes Create Generators to Easily Implement Iterators 18 minutes Iterate over Iterators and Iterables 33 minutes Pack and Unpack Parameters and Arguments 23 minutes Create Properties to Implement Getters, Setters, and Deleters 24 minutes Write Modular Classes and Mixins with Multiple Inheritance 43 minutes Use String Interpolation to Simplify Text Manipulation 21 minutes Write Pythonic Code 23 minutes Create Decorators to Add Functionality to Existing Functions 53 minutes Leverage the Full Power of Dictionaries 52 minutes Create Generators to Easily Implement Iterators 18 minutes Iterate over Iterators and Iterables 33 minutes Pack and Unpack Parameters and Arguments 23 minutes Create Properties to Implement Getters, Setters, and Deleters 24 minutes Write Modular Classes and Mixins with Multiple Inheritance 43 minutes Use String Interpolation to Simplify Text Manipulation 21 minutes Write Pythonic Code 23 minutes Create Decorators to Add Functionality to Existing Functions 53 minutes Leverage the Full Power of Dictionaries 52 minutes Create Generators to Easily Implement Iterators 18 minutes Iterate over Iterators and Iterables 33 minutes Pack and Unpack Parameters and Arguments 23 minutes Create Properties to Implement Getters, Setters, and Deleters 24 minutes Write Modular Classes and Mixins with Multiple Inheritance 43 minutes Ultimate Java Masterclass Variables, Data Types, and Operators 18 Minutes Exception Handling 32 Minutes Advanced Data Structures in Java 12 Minutes Data Structures, Arrays, and Strings 22 Minutes Introduction to Java 17 minutes The Java Collections Framework and Generics 40 Minutes OOP in Depth 10 Minutes Object-Oriented Programming 24 Minutes Control Flow 18 Minutes Variables, Data Types, and Operators 18 Minutes Exception Handling 32 Minutes Advanced Data Structures in Java 12 Minutes Data Structures, Arrays, and Strings 22 Minutes Introduction to Java 17 minutes The Java Collections Framework and Generics 40 Minutes OOP in Depth 10 Minutes Object-Oriented Programming 24 Minutes Control Flow 18 Minutes Variables, Data Types, and Operators 18 Minutes Exception Handling 32 Minutes Advanced Data Structures in Java 12 Minutes Data Structures, Arrays, and Strings 22 Minutes Introduction to Java 17 minutes The Java Collections Framework and Generics 40 Minutes OOP in Depth 10 Minutes Object-Oriented Programming 24 Minutes Control Flow 18 Minutes Variables, Data Types, and Operators 18 Minutes Exception Handling 32 Minutes Advanced Data Structures in Java 12 Minutes Data Structures, Arrays, and Strings 22 Minutes Introduction to Java 17 minutes The Java Collections Framework and Generics 40 Minutes OOP in Depth 10 Minutes Object-Oriented Programming 24 Minutes Control Flow 18 Minutes Python for Absolute Beginners Writing Your First Lines of Code 54 Minutes Error Handling 39 Minutes Problem Solving Techniques for Writing Software 1 Hour 18 Minutes Using External Python Packages 55 Minutes The Big Ideas of Software Development 40 Minutes Introduction to Programming and Python 34 Minutes Cleaner Code with Common Data Structures 50 Minutes Reading and Writing Files in Python 1 Hour 14 Minutes Organizing and Reusing Code With Functions 1 Hour 12 Minutes Code That Interacts With Users 49 Minutes Writing Your First Lines of Code 54 Minutes Error Handling 39 Minutes Problem Solving Techniques for Writing Software 1 Hour 18 Minutes Using External Python Packages 55 Minutes The Big Ideas of Software Development 40 Minutes Introduction to Programming and Python 34 Minutes Cleaner Code with Common Data Structures 50 Minutes Reading and Writing Files in Python 1 Hour 14 Minutes Organizing and Reusing Code With Functions 1 Hour 12 Minutes Code That Interacts With Users 49 Minutes Writing Your First Lines of Code 54 Minutes Error Handling 39 Minutes Problem Solving Techniques for Writing Software 1 Hour 18 Minutes Using External Python Packages 55 Minutes The Big Ideas of Software Development 40 Minutes Introduction to Programming and Python 34 Minutes Cleaner Code with Common Data Structures 50 Minutes Reading and Writing Files in Python 1 Hour 14 Minutes Organizing and Reusing Code With Functions 1 Hour 12 Minutes Code That Interacts With Users 49 Minutes Writing Your First Lines of Code 54 Minutes Error Handling 39 Minutes Problem Solving Techniques for Writing Software 1 Hour 18 Minutes Using External Python Packages 55 Minutes The Big Ideas of Software Development 40 Minutes Introduction to Programming and Python 34 Minutes Cleaner Code with Common Data Structures 50 Minutes Reading and Writing Files in Python 1 Hour 14 Minutes Organizing and Reusing Code With Functions 1 Hour 12 Minutes Code That Interacts With Users 49 Minutes Software Development Basics Select an Appropriate Collection Type 1 hour Combine Values into Composite Data Types 45 minutes Categorize a Value as a Data Type 50 minutes Identify the Elements of a Computer Language 1 Hour Follow the Execution Path of a Program 1 hour Select an Appropriate Collection Type 1 hour Combine Values into Composite Data Types 45 minutes Categorize a Value as a Data Type 50 minutes Identify the Elements of a Computer Language 1 Hour Follow the Execution Path of a Program 1 hour Select an Appropriate Collection Type 1 hour Combine Values into Composite Data Types 45 minutes Categorize a Value as a Data Type 50 minutes Identify the Elements of a Computer Language 1 Hour Follow the Execution Path of a Program 1 hour Select an Appropriate Collection Type 1 hour Combine Values into Composite Data Types 45 minutes Categorize a Value as a Data Type 50 minutes Identify the Elements of a Computer Language 1 Hour Follow the Execution Path of a Program 1 hour JSON Write custom JSON Encoders and Decoders 1 hour 18 minutes Serialize Python to JSON 40 minutes Write custom JSON Encoders and Decoders 1 hour 18 minutes Serialize Python to JSON 40 minutes Write custom JSON Encoders and Decoders 1 hour 18 minutes Serialize Python to JSON 40 minutes Write custom JSON Encoders and Decoders 1 hour 18 minutes Serialize Python to JSON 40 minutes Javascript Learn Object-Oriented Programming 45 minutes Create and Use Arrays 35 minutes Understand Booleans, Numbers, and Strings 27 minutes Understand JavaScript Language Essentials 1 hour 12 minutes Configure your Development Environment 20 minutes Learn about ECMAScript 6 35 minutes Learn Object-Oriented Programming 45 minutes Create and Use Arrays 35 minutes Understand Booleans, Numbers, and Strings 27 minutes Understand JavaScript Language Essentials 1 hour 12 minutes Configure your Development Environment 20 minutes Learn about ECMAScript 6 35 minutes Learn Object-Oriented Programming 45 minutes Create and Use Arrays 35 minutes Understand Booleans, Numbers, and Strings 27 minutes Understand JavaScript Language Essentials 1 hour 12 minutes Configure your Development Environment 20 minutes Learn about ECMAScript 6 35 minutes Learn Object-Oriented Programming 45 minutes Create and Use Arrays 35 minutes Understand Booleans, Numbers, and Strings 27 minutes Understand JavaScript Language Essentials 1 hour 12 minutes Configure your Development Environment 20 minutes Learn about ECMAScript 6 35 minutes SQLite Retrieve Data 44 minutes Insert, Update, and Delete 32 minutes Other Considerations 42 minutes Retrieve Data 44 minutes Insert, Update, and Delete 32 minutes Other Considerations 42 minutes Retrieve Data 44 minutes Insert, Update, and Delete 32 minutes Other Considerations 42 minutes Retrieve Data 44 minutes Insert, Update, and Delete 32 minutes Other Considerations 42 minutes Hands-on Building Alexa Skills Writing Your Alexa Skill’s Title, Description, and Icon Creation 9 Minutes Starting to Write Your Alexa Skill - Learn the Basic Blocks 16 Minutes Adding Advanced Functionality to Your Alexa Skill - Logic and Advanced Blocks 36 Minutes Alexa Skill Testing and Deployment 22 Minutes Setting Up an Amazon Developer Account 22 Minutes Writing Your Alexa Skill’s Title, Description, and Icon Creation 9 Minutes Starting to Write Your Alexa Skill - Learn the Basic Blocks 16 Minutes Adding Advanced Functionality to Your Alexa Skill - Logic and Advanced Blocks 36 Minutes Alexa Skill Testing and Deployment 22 Minutes Setting Up an Amazon Developer Account 22 Minutes Writing Your Alexa Skill’s Title, Description, and Icon Creation 9 Minutes Starting to Write Your Alexa Skill - Learn the Basic Blocks 16 Minutes Adding Advanced Functionality to Your Alexa Skill - Logic and Advanced Blocks 36 Minutes Alexa Skill Testing and Deployment 22 Minutes Setting Up an Amazon Developer Account 22 Minutes Writing Your Alexa Skill’s Title, Description, and Icon Creation 9 Minutes Starting to Write Your Alexa Skill - Learn the Basic Blocks 16 Minutes Adding Advanced Functionality to Your Alexa Skill - Logic and Advanced Blocks 36 Minutes Alexa Skill Testing and Deployment 22 Minutes Setting Up an Amazon Developer Account 22 Minutes Build a Classic Duck Hunting Game in Augmented Reality from Scratch Classic Duck Hunting Game in AR: Building the Intro Scene 24 Minutes Classic Duck Hunting Game in AR: Getting Started 1 Hour 25 Minutes Classic Duck Hunting Game in AR: Setup and GUI 2 Hours 18 Minutes Classic Duck Hunting Game in AR: Raycasting, the Game Controller and Logic 1 Hour 52 Minutes Classic Duck Hunting Game in AR: Building the Intro Scene 24 Minutes Classic Duck Hunting Game in AR: Getting Started 1 Hour 25 Minutes Classic Duck Hunting Game in AR: Setup and GUI 2 Hours 18 Minutes Classic Duck Hunting Game in AR: Raycasting, the Game Controller and Logic 1 Hour 52 Minutes Classic Duck Hunting Game in AR: Building the Intro Scene 24 Minutes Classic Duck Hunting Game in AR: Getting Started 1 Hour 25 Minutes Classic Duck Hunting Game in AR: Setup and GUI 2 Hours 18 Minutes Classic Duck Hunting Game in AR: Raycasting, the Game Controller and Logic 1 Hour 52 Minutes Classic Duck Hunting Game in AR: Building the Intro Scene 24 Minutes Classic Duck Hunting Game in AR: Getting Started 1 Hour 25 Minutes Classic Duck Hunting Game in AR: Setup and GUI 2 Hours 18 Minutes Classic Duck Hunting Game in AR: Raycasting, the Game Controller and Logic 1 Hour 52 Minutes Learn to Build Progressive Web Apps using JavaScript Exploring the Tools for Building Progressive Web Apps 1 Hour 23 Minutes Building a Progressive Web App 1 Hour 21 Minutes Exploring Advanced Technologies for Building Progressive Web Apps 28 Minutes Exploring the Tools for Building Progressive Web Apps 1 Hour 23 Minutes Building a Progressive Web App 1 Hour 21 Minutes Exploring Advanced Technologies for Building Progressive Web Apps 28 Minutes Exploring the Tools for Building Progressive Web Apps 1 Hour 23 Minutes Building a Progressive Web App 1 Hour 21 Minutes Exploring Advanced Technologies for Building Progressive Web Apps 28 Minutes Exploring the Tools for Building Progressive Web Apps 1 Hour 23 Minutes Building a Progressive Web App 1 Hour 21 Minutes Exploring Advanced Technologies for Building Progressive Web Apps 28 Minutes Getting Started with Python Python Basics 25 minutes Flow Control with Python 20 minutes Python Functions 20 minutes Importing Modules with Python 40 minutes Python Basics 25 minutes Flow Control with Python 20 minutes Python Functions 20 minutes Importing Modules with Python 40 minutes Python Basics 25 minutes Flow Control with Python 20 minutes Python Functions 20 minutes Importing Modules with Python 40 minutes Python Basics 25 minutes Flow Control with Python 20 minutes Python Functions 20 minutes Importing Modules with Python 40 minutes Paramiko Work with Files and Processes on your Workstation Using os and Paramiko 53 minutes Work with Files on a Remote Server Using os and Paramiko 1 hour Work with Files and Processes on your Workstation Using os and Paramiko 53 minutes Work with Files on a Remote Server Using os and Paramiko 1 hour Work with Files and Processes on your Workstation Using os and Paramiko 53 minutes Work with Files on a Remote Server Using os and Paramiko 1 hour Work with Files and Processes on your Workstation Using os and Paramiko 53 minutes Work with Files on a Remote Server Using os and Paramiko 1 hour Debugging and Profiling with Python Logging with Python 1 hour Debugging with Python 1 hour Profiling with Python 1 hour Logging with Python 1 hour Debugging with Python 1 hour Profiling with Python 1 hour Logging with Python 1 hour Debugging with Python 1 hour Profiling with Python 1 hour Logging with Python 1 hour Debugging with Python 1 hour Profiling with Python 1 hour Command Line Interface (CLI) Build a CLI with Argparse 55 minutes Build an Advanced CLI with Argparse 1 hour 25 minutes Build a CLI with Argparse 55 minutes Build an Advanced CLI with Argparse 1 hour 25 minutes Build a CLI with Argparse 55 minutes Build an Advanced CLI with Argparse 1 hour 25 minutes Build a CLI with Argparse 55 minutes Build an Advanced CLI with Argparse 1 hour 25 minutes Testing with Python Write unit tests for Python code 1 hour Use Mocking to Isolate Code for Unit Testing 1 hour