BioGrad Computer Science Residential

12-15 Febrary 2024

We will host a group of Year 12 students on our campus for an in-depth experience of various computer science topics with our staff and students. This 4 day residential event is organized by BioGrad education.


How do deep neural networks learn?​

This session uses several interactive puzzles to introduce the key concepts of machine learning and the precise processes by which they are realised specifically in artificial neural networks, which are driving the current deep-learning revolution in AI. You will develop an intuitive understanding for their capabilities and limitations by exploring and modifying real neural networks on Tensorflow Playground, based on the very libraries used in industrial-scale AI applications, and you will implement your own neural-network algorithms in Python. The goal of this session is to demystify deep learning techniques by reducing them to their intuitively understandable core algorithms, but without resorting to simplistic analogies and metaphors.

The session is based on our AI online course.

Game AI

How to play and win games against human players has been a very effective testbed and benchmark for artificial-intelligence research. This session surveys techniques used to make computers learn how to play games such as game tree exploration and reinforcement learning. The session starts with an unplugged activity, showing that learning algorithms do not require computers at all to arrive at clever-seeming strategies. The second part of the session will introduce cutting-edge methods used for game AI with examples from DeepMind, and you will implement and test your own small game AI for an interactive game, using the industrial-strength Gymnasium game AI framework (founded by OpenAI).

Turing Tumble

This session teaches the basics of computation through Turing Tumble puzzles. Turing Tumble is a mechanical marble-run computer, using kinetic energy instead of electrical energy. It is configured using modular pieces, after which marbles will flow from the top to the bottom.

You will explore how to build key components of CPUs as Turing Tumble puzzles, such as representing numbers, arithmetic operations, and storing bits permanently without the need of an energy source (equivalent to how non-volatile memory acts as persistent storage in computers). Theoretical issues will also be explored, e.g., what would be possible if we had unbounded space and parts and how Turing Tumble can be seen as identical to other computing devices. Indeed, Turing Tumble can simulate any conventional computer (although it might require about the size of Texas…).

The session also leaves time to get creative yourself, to explore what you can create with Turing Tumble.

Sorting Algorithms – On Pancakes and Python

In this session, we look at Sorting – a fundamental computer process that allows us to manage and find data efficiently.
We will take a hands-on look at a less common sorting problem, where you will try to design your own algorithms. You will also get a little taste of how to measure the efficiency of these algorithms by analysing their computational complexity.

The second part of the lesson is a research presentation on how lists are sorted in Python (when you call list.sort()). As sorting is used frequently, it is important to optimise the algorithms used by programming languages. For the first time in nearly 20 years, the sorting used in Python (and other programming languages) has been updated to a new algorithm – Powersort. You will hear, and see, how this works directly from the inventor, Dr Sebastian Wild.