Free degree-level computing lessons for careful independent study.
Degree Level Programmes · Formal Computing Foundations

Fundamentals of Computing

A 30-lesson first-year computing foundations course covering set theory, representation, functions, vectors, matrices, combinatorics, relations, proof, graph theory, propositional logic and predicate logic.

Lessons

Lesson 1 · Orientation

Why Formal Foundations Matter in Computing

Explain why formal notation, modelling and proof support reliable computing work.

Lesson 2 · Set theory

Mathematical Notation, Sets and Statements

Read and write the notation used throughout formal computing.

Lesson 3 · Set theory

Set Operations, Subsets, Power Sets and Venn Reasoning

Use set operations to model selection, filtering and overlap.

Lesson 4 · Set theory

Cartesian Products and Modelling Data with Sets

Use Cartesian products to reason about structured data and valid combinations.

Lesson 5 · Number representation

Number Systems: Decimal, Binary and Hexadecimal

Convert between number bases used in computing.

Lesson 6 · Number representation

Integer Representation, Overflow and Two's Complement

Reason about fixed-width integer storage and overflow.

Lesson 7 · Number representation

Floating Point Representation and Approximation Error

Explain why real numbers in programs are often approximate.

Lesson 8 · Functions

Real-Valued Functions and Graph Interpretation

Read real-valued functions as mappings with graphical behaviour.

Lesson 9 · Functions

Function Properties: Domain, Range, Composition and Inverses

Use formal function properties to reason about transformations.

Lesson 10 · Vectors and matrices

Vectors as Data, Geometry and State

Use vectors to represent ordered numerical information.

Lesson 11 · Vectors and matrices

Matrices and Transformations

Use matrices as structured transformations of vectors.

Lesson 12 · Vectors and matrices

Matrix Operations and Computing Applications

Use matrix operations in computing contexts such as graphics, data and networks.

Lesson 13 · Combinatorics

Counting Principles and the Product Rule

Count structured possibilities without listing every case.

Lesson 14 · Combinatorics

Permutations, Combinations and Binomial Reasoning

Choose the right counting method when order may or may not matter.

Lesson 15 · Assessment preparation

Semester 1 Consolidation and Digital Exam Practice

Integrate the first half of the course through exam-style modelling tasks.

Lesson 16 · Relations

Relations: Definitions, Tables, Graphs and Matrices

Represent relations using several equivalent forms.

Lesson 17 · Relations

Properties of Relations: Reflexive, Symmetric and Transitive

Classify relations by formal properties.

Lesson 18 · Relations

Equivalence Relations and Partitions

Use equivalence relations to group objects by shared properties.

Lesson 19 · Functions

Functions Revisited: Injective, Surjective and Bijective

Classify functions by how they use inputs and outputs.

Lesson 20 · Proof

Proof Techniques: Direct Proof and Counterexample

Construct basic arguments and disprove universal claims.

Lesson 21 · Proof

Proof by Contradiction and Contrapositive

Use indirect proof techniques when direct proof is awkward.

Lesson 22 · Proof

Mathematical Induction for Computing Problems

Prove claims about repeated structure.

Lesson 23 · Graph theory

Graph Theory: Vertices, Edges, Paths and Cycles

Use graph terminology to model connected systems.

Lesson 24 · Graph theory

Trees, Connectivity and Traversal Ideas

Reason about connected graph structures used in computing.

Lesson 25 · Graph theory

Graph Models for Networks, Dependencies and Systems

Apply graph theory to realistic computing structures.

Lesson 26 · Propositional logic

Propositional Logic: Syntax, Semantics and Truth Tables

Evaluate compound logical statements.

Lesson 27 · Propositional logic

Logical Equivalence, Implication and Normal Forms

Rewrite logical statements without changing their truth conditions.

Lesson 28 · Predicate logic

Predicate Logic: Quantifiers, Domains and Translation

Use predicates and quantifiers to express claims about objects.

Lesson 29 · Predicate logic

Reasoning with Predicates, Negation and Nested Quantifiers

Handle more complex quantified statements.

Lesson 30 · Assessment preparation

Whole-Course Consolidation and Final Digital Exam Practice

Bring the full course together through mixed formal-computing problems.