University

About

Here you can find a full summary of my time at the University of Sheffield.

Year 1

Introduction to Software Engineering

Achieved 77%

Introduction to the core concepts of software development lifecycles.

Assignment: Developed a University-focused social media app project for fake clients (volunteer MEng/MComp students).

Ruby Sinatra RSpec Git HAML

Java Programming

Achieved 72%

Learnt the core principles of Java, OOP, graphics, and developing GUIs.

Assignment 1: Simple unit converter. Formatting and spacing of output marked scrutinously.

Assignment 2: Use a simple graphics package to draw a coloured pixel art of some ducks based off of a .txt file.

Assignment 3: A health statistics UI. Basic GUI panel was given but the entire graph system needed developing with sample data.

Java

Foundations of Computer Science

Achieved 74%

Introduction to the mathematical fundamentals in computer science.

Machines and Intelligence

Achieved 64%

Learnt the history fundamentals of AI. Introduced to path-finding techniques such as breadth and depth first search and A*

Assignment: Developed an 8-puzzle solver using the aforementioned path-finding algorithms.

Java

Devices and Networks

Achieved 88%

Learnt about logic gates and basic networking concepts.

Logisim ASM

Web and Internet Technology

Achieved 77%

Learnt the fundamentals of basic web development

Assignment: Developed a basic website about a fictional toy company. Website had to be "mobile-first" and include a "click on the right picture" game.

HTML CSS JavaScript

Introduction to Algorithms and Data Structures

Achieved 76%

Learnt about the fundamentals of algorithms, covering concepts such as sorting, greedy algorithms, dynamic programming, and recursion.

Year 2

Data Driven Computing

Achieved 61%

This module builds off of Machines and Intelligence, introducing us to machine learning and the statistics behind it.

Assignment: Develop an automatic wordsearch solver using Naive Bayes and k-Nearest Neighbours.

Python NumPy Pandas

Systems Design and Security

Achieved 62%

Building off of Java Programming, this module focuses on building systems from the ground up.

Assignment: Developed a "bike shop" system from the ground up using Java for the base code and frontend, and MySQL for the database.

Java MySQL

Functional Programming

Achieved 82%

Learnt how to program in Haskell. The project was a WW2 Enigma machine and Bombe simulator entirely in Haskell.

Assignment: An assignment themed around the Enigma machine and the Bombe. It was split into 3 tasks:

  • Task 1: Emulate the encryption and decryption of the Enigma machine.
  • Task 2: Create the menus and cribs used in the Bombe.
  • Task 3: Emulate the decryption mechanism of the Bombe.

Haskell

Automata, Computation, and Complexity

Achieved 72%

Building off of the DSA module, covering automata, and computation & complexity theory.

Robotics

Achieved 63%

Learnt about the various techniques and algorithms employed in modern robots.

Assignment: Programmed a robot to observe its surroundings and complete challenges using Python, OpenCV, and ROS.

Python ROS OpenCV

Logic in Computer Science

Achieved 65%

A refresh of the propositional logic and predicate logic from the year before, but also introducing automated proofs and temporal logic.

Software Hut

Achieved 67%

Assignment: A 1 semester project where we had to develop software for a real client: a lecturer in the Department of Music. We listened to their requirements and developed a web-based grade management system for Postgraudate Taught (PGT) students in Ruby on Rails. We made use of GitLab for version control and employed an Agile development methodology. Like the year before, we used RSpec for testing.

Ruby Ruby on Rails RSpec Git HAML

Year 3

Finance and Law

Achieved 79%

A compulsory module for all students in the Faculty of Engineering. Introduced us to basic accounting, business practices, contract law, law of tort, and intellectual property law.

Text Processing

Achieved 79%

Introduction into the world of Natural Language Processing. Learnt about text compression, information retrieval, sentiment analysis, and information extraction.

Assignment 1: A document retrieval system

Assignment 2: A sentiment analysis program

Python

German Intermediate

Achieved 72% (both semesters)

Chose to do a language as two of my optional modules (one per semester), achieving an A2/B1 standard.

The Intelligent Web

Achieved 55%

Assignment: Developed a progressive web application in Node.js. Made use of advanced web development concepts such as service workers, indexedDB, and knowledge graphs.

JavaScript Node.js Express.js HTML CSS

Computer Security and Forensics

Achieved 77%

Learnt about the DES/AES encryption algorithms, how to break them through linear cryptanalysis, hash functions, and the Diffie-Hellman key exchange. We also dabbled a bit into penetration testing with XSS and SQL injection attacks.

Linux

Software Testing

Achieved 71%

A proper dive into how testing is done in the industry, which helped me on my placement a lot. Learnt about unit, integration, & regression testing, coverage criteria, mutation testing, and fuzzing.

Java JUnit

Cyber Security Team Project

Achieved 69%

Assignment: A group project involving numerous tasks: threat modelling, incident response, asset protection, firewall configuration, and a cyber-security-themed podcast.

Linux

Dissertation Project

Achieved 68%

For my dissertation project, I developed a lyrics-based music recommendation application. I trained 3 models: GloVe, Word2Vec, and Latent Dirichlet Allocation (LDA) on a dataset consisting of around 100,000 songs, then used those vectors to make a recommendation from a query song. To evaluate the project, I created a survey and allowed my peers to test my application.

Year 5

3D Computer Graphics

Grade Pending

Learnt about both theoretical and practical concepts in the field of 3D computer graphics. All coding was done using the Java OpenGL library.

Assignment 1: A 3D scene demonstrating adequate lighting and texture mapping techniques. Assignment 2: A report on how we can make 3D statues look more realistic.

Java JOGL

Machine Learning and Adaptive Intelligence

Grade Pending

Learnt about the various techniques employed in the field of machine learning such as linear and logistic regression, decision trees, neural networks, and Gaussian processes.

Assignment: A report on the implementation of some of the aforementioned techniques, with sufficient reasoning and justification.

Python NumPy Pandas PyTorch sklearn

Genesys

Grade Pending

Learning about working in a start-up from the ground up. Conducting interviews, writing business models, following Agile methodologies, and of course developing an actual product.

Assignment: We are currently developing a node-based roadmap in order to provide a more visual way of tracking progress and journeys.

Ruby Ruby on Rails RSpec Git

Turing Project

Grade Pending

A group dissertation module with a chance for the final report to be published.

Assignment: We are conducting research on whether research software in published conferences are FAIR.

Extracurricular Activities

Ice Hockey

Played ice hockey for the University's 4th team. Represented the University in the varsity competition in 2023 & 2024.

Rock Band

Sang for a student rock band consisting of peers from my course. We called ourselves C Sharp...

Go back