My Projects:

This section showcases a selection of my projects over the past few years. From developing engaging applications to conducting in-depth research, these projects demonstrate my technical, creative and collaborative skills. Currently, some of these projects are closed-source and are not on my Github, however on request I am happy to provide the code.

Project 1 Image

Dissertation

During my final year at University, I researched the effectiveness of applying Evolutionary Algorithms to Sudoku puzzles. This involved the design and development of multiple unique Genetic Algorithms, alongside the production of a ten thousand word report and twenty minute video to convey the findings of my unique research.

Project 2 Image

Spreadsheet RestAPI

A RestAPI developed in Python using the module Flask to act as a stripped down version of Excel. The API supports adding, reading, updating and deleting cells, alongside cell referencing. Storage is configarable using the command line to use either SQLite or Firebase.

Project 3 Image

ACO Pathfinder

Implementation of the Ant Colony Optimisation (ACO) algorithm in Python which attempts to solve the Travelling Salesman problem. Contains fully customisable parameters including the quantity of ants, pheromone strength, alongside the ability to use different variations of standard ACO, such as Max-min ant System (MMAS).

Project 3 Image

Ecolegends

An innovative, sustainably-focused game developed using the Django framework designed to engage users in environmentally conscious behaviours, promoting sustainable practises through interactive challenges, earning users coins which can be used to upgrade their characters. Characters can battle each other in a top trump style online game. This was developed as part of a Group Software engineering project. I was responsible for front and back-end development of the application, focusing mainly on user authentication, permissions and challenges aspect of the game.

Project 3 Image

OpenGL Engine

Part of a Univeristy project which involved the creation of a game engine in Python using the Pygame and pyOpenGL libraries to render 3D objects. The objective was to model a scene of London being attacked by dinosaurs. My engine provided support for different types of shaders, animation of models alongside movement of the camera, a custom skybox and environment mapping.

Project 3 Image

C Programming Challenges

This project involved the creation of a series of C programs, each designed to solve 3 unique problems and tasks. These include: A tool to turn English words into Pig-latin, a mimic of a riffle shuffle on a pack of cards, and finally a simulation of the game Beggar-your-neighbour. This project allowed me to understand the Low-Level nature of C and understand how to implement different data structures from scratch. It also allowed me to understand the importance of memory management and how to avoid memory leaks.

Project 3 Image

Predicting transfer fees

Using machine learning I attempted to predict football players transfer fees based on characteristics about themselves, such as: height, age, appearances, goals etc. This project was developed using Python and I used the scikit-learn library, alongside a dataset from Kaggle. I used both the Linear Regression and Random Forest Regression models in this project.

Project 3 Image

Java Multithreader

I developed a multithreaded card game using Java. This significantly deepened my understanding of multithreading. I learned how crucial it is to properly manage resource locking to prevent race conditions and ensure smooth execution in concurrent environments.

Project 3 Image

Tetris Website

For a full-stack University project, I developed a complete website hosted on a virtual private server that allowed users to sign up and play a game of Tetris. The game was coded in Javascript, whilst the front-end was covered with HTML and CSS and the backend with PHP. The website contained a leaderboard displaying top-scoring players, with a MySQL database handling user data and scores. This project introduced me to the LAMP stack, and exposed me to the Linux command-line.

Project 3 Image

Prolog / Haskell Challenges

A University project where I had to create a number of solutions to provided problems using Haskell and Prolog. This was my first encounter with functional programming languages, and gave me an in depth insight and recap of recursion and the importance of it in languages such as these.

Project 3 Image

Maze Solver

This project involved developing a maze-solver that utilised two established algorithms. I decided to use a Depth-First-Search alongside the A* algorithm. In order to test the algorithms, I was provided with multiple test sets containing mazes of various sizes. This enforced me to ensure the application was developed as efficiently as possible to allow for it to run on the larger maze sizes.

Project 3 Image

COVID-19 Dashboard

This was my first University project, which involved developing a COVID-19 dashboard, containing data fetched from the UK government API. The interface was developed using HTML, whilst information was displayed using the Python module flask. The dashboard displayed various statistics about the virus, and could be configured for any user specified area. Alongside this, news articles were also shown, and all updates could be scheduled. Unfortunately due to updates with the API being used, the project no longer works.