Lesson 1 · Orientation
Why Formal Foundations Matter in Computing
Explain why formal notation, modelling and proof support reliable computing work.
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.
Lesson 1 · Orientation
Explain why formal notation, modelling and proof support reliable computing work.
Lesson 2 · Set theory
Read and write the notation used throughout formal computing.
Lesson 3 · Set theory
Use set operations to model selection, filtering and overlap.
Lesson 4 · Set theory
Use Cartesian products to reason about structured data and valid combinations.
Lesson 5 · Number representation
Convert between number bases used in computing.
Lesson 6 · Number representation
Reason about fixed-width integer storage and overflow.
Lesson 7 · Number representation
Explain why real numbers in programs are often approximate.
Lesson 8 · Functions
Read real-valued functions as mappings with graphical behaviour.
Lesson 9 · Functions
Use formal function properties to reason about transformations.
Lesson 10 · Vectors and matrices
Use vectors to represent ordered numerical information.
Lesson 11 · Vectors and matrices
Use matrices as structured transformations of vectors.
Lesson 12 · Vectors and matrices
Use matrix operations in computing contexts such as graphics, data and networks.
Lesson 13 · Combinatorics
Count structured possibilities without listing every case.
Lesson 14 · Combinatorics
Choose the right counting method when order may or may not matter.
Lesson 15 · Assessment preparation
Integrate the first half of the course through exam-style modelling tasks.
Lesson 16 · Relations
Represent relations using several equivalent forms.
Lesson 17 · Relations
Classify relations by formal properties.
Lesson 18 · Relations
Use equivalence relations to group objects by shared properties.
Lesson 19 · Functions
Classify functions by how they use inputs and outputs.
Lesson 20 · Proof
Construct basic arguments and disprove universal claims.
Lesson 21 · Proof
Use indirect proof techniques when direct proof is awkward.
Lesson 22 · Proof
Prove claims about repeated structure.
Lesson 23 · Graph theory
Use graph terminology to model connected systems.
Lesson 24 · Graph theory
Reason about connected graph structures used in computing.
Lesson 25 · Graph theory
Apply graph theory to realistic computing structures.
Lesson 26 · Propositional logic
Evaluate compound logical statements.
Lesson 27 · Propositional logic
Rewrite logical statements without changing their truth conditions.
Lesson 28 · Predicate logic
Use predicates and quantifiers to express claims about objects.
Lesson 29 · Predicate logic
Handle more complex quantified statements.
Lesson 30 · Assessment preparation
Bring the full course together through mixed formal-computing problems.