University Overview

MSci Computer Science, University of Nottingham, First-Class Honours Graduate

Key Achievements

Below highlights some of my main achievements I attained while at university.

Year 2 Team Leader - Software Engineering Group Project.

During my second year, I was the project manager of a group of 6 people. We were tasked with the development of an AR mobile app by our client MHR Nottingham. I lead the team to successfully deliver our clients vision attaining a First grade.

Year 3 Dissertation

During my third year I completed my undergraduate dissertation on "A Data-Driven Approach To Bus Timetable Optimisation Recommendations". I achieved a First (85%) and it is now being used as an exemplar project for other students.

Year 3 Lead MSci Computer Science Course Rep

During my third year I became the Lead MSci Computer Science Course Rep. I represented the views and concerns of my student peers to the school management and staff; during the COVID-19 pandemic to improve the student expereince.

Year 4 Software Engineering Group Dissertation

I and 3 other MSci students formed a group and were tasked by IKEA to produce a Home Appliance Fault Reporting system for staff, customers and installers to use. We achieved a First (85%) for our solution and dissertation.

IT Support Tutor

From second to fourth year I worked at the University as front line IT Support for staff, students & visitors. Providing online, in-person and phone support, across all three campuses . Handling a wide range of IT problems effectively.

Technical Support Assistant

During my fourth year I joined the Research Systems Team, within the team I helped deploy the new cyber security lab, re-deploy the Mac and general use labs and PAT test the Comp Sci building. I also lead a new laptop loan service and lead the purchasing, deployment and training of a new display screen system.

Academic Performance

I graduated with a First-Class, MSci Computer Science degree from the University of Nottingham. Below is a breakdown for my yearly averages throughout the degree. Year 1 did not count towards my overall degree classification/ average.

0%

Year 1 Average
(0%)

60%

Year 2 Average
(20%)

80%

Year 3 Average
(40%)

69%

Year 4 (MSc) Average
(40%)

79%

Overall Final Weighted Average

Year 4 (MSc)

Semester 2 - 2022

Software Group Project Dissertation 40cr (MSc)
"A Home Appliance Fault Reporting Software System"

During my fourth year I completed my Masters dissertation on "A Home Appliance Fault Reporting Software System". For more information about my dissertation please see the dedicated page here.

Grade

%

Computer Graphics 20cr

In this module I learnt the theory of 3D Computer Graphics, modelling, transformations, projection, lighting and adding realism. Along side the theory I learnt to program in C++, OpenGL and was tasked with producing my own complex and interactive 3D scene for my final project.

Grade

%

Mixed Reality 20cr (MSc)

In this module I learnt about the field of mixed reality, which includes Augmented Reality, Virtual Reality and Augmented Virtuality.  Including the ethical and human-computer interaction challenges associated with the medium. The module tasked me to design and produce a mixed reality experience for a museum. I made an augmented reality mobile app for a local museum, the Wollaton Hall Natural History Museum.

Grade

%

Year 4 (MSc)

Semester 1 - 2021

Advanced Algorithms and Data Structures 10cr (MSc)

In this module I learnt modern algorithms that are widely used in contemporary software, such as: Binary Search Trees (Red-Black Trees), Dynamic Programming,Graph Algorithms (e.g. shortest path, maximum flows), Amortized Analysis, Priority Queues
(Binary, Leftist and Fibonacci Heaps), String Algorithms (string matching, longest commonsubsequence).

Grade

%

Project in Advanced Algorithms and Data Structures 10cr (MSc)

In this module I had three projects to implement the skills learnt in the main module. These included producing a binary heap within Java, a Red-Black tree within Haskell and my own Seam Carving implementation using Java to reduce image sizes while maintaining the important content within the image.

Grade

%

Autonomous Robotic Systems 20cr (MSc)

In this module I gained an understanding of the hardware and software principles appropriate for control and localisation of autonomous mobile robots. For example, g basic behavioural control architectures, multi-source data aggregation, programming of multiple behaviours, capabilities and limitations of sensors andactuators, and filtering techniques. There was a heavy group-project component  to this module, where we were tasked as a team to build a robot that could autonomously navigate around its environment searching for specific objects and mapping out the room as it went.

Grade

%

Year 3

Semester 2 - 2021

Individual Dissertation 40cr
"A Data-Driven Approach To Bus Timetable Optimisation Recommendations."

During my third year I completed my undergraduate dissertation on "A Data-Driven Approach To Bus Timetable Optimisation Recommendations". For more information about my dissertation please see the dedicated page here.

Grade

%

Games 20cr (MSc)

Games was my first level 4/MSc module I completed, during it I learnt how to develop a video game using Unity game engine. From which I produced one 10min video game. I also learnt the theory of game design, game engines and software designs for large and complex multiplayer games.

Grade

%

Computer Security 10cr

In this module I learnt security management, network security; internet security; software and hardware security; and the application of cryptography in secure systems. During this module I was tasked with learning several tools on Kali Linux and how to secure and administer a Linux server.

Grade

%

Fundamentals of Information Visualisation 10cr

In this module I learnt how to use the R programming language to process data and produce graphs. I learnt about the differences in scientific and creative approaches to constructing visualisations, and how to repersent ambiguous or time-based data. I also learnt about how humans process infromation and the relevance to an effective design.

Grade

%

Year 3

Semester 1 - 2020

Professional Ethics in Computing 10cr

In this module I learnt about the social harms enabled by computing, professional codes of ethics, professional responsibilities, dependability in computing, privacy and data protection, security by design, the ethical challenges posed by contemporary computing, and responsible research and innovation. This was required for BSC accreditation.

Grade

%

Compilers 10cr

In this module I learnt about compiler design for high level programming languages, covering topics such as parsing; types and type systems; run-time organisation; memory management; code generation; and optimisation. I was tasked with writing a complier for the mini-triangle programming language in Haskell; more information can be found on the project page here.

Grade

%

Mobile Device Programming 20cr

In this module I learnt how to develop apps for Android using Android studio. This is included learning about the Android operating system, hardware architecture of mobile devices and software design for mobile apps. The module tasked me with creating a running tracker app, which I have since published onto the Google Play store; more infromation can be found on the project page here.

Grade

%

Year 2

Semester 2 - 2020

Advanced Functional Programming 10cr

In this module I built upon my knowledge of Haskell from first year and learnt about effectful programming with monads, the state transformer and reasoning about programmes. For more information see my project page.

Grade

%

Algorithm Correctness and Efficiency 20cr

In this module I learnt about reasoning, proofs in propositional and predicate logic and how to measure and improve algorithmic correctness, and efficiency, such as Big Oh.

Grade

%

Introduction to Image Processing 10cr

In this module I learnt about the fundamentals of digital images and the theory and application of applying processing, predominantly using MATLAB.

Grade

%

C++ Programming 10cr

In this module I learnt how to program in C++, it built upon the knowledge of C taught in first year and taught more advanced topics such as multiple-inheritance, memory management, smart pointers, templates, operator overloading, Functors, lambdas, function pointers and most of the common standard library functions. For the final course works I made a full video game which can be found under my projects page.

Grade

%

Languages and Computation 10cr

In this module I learnt about finite state machines, regular expressions, context-free grammars, Turing machines, lambda calculus and what can and cannot be computed.

Grade

%

Software Engineering Group Project 20cr

In this module I was team leader in a group of 6 and lead a software development team to build an augmented reality mobile application for our client MHR. For more information please see my project page.

Grade

%

Year 2

Semester 1 - 2019

Operating Systems & Concurrency 20cr

 In this module I learnt about how operating systems deal with concurrency, memory management and file systems. This included programming a process scheduler in C with threads.

Grade

%

Software Maintenance 20cr

In this module I learnt about the fundamentals of software maintenance, software design patterns, SOLID principles and industry standards for development. A large component of this module was maintaining a pre-existing code base found on GitHub.

Grade

%

Year 1

Semester 2 - 2019

Software Engineering 10cr

In this module I learnt the key principals of software engineering, from requirements gathering, to development, testing and end of life support. I spent 2hrs each week in assessed labs working in a team on various software engineering tasks.

Grade

%

Databases and Interfaces 20cr

In this module I learnt how to structure databases for fast, efficient and reliable use and complex SQL queries. In the other half of the module I was introduced to basic web development, including HTML, CSS and PHP to create a GUI front end for the database.

Grade

%

Programming Paradigms 20cr

In this module I learnt both Java and Haskell. In Java I expanded upon my knowledge of Object-Oriented Programming. In Haskell I was introduced to programming in a functional language.

Grade

%

Fundamentals of Artificial Intelligence 10cr

In this module I learnt about the history of AI, AI search techniques, neural networks, data mining, philosophical and ethical issues, and knowledge representation and reasoning.

Grade

%

Year 1

Semester 1 - 2018

Computer Fundamentals 10cr

In this module I learnt about the fundamental architecture of computers and computer networks. Which included learning about digital logic and circuits through the use of HDL (Hardware Definition Language).

Grade

%

Systems and Architecture 20cr

This module ran alongside the Computer Fundamentals module, it introduced me to ARM 32Bit programming, network programming and covered the how memory and storage are organized.

Grade

%

Programming and Algorithms 20cr

In this module I was introduced in programming in C, learning about pointers and memory management. As well as a refresh on basic programming learnt previously.

Grade

%

Mathematics for Computer Scientists 10cr

In this module I learnt the basic concepts of Discrete Maths, including sets, logic, functions, relations, graphs, induction, probability and statistics and matrices

Grade

%

Image Credits:

Image courtesy of Arran Bee on Flickr. Image license found here. No changes were made to this Image.

Image courtesy of Barry Mangham on Wikipedia, image license found here. No changes were made to this image.

All other images are my own, all rights reserved.

 Jonathan Foot  © Copyright 2024 - All Rights Reserved

Cookie Policy   • Terms & Conditions  •Contact Me