Jack Morrison

Imperial College London


C Project

May 2018 - June 2018

This project was completed in the final term of my first year undergraduate studies. It entailed creating an ARM11 Emulator and Assembler in C, then using these in combination with a Raspberry Pi to control an LED.

The final part of the project was the extension, where we chose to recreate the classic game of snake on a 32x32 LED matrix. We did this by using a hat fo the Raspberry Pi to connect it to the matrix, and created 4 modes for the game, one of which was an Artificial Intelligence. We also created an arcade-machine inspired box for the project, and created all of our own sounds too.

Unfortunately the code for the emulator and assembler cannot be shared here as the task will be reused in future years, however more information on our extension can be found here.

Deep Learning in Medical Imaging Analysis

January 2018 - March 2018

This project was undertaken as my first year group project, and involved creating a website discussing the uses of AI in Medical Imaging Analysis.

Our main areas of research were to look into the history and evolution of medical imaging and machine learning as separate topics, and then find areas in which they overlapped. We looked at Convolutional Neural Networks, along with Semantic Segmentation, as these are the most commmonplace in medical imaging. We then looked at overlapping topics, these being the uses of AI in radiology, and a deeper case study into the user for detection of lung cancer.

We had to create a website to display all of this information, which can be accessed here.

To What Extent are Computer-Assisted Proofs Valid?

September 2016 - May 2017

This project was completed as my Extended Project during my A Level studies, and discussed the controversy over computer-assisted proofs.

At the start of this project, I was unfamiliar with the area of computer-assisted proofs, and mathematical proofs in general for that matter. I decided on the topic because my mathematics teacher had discussed it in a lesson and I was curious to find out more. He mentioned that many mathematicians, to my surprise, did not agree that a theorem which had been proved using proof by exhaustion on a computer was legitimate. I did not understand their reasoning behind it not being a proof, because I presumed that if every case was proved to be true, then the proof would have to be valid. That is why I became interested in the subject, and when that chance to write a project on the topic arose, I decided I wanted to consider it further.

My dissertation can be found here.

A Level Computing Project

June 2016 - March 2017

This project was mainly undertaken during the second year of my A Level Computing studies, with the task to create a mobile application.

I decided to create an app which could generate random GCSE-level mathematics questions for students so that they could test their knowledge. It could also check to see if their answers were correct, and had other features such as a leaderboard with friends, and streaks to encourage daily use. I made the application for iOS devices, and so had a lot of experience with the Swift programming language and XCode. This project was a fun way of teaching myself a new programming language from scratch, as I was never taught it in a formal environment. This meant I became used to using manuals for the language to look up syntax and specific features of the language, which was a great learning experience.

The source code for the application can be found on my GitHub here.