Portfolio
Developed a Python program to evaluate and compare four different AI agents controlling a 2-wheeled differential drive robot across three environments. The comparison metrics include actions taken, timesteps, distance travelled, and progress achieved.
Python program to which converts Verilog to Minecraft Redstone circuits winning the "Hackiest Hack" prize in HackNotts 2024.
A group project for the university which I led. The tool is designed for clinicians who can use it to track tumour growth and easily identify organs in medical images.
Image segmentation is the process of automatically separating sections of an image, for example, separating bones, organs and tissues into distinct regions.
This is the website you are currently looking at! It is made using Bootstrap 5 and is in a Docker container.
The MIN-SET-COVER problem is an NP-hard problem where you have to optimally allocate resources so that all elements in a set are covered. This coursework involved creating an AI in Java to solve this problem.
An example of the MIN-SET-COVER problem is, given N programmers who each know a set of programming languages, what are the minimum number of programmers required to cover every programming language?
An Android app for recording and managing dreams, featuring advanced tagging, search functionality, and a home screen widget for quick access. Built using Android Studio and a Room database.
A game, similar to Tanks! on the Wii, in which you control a tank and shoot enemy tanks controlled by AI. Developed in C++ using a wrapper around SDL 2, I achieved 89% in this piece of coursework.
A collection of utility programs created in Python to assist in competitive coding challenges. It automates the creation of problem READMEs from Codeforces, Leetcode and Kattis as well as allowing you to list and filter attempted problems.
A Python command line tool for matrix maths using argparse and multipledispatch. It was created as a supplement to my learning in the Mathematics for Computer Scientists 2 module.
A 2D racing game playable by two users on the same device. Developed in Processing, this was my first introduction to the language.