Software Hut Project
Feb-May 2023
As part of my second year of studies, I led a team of 6 other computer science students in a full-stack software engineering project where we had to develop a system for our client. After gathering all requirements from our client, we developed a system that would allow users with a 'map creator' role to interact with a satellite map in order to map out golf courses, and allow for users with no role to browse the database of maps created by the map creators, annotate these (in case they know that the course has changed, but the map creators have not yet updated it), and explore how to optimise their game using the 'strokes gained' metric. For this our team received the Software Hut Prize (Client), for producing the best system out of all teams that worked for this client, and I received a personal grade of 95%
Perceptron Algorithm Visualiser
18th-22nd January 2023
This was a project made by me and a friend in our second year of studies, to help us to better understand the Perceptron Learning Algorithm, and also for myself to become acquainted with PyQt, the python binding for the popular Qt GUI toolkit.
Portfolio Website
This website was built as a place for me to write about projects that enhanced my knowledge of computer science, and improved my ability as a programmer overall. I started building it in May of 2023 using the Next.js framework. Having never used a JavaScript framework of any kind before, this was a daunting task, but I found it remarkably easy to learn, in part thanks to the plethora of documentation available for both Next and React. I also decided to take this as an opportunity to learn TypeScript, a superset of JavaScript that introduces static typing, typehints in functions, and other general additions that make it easier to manage a large codebase.
Systems Design & Security - Bike Builder Project
Nov-Dec 2022
This project was made during my second year of studies. I led a team of three other computer scientists to develop a Java swing application for a fictional bike shop. Users are able to put together bikes from a list of components without logging in, only providing their details at checkout. Staff members can then log in and confirm payment receipt from customers, progress orders from 'pending' to 'confirmed', and then again from 'confirmed' to 'shipped'. Over the course of this project I worked with both the front-end (using Java swing) and the back-end (using a MySQL database connected to the application using Java Database Connectivity.), massively developing my skills in both areas.