Programming
Static Source Code Analysis Tools and their Application to the Detection of Plagiarism in Java Programs
This project develops a system for detecting plagiarism in sets of student assignments written in Java. Plagiarism is viewed as a form of code obfuscation where students deliberately perform semantics preserving transformations of an original working version to pass it of as their own. In order to detect such obfuscations we assume we have a set of programs in which we attempt to find transformations that have been applied. We investigate tools for static analysis and transformation of Java programs to build a system for plagiarism detection.
Artificial Ants: Simulating Ant Behaviour and Investigating Applications In Computing
Ants are excellent route finders, with the ability to find the shortest path between their nest and a food source, by using pheromone trail clues to organize themselves collectively. By applying behaviour observed in ant colonies to the field of computing, these ant-based techniques can provide a base for network routing algorithms, as well as algorithms to solve graph problems such as the travelling salesman problem.
Data Mining with PHP
I took a data mining course during my third year - here's an implementation of the (k-)nearest neighbour algorithm in PHP.
LZW Algorithm in PHP
During my third year at Goldsmiths I studied data compression. Here's my implementation of LZW in PHP.
Simple PHP Shopping Cart Tutorial
This is a very simple shopping cart that I wrote at university because many of my peers were asking for help with similar problems for assignments. It is incomplete and is not intended for use on a production website!