My Computing Books

Besides the textbooks and the resources on the internet, I have a few books that explore computer science further...


Puzzle: Counting Triangles

An algorithm starts with a single equilateral triangle and on each subsequent iteration adds new triangles all around the outside. The results for the first three values on n are shown in the image above. How many small triangles will be there after the nth iteration?

Sorting Algorithms

A sorting algorithm puts a list of elements in a particular order. In python, if you want to sort a list, you can do list.sort(), however, here we will explore how to create our own sorting function.

The Prisoner’s Dilemma

You and a stranger are imprisoned and put into separate rooms with no way to communicate with each other. Police officers bargain with you and the stranger separately and simultaneously... You are given the choice to confess or deny the crime. What would you do..?

Are We Living in a Simulated Reality?

Our universe looks designed. Any small alteration could mean that an atom is no longer stable, a star is not formed, a universe is not created - it almost as if the universe runs on a set of mathematical lines; code on a computer; a simulation.

Storing Data in DNA

When was the last time your phone complained that you’re running out of storage – annoying right? Often it results you in deciding which photos to delete or which app(s) you will say goodbye to. Now, imagine you are in charge of a massive data centre, e.g. for Amazon or Facebook, and someone tells you that you can replace your massive data centres with a couple shipping containers with the exact same data? Crazy! How is this even possible? How can all this data be stored in a much denser way?

Create a free website or blog at

Up ↑