At university I studied Computing Science, and during my time there my knowledge of programming and engineering was deepened. Initially procedural and object-oriented programming with C++ were both covered in great detail. Then more advanced topics such as parallelisation and algorithms were introduced, expanding my view on what was possible. I was tasked with creating software for windows using C# and Windows Forms. After making some desktop applications using forms, further advanced topics were introduced such as AI/machine learning. The target platform for the software I was creating also shifted to mobile. IoT concepts were covered and then I evidenced what I had learned through a project. Engineering systems for Big Data handling was one of the final topics covered. In my own time I have also taught myself the basics of Electron so I could create better looking desktop applications. Below is a collection of the projects I have worked on both at university and in my own time.
2023
My honours project in university, which aimed to demonstrate the feasibility of a new data-poisoning attack that uses the subtle injection of "synthetic" data into images. The result is an image poison that could potentially accelerate a process known as "model collapse" within a target if a large enough quantity is included in training.
2023
The setup process of a Distributed Computing Cluster, consisting of 4 worker nodes and the master node. Clusters are used to improve efficiency when processing big data. Hadoop was the framework used to allow a task to be broken down into smaller workloads and distributed among the workers. The tasks themselves were written in Scala and executed by Apache Spark.
2023
An android app that allows the user to plan trips, such as walks or hikes, and store information related to that trip. This includes its location, a rating, number of times visited etc. These trips can be scheduled, and once a trip is past its scheduled date, more information can be added, such as photos and notes. Completed trips will also be added to an archive, from which you can easily access and reschedule trips.
2023
An image classifier that leverages the convolutional neural network architecture to extract image features. The model was trained using CIFAR-10, a popular dataset in the field of computer vision, with 60,000 images belonging to one of 10 classes (so 6000 in each class). The images are at the low resolution of 32x32.
2023
An IoT Doorbell that sends a message to an AWS Server using MQTT, which creates a notification on a web dashboard. It shows the timestamp of the ring and allows the user to remotely release the electronic lock, should they wish to do so. The dashboard can be accessed online with a dynamic layout that adjusts to fit the device you use to view it on.
2022
A desktop application built using C# and Windows Forms, designed to track both the hardware and software components of all machines within a network. Each component can be checked for vulnerabilities against the NIST database via their API.
2021
This project was one of my first experiments with parallelisation in C++. I aimed to make a multithreaded particle physics simulation, where thousands of particles can collide with one another. The particles move around the provided area similarly to a puck in air-hockey, and the user can chose to apply force to any of them.