I worked on an honours project worth 30% of my overall BSc Degree. The project was to build an online tool which can be used by computer programmers to decide which programming language is best to use given their problem domain - "an online tool to choose a programming language".
Along with 3 peers, I carried out a presentation discussing blockchain technology, and more specifically answering the question can blockchain technology be used to turn supply chain into demand chain?. We argued that although this was currently a widely unexplored area of blockchain use, it could be used for this purpose and it would be a good investment for the example scenario we were provided with.
For my Computing in the classroom module, I worked on a personal project which involved taking the lead in teaching the class and carrying out a report. I decided to use this opportunity to teach the third year class I had been working with how to create Android apps using an online tool called Thunkable. I also prepared some introductory material allowing me to teach the class some of the fundamentals about mobile application developmnent.
This coursework assignment involved transforming a relational database, storing information about airports, airlines and flight routes, into a NoSQL system with the aim of increasing the speed of response time for retrieval of the data. We used a subset of data from the open flights website which contained 6162 airlines and 7184 airports, connected by 67663 routes. These routes were between 6649 cities in 260 different countries.
This coursework, to be carried out for my Biologically Inspired Computation module, involved writing a Multilayer Perceptron (MLP) artificial neural network to carry out function approximation.
This coursework, to be carried out for the Biologically Inspired Computation module, involved writing an evolutionary algorithm to solve the travelling salesman problem, using a dataset containing the latitude and longitude of 980 locations in Luxemburg.
These 3 assignments involved using the WEKA 3 program to load in and analyse datasets from a number of different domains and write a report on my findings. I carried out data analysis using techniques such as attribute selection, clustering and Bayesian networks.
I worked with a partner to produce a program which could find the shortest path between points on a grid using the A* search algorithm. The second part of this assignment involved writing PDDL scripts for different scenarios.
Built the front end of a compiler for a simple, fictional programming language called 'FUNC'. This involved creating a C program to perform lexical analysis and a recursive descent parser which carried out syntax analysis and produced an Abstract Syntax Tree (AST).
Worked in a group of 5, which later dropped to 4, to produce a database for a fictional parcel delivery company. This had to be done from scratch, i.e we had to come up with our own scenario and conceptual model, then had to come up with a relational schema before implementing it in MySQL. We also came up with test data to populate the database, queries and indexes to improve efficiency. The final stage of this coursework was to connect it to a Java application which had to access the database securely and without risk of SQL injection.
This coursework assignment involved using the graph data structure to store information about airports and the costs to fly between them. A user could then enter which airports they wanted to fly between and the program would use Dijkstra's algorithm to find the shortest (cheapest cost) path. It was also intelligent enough to choose a path through multiple airports if that was the cheapest option.
This assignment involved writing an SML program to translate between the regular lambda calculus and another form called item lambda calculus. We were given some starter code but had to change it to work with item notation as well as regular notation and we were also given a long list of tests to carry out on our solution.
This was one of the first coursework assignments I undertook at university and was done individually. It involved creating an Android app for mobile phones using the online application MIT App Inventor, which uses block programming. We later worked on a currency converter app in Java using the Eclipse IDE.
This project was carried out individually for the Software Design module I undertook in second year. It involved coming up with a full design for a website to be used by a fictional shoe shop. I had to submit a report with a number of different design diagrams including use case, sequence, class, activity and state-machine diagrams. We also had to outline the functional and non-functional requirements of the system.
Worked independently to write a program which would take a JSON script of mathematical expressions as input and output their evaluations.
Worked in a group of 5 where we were given the task of coming up with the idea of a product that we thought would help people. We were told not to restrict our idea with current technology. Our idea, a robot guide dog had to be branded and designed from scratch, and we presented to the class the reasons why we thought it was a good idea. Click here for the presentation slides (pdf). We were also asked to carry out a usability test at an expo on a prototype version of our guide dog, and we came second in the class vote for best idea.