As part of a 10-person group, I helped build an application to supplement money management and sharing costs. The app allows for users to set a target limit to their expenditures and share expenditures between different users. It also shows an analysis of expenditure history and some other gamification features, such as ‘house points’ and leaderboards.
Development
This application was developed using Django framework. Most of the code is written in Python; however, this is accompanied with HTML, CSS and JavaScript. The application was developed using an agile approach. The project was completed with unit testing to verify the full and correct functionality of the programme.
A Python implementation of artificial intelligence search algorithms to solve problems within the Berkeley Pacman environment. AI concepts are applied to the classic arcade game. I have programmed the Pacman agent to use Markov Decision Process’ logic to maximise the utility of the paths it takes.
Development
Python 2 was used to implement Pacman’s logic. Markov Decision process included value iteration and Policy iteration to maximise utility of each move. The positions of ghosts and food was used as the main components of calculations.
As a group of 4, we developed a GUI for exploring and comparing properties that are available for temporary rental in London. We utilised a real-world data set of the London property market, from Airbnb. The application is designed to process and display the data from the database in a digestible form for a user.
Development
Java FX was used to develop this application. We used APIs for the weather forecast to be able to get updates in real time. The purpose of the application was to be a simple user interface; therefore, the view is made to be a series of panels that acted as containers for separation of buttons and main views. The focus for this project was code elegance, maintainability, documentation and readability.
My first attempt as a programming project. The game is simple; Once you press play, you need to eliminate the zombies and jump over the obstacles on the ground. This was alongside detailed documentation of the development process.
Development
I created this video game using Pygame. This game was created using an agile development approach. The characters were drawn and animated to run, jump, aim and shoot. The game is complete with navigation through different screens and a score count. The entire process of research, design, implementation and testing is fully documented.
Dissertation - Graduate skills vs. Industry requirements project
Overview
My dissertation for my bachelor’s degree consisted of a research project on bridging the gap between graduate skills and industry requirements. The backbone of this project was collecting data and processing it to conclude the skillset the average graduate has, and the top requirements that industry has. These findings were mapped to each other to find the gaps. This software created was accompanied with an in-depth dissertation document.
Development
I conducted extensive research on the subject collecting data from across the web. Experiments included the creation of Python web scrapers, data mining using Python NLTK library, and a final website which processed a database to output graphical analysis of patterns found. This website presented a database of information into an easily digestible format. These patterns were then used for proposals of improvement to future academic curriculum.
In this pair-programming project, we developed a food chain simulation to simulate the population of different species in an environment where different weathers, times of day, disease, and competition exists. The simulation can be sped up, slowed down and limited to the number of specified steps.
Development
This simulation project was a modification of a simple simulation project made using Java FX. It was built using BlueJ. Several species were added with differing behaviours. Some species slept for example at night, some multiplied faster than others, the night and day influenced certain species (e.g. plants didn’t grow at night). These factors all contributed to the extinction or survival of species in the food chain.
Scheduling System
Overview
As part of a small group project, we created an application to aid scheduling lessons. The application allows access to different tools depending on your account’s authority. For example, as a director, you have access to all controls. Admins have less access than directors, but more than a student. Each student can request lessons, which are then confirmed and scheduled by either an admin or director. The student can then see the lesson added to their online timetable.
Development
This application was developed using Python and Django. There was also basic HTML and CSS. The tasks were split between members of the group, and we opted for an agile approach; I mainly dealt with the student timetable and automatically adding proved lessons to it, and the sign in and access rights. The project was completed with unit testing.
Spending Tracker
Python
JavaScript
HTML
CSS
Pacman AI
Python
Property Viewer GUI
Java
Platformer Game
Python
Dissertation - Graduate skills vs. Industry requirements project