Free Programming Tutorials

Short, practical lessons that start from zero. Every lesson has examples — edit them and press Run to see the result right in your browser.

Python Tutorial Learn Python from scratch: syntax, variables, strings, lists, dictionaries, loops, functions, classes, files, JSON, regular expressions,… 42 lessons JavaScript Tutorial Learn modern JavaScript step by step: variables, strings, arrays, objects, functions, closures, classes, promises, async/await, JSON,… 44 lessons PHP Tutorial Learn modern PHP 8 step by step: syntax, variables, strings, arrays, functions, forms, sessions, files, JSON, classes, interfaces, traits,… 38 lessons Java Tutorial Learn Java 21 step by step: syntax, variables, strings, arrays, methods, classes, inheritance, interfaces, records, enums, collections,… 37 lessons SQL Tutorial Learn SQL step by step on a real database in your browser: SELECT, WHERE, ORDER BY, GROUP BY, joins, subqueries, CTEs, window functions,… 36 lessons TypeScript Tutorial Learn TypeScript step by step: types, interfaces, unions, narrowing, functions, classes, enums, generics, utility types, mapped and… 25 lessons HTML Tutorial Learn HTML from scratch: page structure, headings, text, links, images, lists, tables, semantic elements, forms, input validation, media,… 34 lessons CSS Tutorial Learn CSS step by step: selectors, colours, the box model, typography, units, flexbox, grid, positioning, responsive design,… 19 lessons Go Tutorial Learn Go (Golang) step by step: variables, types, slices, maps, structs, pointers, functions, methods, interfaces, generics, error… 30 lessons C# Tutorial Learn C# and .NET step by step: variables, strings, control flow, methods, classes, interfaces, records, generics, collections, LINQ,… 22 lessons C++ Tutorial Learn modern C++ (C++20) step by step: types, strings, control flow, functions, references, pointers, smart pointers, RAII, classes,… 21 lessons Terraform Tutorial Learn Terraform and infrastructure as code from scratch: providers, resources, variables, expressions, loops, state, remote backends,… 25 lessons