Hi, I'm Alex

Computer Scientist at University Of Nottingham.
* with Artificial Intelligence

About me

Hi, I'm Alex. I currently study Computer Science with Artificial Intelligence at the University Of Nottingham.

My Work

Work In Artificial Intelligence

  • A* , UCS and Greedy search development in Matlab
  • Neural Network Training in Matlab
  • Work with Decision Trees to process large amounts of data
Programming Experience
  • C - Studied at University
  • Java - Studied at University
  • Haskell - Studied at University
  • PHP
  • SQL (and work with databases)
  • Javascript + Jquery
  • HTML + CSS
  • Hardware Description Language
  • ARM (assembly)

My Projects

Not exhaustive , more coming soon...

Database CD management system

This project was done for University. The task was to create a CD management system where a user could add an artist to the database , add a CD to the database and add Tracks to the database where each table has a relation to another. The user is also able to Create,Update,Read and Delete from the database (CRUD).
Watch Showcase

CCValidate - Java credit card library

This is a library writen in Java. It implements the Luhn algorithm in order to ensure the card has a correct number. It also ensures it meets other requirements of being a card number e.g only numbers and specific length. If needed, the library can return the type of card, using the provided card number.
View code on GitHub

Procedural island generator

This project allows the user to create randomly generated island with custom settings. The user can change the height and size of the islands using sliders. The generator uses the Simplex Noise algorithm. Download

Matching pairs game - ARM

This project is also a matching pairs game however written in assembly code. Here the code will generate a board , hiding letters under coordinates randomly on the board. The user selects which tile they would like to reveal by entering the coordinates of the tile they wish to display. They then have a second turn to select another tile. If the tiles match they win else they loose.
View code

Implementation of A* Search Matlab

The task here was to create an A* search algorithm in Matlab using a provided Greedy and UCS search. The user could select a start and end point , providing obstacles on a board of size defined by the user. The program would then calculate the most efficient way to the end goal using a heuristic.


This is the game Snake created in Java. You move the snake using arrow keys and you need to eat the green food that appears. You cannot crash into yourself or crash into a wall or you loose. When you die , if your score is great enough , a high score is set.
Download code
Download Jar file

Path Finding Algorithm

This is a path finding algorithm I created. The user can draw a path of their choice and the program will calculate a route to the end goal. This algorithm uses a heuristic I created and will simply try to get as close to the end goal as possible.
Please note: More updates coming to this path finder.
How it works
Download Jar file

Haskell string compressor

This program was designed to be fed a string and compress it. It does this by sequencing the letters and putting their corresponding occurance in a list form. The user was also able to decompress strings by calling a decompress function.
View code