Computer Science Fundamentals

From a first algorithm to the systems that run it: a beginner-friendly path through programming, mathematics, data structures, architecture, operating systems, networks and databases.

Beginner-friendly14 modules · 70 core hoursEN / 中文

How the series works

Each module combines concepts and worked examples, a timed study plan, runnable Python labs, exercises with solutions and a self-check quiz. Selected interactive demonstrations make execution visible. Progress is saved in your browser and shared between language editions on the same browser and site.

Before you start

No programming experience or university mathematics is assumed. We introduce the notation as needed. You need a browser, a text editor and Python 3.11 or later; Module 01 uses no third-party packages.

One project, many perspectives

A small library catalogue connects the series: represent books, search and sort records, choose data structures, store data in SQLite and expose it through a local server. Other examples teach topics where the catalogue is a poor fit.

The modules

All 14 modules are available in English and Chinese, including the persistent catalogue capstone. Each module has a five-hour core study plan; allow 5–7 hours including extensions and extra practice. Follow the sequence or use the prerequisite links in each lesson.

Module 01
What is computation?
Problems, algorithms, abstraction, input/output and the layers of a computer. Trace a search, test its contract and count its work.
Available · 5 h · 3 labs · 8 exercises
Module 02
Representing information
Binary, hexadecimal, integers, floating point and text encoding. Build a converter and explore rounding.
Available · 5 h · 2 labs · 8 exercises
Module 03
Programming foundations
Variables, expressions, control flow, functions and debugging. Build a command-line catalogue.
Available · 5 h · 2 labs · 8 exercises
Module 04
Mathematical foundations
Logic, sets, relations, functions, proofs, induction and probability. Work with truth tables and simple proofs.
Available · 5 h · 2 labs · 8 exercises
Module 05
Algorithms and efficiency
Correctness, invariants, time and space complexity, Big O, searching and sorting.
Available · 5 h · 2 labs · 8 exercises
Module 06
Core data structures
Arrays, linked lists, stacks, queues and hash tables. Implement structures and compare their tradeoffs.
Available · 5 h · 2 labs · 8 exercises
Module 07
Recursion, trees and graphs
Call stacks, tree traversal, BFS, DFS and shortest paths. Build a route finder.
Available · 5 h · 2 labs · 8 exercises
Module 08
Algorithm design
Divide and conquer, greedy methods, backtracking and dynamic programming. Solve a scheduling problem.
Available · 5 h · 2 labs · 8 exercises
Module 09
Computer architecture
Boolean gates, CPU instructions, memory, caches and execution. Trace a simulated machine.
Available · 5 h · 2 labs · 8 exercises
Module 10
Operating systems
Processes, threads, scheduling, virtual memory, files and concurrency. Explore a race condition.
Available · 5 h · 2 labs · 8 exercises
Module 11
Networks and the web
Layers, packets, addressing, DNS, TCP and HTTP. Build a local client and server.
Available · 5 h · 2 labs · 8 exercises
Module 12
Databases
Relational modelling, SQL, keys, indexes and transactions. Persist the catalogue with SQLite.
Available · 5 h · 2 labs · 8 exercises
Module 13
Languages and limits of computation
Parsing, interpreters, automata, computability, undecidability and P versus NP. Build an expression interpreter.
Available · 5 h · 2 labs · 8 exercises
Module 14
Software, security and integration
Testing, modularity, trust boundaries, validation and authentication. Complete the catalogue capstone.
Available · 5 h · 2 labs · 8 exercises