Courses
32 courses, 330 lessons and 101 checked exercises, all free. Not sure where to begin? Start with Python.
Good first languages Friendly languages to learn programming with.
Python
BeginnerA readable, general-purpose language for scripts, data and the web.
JavaScript
BeginnerThe programming language of the web, used in browsers and on servers.
TypeScript
IntermediateJavaScript with types, for catching mistakes before your code runs.
Ruby
BeginnerA readable, object-oriented scripting language, best known for web apps built with Rails.
Lua
BeginnerA small, simple scripting language used in games, mods and apps.
Build for the web Pages, styles, front-end frameworks and servers.
HTML
BeginnerThe markup language that gives every web page its structure.
CSS
BeginnerThe style sheet language that controls how web pages look.
Tailwind CSS
BeginnerA CSS framework built from small utility classes you apply directly in your HTML.
React
IntermediateA JavaScript library for building user interfaces from components.
Vue
IntermediateAn approachable JavaScript framework for building web interfaces.
Vite
IntermediateA fast development server and build tool for front-end projects.
Node.js
IntermediateA runtime for running JavaScript outside the browser, on servers and in tools.
PHP
BeginnerA server-side language for building websites and web apps.
Data and everyday tools Databases, version control and the command line.
SQL
BeginnerThe standard language for querying and changing data in relational databases.
Git
BeginnerA version control tool that records the history of your project.
How the Terminal Works
BeginnerHow the terminal and shell work, and what happens when you run a command.
Bash
BeginnerThe standard shell on Linux and macOS, used for commands and scripts.
PowerShell
BeginnerMicrosoft's cross-platform shell for automating Windows, Linux and macOS.
Apps and systems languages Compiled languages for apps, services and performance.
Go
IntermediateA small, fast, compiled language for servers, command-line tools and cloud services.
Rust
AdvancedA fast systems language that prevents memory bugs at compile time.
Java
IntermediateA statically typed, object-oriented language for Android apps and large backend systems.
Kotlin
IntermediateA concise, modern language for Android apps that runs on the JVM.
Swift
IntermediateApple's language for building iPhone, iPad and Mac apps.
C#
IntermediateA modern, typed language from Microsoft for apps, games and web services on .NET.
C++
AdvancedA fast, compiled language that builds on C with classes, templates and a large standard library.
C
IntermediateA small, fast systems language that shows you how computers really work.
How computers work The ideas underneath every program.
Data Structures & Algorithms
IntermediateCommon ways to organise data and solve problems efficiently.
How the Internet Works
BeginnerWhat happens between typing a URL and seeing the page.
Computer Architecture
AdvancedHow the hardware runs your code.
Operating Systems
AdvancedThe software that manages the hardware and runs your programs.
Compilers
AdvancedHow source code is turned into a program the computer can run.
Assembly
AdvancedThe human-readable form of the instructions a CPU actually runs.