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).
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.
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.
Devices and Networks
Achieved 88%
Learnt about logic gates and basic networking concepts.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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...