Projects

Final Year Project

My Final Year Project was entitled "The Influence of Video and Audio Quality in Emotion Detection" and I was supervised by Professor Khurshid Ahmad. The goal of this project was to take datasets of visual/audio emotion expression, run them through various emotion recognition softwares and see how the results are affected based on the quality of the media. To do this I wrote several scripts in Python to perform actions on the .csv files that the emotion scores were outputted to. I then used a variety of statistical tests to determine the effects of quality degradation in emotion recognition. The statistical tests used were Cohen's Kappa, Spearman's Rank Ordered Correlation Coefficient and the Kruskal-Wallis Test.

DANCE - Detecting ANtipatterns in a C++ Environment

A project as part of the Software Engineering Project II module in the 3rd year of my Computer Science degree. This project was a collaboration of a team of 3rd and 2nd year students, totaling 10 members. I took on a managerial position in this project. The goal of this project is to use Clang APIs in Python to detect common antipatterns within a C++ codebase such as deadlocking etc. and give the user warnings/errors based on the antipattern(s) found.Github Repository

Image Analysis and Rating

A project as part of the module Software Engineering Project I in the 2nd year of my degree. This was a group project comprised of 6 members including myself. This project allows a user to upload an image to a website in order to rate an image based on various metrics which our team chose, using NextJS and NodeJS. The metrics used were: brisque score, tags, trend search i.e. the image's relevance, reverse image search to show how many similar images exist and the type of the image e.g. clip art, photograph etc. The backend was written using ReactJS. My main contribution to the project was implementing the reverse image search metric.Github Repository

GitHub Statistics

A web based project which takes data from Microsoft's open source calculator. Shows the user various graphs displaying contributors statistic e.g. most issues opened/closed. Also allows the user to search for a specific contributor. My contribution to this project was implementing a MySQL database to store the data.Github Repository

Vancouver Bus Management System

A Java based program which implements Dijkstra's algorithm. This program allows to user to find the shortest route between two bus stops, search stop details by the stop's name and search for a stop based on the arrival time. The data is taken from 3 .txt files.Github Repository

Space Invaders

A solo project made in Processing 3 which allows the user to play a game akin to Space Invaders.

Demo

Github Repository

Web Calculator

A group project as part of the Software Engineering module in 3rd year. The goal was to create a functioning calculator and deploy it as a web app. My contribution to the project was connecting the frontend to the backend which I learned a lot from.Github Repository

File Retrieval Protocol

The first assignment in my Computer Networks module in 3rd year. The aim of this assignment was to provide a means for one or more clients to retrieve files from one or more workers based on User Datagram Protocol (UDP) packets. This is done through the use of an ingress node which communicates with both the client and worker nodes.Github Repository

Flow Forwarding

The second assignment in my Computer Networks module in 3rd year. The aim of this assignment was to implement forward flows of packets. Communication is achieved between an ”employee” and a ”deployment server” by including the destination address in the packet header. The packet is then sent sent through a series of ”forwarders” which consult a ”controller” to determine where the next hop is. I put my own personal twist on it by allowing the user to request an appointment time and would be returned whether or not that appointment is available.Github Repository