COM1001 - Introduction to Software Engineering

Academic Year

This module was aimed at introducing students to the world of Software development and how its used in industry. During the autumn semester the module was focused on developing an understanding of the Software life cycle through methodologies such as Agile, Waterfall, Scrum, Spiral, Extreme Programming. It also covered the legal and moral side of software development and how we can adhere to the ethical code.

Towards the end of the semester we began planning for our Spring semester software product in which we worked as a team to create a piece of software for an imaginary client. We planned for this using what we had learn about by creating acceptance criteria, developing user stories, distributing workloads amd building upon peoples strengths.

The project was to develop a twitter based pie company in which customers could tweet us their order and using a stored database of user address details provided by the customer they would get a pie delivered to their door.

Grade: 81%

COM1002 - Foundations of Computer Science

Academic Year

This module set out to develop our understanding of the mathematical principles that are the foundation of computer science. The autumn semester covered propositional logic, Set theory, Boolean Algebra, Predicate Logic, Proof strategies, Functions and relations, Recursion and induction.

The second semester was focused on building upon the first semester expanding into the fields of integers, modular arithmetic, matrices and matrix algebra, linear equations, probability theory, variability and processes.

Grade: 77%

COM1003 - Java programming

Academic Year

This module was set as an introduction for students who haven't programmed before and introducing them to Java. It aimed to get all students to have a clear understanding of Object Orientated Programming as well as how to effectively write clear and maintainable code.

Grade: 78%


Assignment 1: Image parsing

Image parsing assigment

Given a text file of 32,400 capitial letters representing encrypted data of an image of a camel. The task was to read this file and decrypt the content which would then be drawn to the screen. We would then have to overlay additional content such as horizon lines, stars a body of water. It was testing our understanding of arrays, loops and graphical processing using Swing.

Assignment 2: Chess

chess assigment

The assignment was our first major assignment for this module and its aim was to produce a Java program that would allow a human to play a game of chess either against a fellow human (locally) or against a simple AI. We were provided with a basic class structure to reduce the solution space for the assignment. Its main aims were to test our understanding of inheritance, exception handling, threads and graphical processing.

The assignment was made more interesting by requiring us to create both a console and graphical UI. The game was to have illegal move detection and a basic end game detection.

Assignment 3: Lego mindstorm

Lego Mindstorm assigment

The assignment was to program a Lego Mindstorm robot to follow a black line unaided. Then to take a ball and transport it back to the starting point with the aid of a human controller. This was to be done using a light sensor. The assignment was the first team bases assignment and we worked together to create an efficient solution.

COM1005 - Machines and intelligence

Academic Year

This module was set as an introduction to Artificial intelligence and the key problems that litter the field. In the autumn semester it introduced how hardware and software are used together to create a physical system which can mimic natural behaviours. During the spring semester we took what we had learn over the previous semester and applied it to computational exercises, developing solutions for assignments in Java.

Grade: 62%


Assignment 1: Warrior's problem

Warrior's problem assigment

The assignment was based on the old game of Warrior's in which you are tasked with seizing a treasure chest which is at the bottom of a pit. The warrior can move in the surface and carry a single object. There are ladders which have to be moved to the pit so you can climb down. However there might be snakes in the pit and so you have to use a rope to haul the treasure up. This was implemented using the STRIPS operator AI.

Assignment 2: Rambler's problem

Rambler's problem assigment

The assignment was to calculate the best walking route from a start to an end point for a given terrain/height map. The target was a route which involved the least effort, which is calculated as a combination of how far you walk and how much elevation change occurs. The assignment resulted in experimenting with different search strategies such as Dijkstra and A* all with varying estimation functions. My findings resulted in the conclusion that A* with Euclideon3D was the most efficient and resulted in the optimal result every time.

COM1008 - Web and Internet Technology

Autumn Semester

This module was set as an introduction to web technologies and the basics of networks. It taught some of the major web languages, HTML, CSS, JavaScript. It also taught about information security and the protocols behind them.

Grade: 90%


Assignment 1: Universisty café website

The assignment was to create a mobile first responsive website for the university café. We were given some requirements which we had to follow. The system was written in HTML, CSS, JavaScript. The assignment wasn't just focused on the development of the system but instead focusing on the requirement capture, site map, mock-ups and accessibility concerns as well as how we would take on the legal issues of using and storing information online.

Assignment 2: JavaScript animated face

JavaScript animated face assigment

The assignment was to test how well we can use JavaScript with the HTML5 Canvas and the DOM. The task was to create a graphical application in which an animated face is drawn (using the canvas) and different expressions are produced using buttons on the DOM. I also implemented some extra features like the eyes tracking the mouse and interacting with the mouth and eyebrows.

COM1009 - Introduction to Algorithms and Data Structures

Spring Semester

This module was set as an introduction to the design and analysis of algorithms and what it means to make an efficient algorithm. The module topics were: Data structures; Design and analysis of sorting algorithms, design and analysis of graph algorithms; Algorithmic design paradigms.

Grade: 70%

FCE1001 - Global engineering challenge

January Week 1

This module was created so that students in the engineering department can work with and develop skills with students from other faculties. All teams were focused on projects relating to Kibera the largest slum in Kenya and how we can use engineering to help the people there. My chosen project was on the aid of the Eradication of mosquito based malaria. my group consisted of some Biomedical engineers along with an aerospace engineer and a general engineer.

Our final product was a system which uses microphones to detect the frequency of female mosquitoes and would then warn the residents of the potential danger in the area. A demo of the software behind it can be found here. Throughout the project our team utilised the PESTLE and SMART analysis methodologies throughout our project so that we could effectively analyse and conceptualise the aim of the project.

After completing the week long project, I had learnt a lot about how to effectively work with a team and how to communicate ideas and high level concepts to people who may not have an in-depth knowledge of a particular field. I also gained valuable experience in how to present and demonstrate a product to a large group of people and how to engage people in a presentation.

Grade: Distinction

PSY101 - Discovering Psychology

Autumn Semester

This module was set as an introduction to the world of psychology and the principles behind it, exploring the how it is used to help all ages and how its developing. It covered many topics including Memory, Perception, Development, Neuroscience, Social, Individual differences, Clinical.

Grade: 37% (Conceded)