Skip to content
Theo Bains
Menu

Project archive

Work and studies

Academic work completed through school and university sits alongside independent software projects. Each entry focuses on the problem, implementation, and technical ideas involved.

Academic work

Coursework and structured studies in computation, physics, and formal reasoning.

academic Individual academic project with report

3D Invasion Percolation: Fractal Geometry and Self-Organised Criticality

An individual Computational Mathematics report simulating fluid invasion on lattices with a priority queue, measuring fractal dimension and self-organised criticality.

Durham University · 2025-2026

  • Research
  • Scientific computing
  • Python
  • Statistical physics
academic Summer research project

Building Mathematics with Lean

A summer research project using Lean to derive mathematical structures from basic axioms and formally verify proofs.

University of Liverpool · June-September 2023

  • Interactive theorem proving
  • Lean 4
  • Proof engineering
academic Academic report

Automata and Their Applications

A report introducing automata theory and showing how finite-state models support technologies such as spell checking and secure bank transfers.

Durham University · January-February 2025

  • Formal languages
  • Finite-state models
  • Theoretical computer science
academic Individual sixth-form research paper

Finding Degenerate Points in Conics with Projective Geometry

An individual sixth-form research paper deriving a projective-geometry method for detecting degenerate conics and locating their singular points.

University of Liverpool Maths School · September-November 2023

  • Projective geometry
  • Algebraic geometry
  • Research writing
academic Non-required group academic project

Autoparametric Resonance in a Spring-Pendulum System

A non-required group sixth-form project investigating energy exchange between pendulum-like and spring-mass motion in a spring pendulum.

University of Liverpool Maths School · January-March 2023

  • Experimental modelling
  • Resonance
  • Statistical comparison

Independent work

Self-directed software experiments built to understand systems from first principles.

independent Independent project

Recursive Backtracking Maze Generator

An early Java terminal game that generates perfect mazes by randomized recursive backtracking, expanded into a browser laboratory for comparing spanning-tree algorithms.

  • Graph algorithms
  • DFS / spanning trees
  • Java
  • TypeScript
independent Independent project

Markov Text Generator

A Python predictive-text model using Markov chains to generate text from an author’s corpus.

  • Stochastic models
  • N-grams
  • Python
independent Independent project

2D Rigid-Body Physics Engine

A Python pool simulation implementing rigid-body motion, collision detection, and impulse-based collision response.

  • Collision response
  • Numerical integration
  • Python