Skip to content

Learn

University Computer Science

Choose a lesson to begin.

1 Programming Fundamentals 0 / 7
2 Discrete Mathematics
2.1 Logic and proofs Coming soon
2.2 Sets, functions and relations Coming soon
2.3 Induction and recursion Coming soon
2.4 Counting and combinatorics Coming soon
2.5 Graphs and trees Coming soon
2.6 Discrete probability Coming soon
3 Computer Systems Fundamentals
3.1 Binary and data encoding Coming soon
3.2 Logic gates and digital building blocks Coming soon
3.3 Processor and memory overview Coming soon
3.4 Machine instructions Coming soon
3.5 The operating-system interface Coming soon
3.6 Compilation and execution path Coming soon
4 Object-Oriented Programming
4.1 Objects and classes Coming soon
4.2 Encapsulation Coming soon
4.3 Composition and inheritance Coming soon
4.4 Interfaces and polymorphism Coming soon
4.5 Exceptions and error handling Coming soon
4.6 Testing and design quality Coming soon
5 Data Structures and Algorithms
5.1 Asymptotic analysis Coming soon
5.2 Lists, stacks and queues Coming soon
5.3 Hashing Coming soon
5.4 Trees and heaps Coming soon
5.5 Graphs and traversal Coming soon
5.6 Sorting Coming soon
5.7 Searching Coming soon
6 Computer Architecture
6.1 Instruction set architecture Coming soon
6.2 Datapath and control Coming soon
6.3 Pipelining Coming soon
6.4 Memory hierarchy Coming soon
6.5 Input/output Coming soon
6.6 Parallelism and performance Coming soon
7 Operating Systems
7.1 Processes and threads Coming soon
7.2 Scheduling Coming soon
7.3 Synchronisation Coming soon
7.4 Virtual memory Coming soon
7.5 File systems Coming soon
7.6 Protection and security Coming soon
8 Databases
8.1 Relational modelling Coming soon
8.2 Relational algebra and SQL Coming soon
8.3 Normalisation Coming soon
8.4 Indexes and query plans Coming soon
8.5 Transactions and concurrency Coming soon
8.6 Security and data governance Coming soon
9 Computer Networks
9.1 Layering and architecture Coming soon
9.2 Link layer and IP Coming soon
9.3 Routing Coming soon
9.4 Transport (TCP/UDP) Coming soon
9.5 Application protocols Coming soon
9.6 Network security Coming soon
9.7 Distributed systems fundamentals Coming soon
10 Algorithm Design and Analysis
10.1 Recurrences and analysis tools Coming soon
10.2 Divide and conquer Coming soon
10.3 Greedy algorithms Coming soon
10.4 Dynamic programming Coming soon
10.5 Graph optimisation Coming soon
10.6 Reductions and NP-completeness Coming soon
11 Theory of Computation and Compilers
11.1 Automata and regular languages Coming soon
11.2 Context-free languages and parsing theory Coming soon
11.3 Computability Coming soon
11.4 Lexical analysis Coming soon
11.5 Parsing Coming soon
11.6 Semantic analysis and code generation Coming soon
12 Software Engineering
12.1 Requirements Coming soon
12.2 Architecture and design Coming soon
12.3 HCI and accessibility Coming soon
12.4 Version control and teamwork Coming soon
12.5 Testing and continuous integration Coming soon
12.6 Security and professional ethics Coming soon
12.7 Team project Coming soon
13 Artificial Intelligence and Machine Learning
13.1 Search Coming soon
13.2 Knowledge and reasoning Coming soon
13.3 Probability models Coming soon
13.4 Regression and classification Coming soon
13.5 Optimisation and learning Coming soon
13.6 Evaluation and leakage Coming soon
13.7 Fairness and limitations Coming soon

Log in or create account

IGCSE, A-Level & AP