This page details past projects, both personal and professional.
Note, that it is not maintained regularly.
The aim of this project was to develop an agent that takes on the role of a human player within the classic game of Tic Tac Toe. The agent developed was reactive.
Three behaviours were used within the agent, these were 'I can move', 'I can block' and 'I can win'.
Difficulty levels were implemented within these behaviours, for example diagonal moves would not be blocked on the easy setting.
The aim of this project was to investigate suitable methods of evolutionary intelligence for solving a simple wall following problem effectively.
The initial implementation involved using a genetic algorithm and a lookup table.
Different selection, crossover and mutation operators were trialled to discover which were more efficient at solving the wall following problem. As an experimental method, the second implementation involved using a Neural Network.
This project consists of a client and server that both support HTCPCP, the Hyper-Text Coffee-Pot Control Protocol.
This protocol is designed to allow the remote control of coffee brewing machines via the internet.
An HTCPCP server accepts requests from remote clients and uses these requests to manage the coffee machine.
The server provides responses based on the status of the coffee brewing machine(s).
This project consisted of designing and developing a prototype reservation system for a given client, Old Frenchay Inn(OFI).
The design included devising a UML use case from the client's requirements, a UML class diagram for the system itself and a critical appraisal of the design and the finished project.
For development, the structure of the code and classes needed to be in a logical format and all given test cases were to be successful.
An application with a suitable user interface that allows the user to guess a randomly generated number.
A test mode is implemented so that the functionality of the application can be checked, for example displaying 'higher' when appropriate.
Inputs have not been validated as it was assumed the user would enter a valid numerical input.
Classes have been designed so that the GUI is separate from the model code, in a cohesive manner with low responsibility per class and no duplicated code.
This application is built on to the previous guessing games project, a new tab has been added to allow users to guess a word generated from a specified list.
There are lists for both three and four letter words.Again, a test mode was implemented and inputs are not validated.
The user enters a letter at a time, initially each character in the word is hidden by a *, if the guess is correct then the corresponding * will change to the correct letter. A history of letters used so far is also kept and displayed.