2026-04-30
Data &
Computers &
Code &
People
Image credit: The National Museum of Computing.
The code on this slide is not meant to be real, runnable source.
It is pseudocode: code-like text designed to pull out the key idea.
The loop structure is the important thing: we repeat a small update over and over again:
dt = 0.1
loop:
distance_to_sun = square_root (x^2 + y^2) -- Pythagoras!
amount_to_accelerate = gravity_strength * sun_mass / distance_to_sun^2
x_share_of_acceleration = x / distance_to_sun
y_share_of_acceleration = y / distance_to_sun
vx = vx + amount_to_accelerate * x_share_of_acceleration
vy = vy + amount_to_acceerlate * y_share_of_acceleration
x = x + vx * dt
y = y + vy * dt
end of loopMost of that benefit is in pseudocode, not real code.
The rules for the Boids:
Modelling allows us to use simple rules to build human understanding of complex systems.
Simulation allows us to build detailed models to predict how the world will behave.
Image credit: Peter Coveney and Roger Highfield.
Some of you will have noticed that the gravity programme is inefficient:
could be:
By working with programs that use other programs that use other programs, we are much more capable.
But the systems become much more complex.
And hard to understand.
Image credit: Gavin Starks et al.
Image credit: Generated with the DALL·E image model, OpenAI, accessed via ChatGPT (April 2026).
Image credit: Screenshot from Github.com April 2026.
Image credit: Photo by PA Media, purchased for this lecture.
The tools, practices and systems that enable repeatable, reliable, safe and scalable technical construction.
Image credit: The Alan Turing Institute.
Image credit: Beineke Library, used by permission, composed by the Software Sustainability Institute.
Engineering Computational Science is the development and application of tools, practices and systems for the efficient, trustworthy, ethical and safe use of information technologies as part of trying to produce knowledge about the world.
Image credit: Generated with the DALL·E image model, OpenAI, accessed via ChatGPT (April 2026).
Science is the formalisation of ways to avoid lying to ourselves
Image credit: Wikimedia commons, Heptagon, CC-SA.
“All science is either physics or stamp collecting” - attributed to Ernest Rutherford, perhaps apocryphal.
Image credit: Finkelstein, Hetherington, Li, Margoninsky, Saffrey, Seymour and Warner, IEEE Computer.
Image credit: The Mathworks, Inc..
Image credit: Living With Machines project, Alan Turing Institute and British Library.
def Converges (F : ℕ → ℕ → Set State) (L : Set State) : Prop :=
Tendsto (fun q : ℕ × ℕ => F q.1 q.2) (atTop.prod atTop) (𝓝 L)
theorem kepler
(P : Params) (x0 : State) :
∃ L : Set State,
Converges (solveOrbit P x0) L ∧
IsEllipse P L ∧
(period L) ^ 2 = ((4 * Real.pi ^ 2) / P.μ) * (semiMajorAxis L ^ 3) := by
sorryAll those who have mentored and helped me in each of my prior roles
All those who have helped me over the last five years in UCL, including but not limited to:
Colleagues from across the research engineering community