Learn Programming & Computer Science
Free, step-by-step tutorials with examples, outputs, diagrams and quizzes: 13 courses and 127 lessons, from your first program to compilers.
All Tutorials
Java
19 lessonsLearn Java from the ground up, from your first program to object-oriented programming, with examples and outputs on every page.
Start Java →Python
10 lessonsLearn Python, the beginner-friendly language used for automation, web development, data science and AI.
Start Python →C
10 lessonsLearn C, the "mother of programming languages", from basic syntax to pointers, structures and files.
Start C →C++
9 lessonsLearn C++, a fast, powerful language with object-oriented and generic programming, used for games, systems and competitive coding.
- Input/Output, Variables and References
- Functions and Overloading
- Classes, Constructors and Destructors
- Inheritance
DBMS
9 lessonsDatabase Management Systems: data models, ER diagrams, keys, normalization, transactions and concurrency control.
Start DBMS →Data Structures
9 lessonsArrays, linked lists, stacks, queues, trees, graphs, sorting, searching and hashing, with C implementations.
Start Data Structures →Operating System
9 lessonsProcesses, CPU scheduling, synchronization, deadlocks, memory management, virtual memory and file systems.
Start Operating System →Computer Networks
8 lessonsNetwork models, the physical and data-link layers, IP addressing and subnetting, routing, TCP/UDP and application protocols.
Start Computer Networks →Theory of Computation
9 lessonsFinite automata, regular expressions, context-free grammars, pushdown automata, Turing machines and decidability.
- Deterministic Finite Automata (DFA)
- NFA and NFA to DFA Conversion
- Regular Expressions and Arden's Theorem
- Pumping Lemma and Closure Properties
Compiler Design
9 lessonsPhases of a compiler: lexical analysis, parsing (LL and LR), syntax-directed translation, intermediate code, optimization and code generation.
- Lexical Analysis
- Syntax Analysis and Grammar Transformations
- FIRST, FOLLOW and LL(1) Parsing
- Bottom-Up and LR Parsing
SQL
9 lessonsLearn SQL to create, query and manage relational databases in MySQL, PostgreSQL, Oracle and SQL Server.
- CREATE, ALTER, DROP
- INSERT, UPDATE, DELETE
- SELECT, WHERE, ORDER BY
- Aggregate Functions, GROUP BY, HAVING
HTML
8 lessonsLearn HTML, the language that structures every web page. Each example has a "Show Result" button so you can see what it looks like.
Start HTML →JavaScript
9 lessonsLearn JavaScript, the programming language of the web, from variables and functions to the DOM, events and async code.
Start JavaScript →