By working on several large codebases I've gained the ability to jump into new projects and rapidly understand them; a skill that allows me to quickly start fixing bugs and implement new features.
Using C++ throughout my placement has earned me an in-depth understanding of it, which I've used to solve problems effectively on top of fixing issues such as cross-platform bugs and undefined behaviour.
I've learnt how to use Xcode to develop for Apple platforms, and used LLDB extensively to debug large applications and fix obscure bugs.
Expected graduation: Summer 2020
Year averages: 1st: 88%, 2nd: 80.25%
Dissertation project: Mining and analysing public government data of busines investments, applying some machine learning techniques to find relationships and perform predictions.
Some exam results I'm proud of:
- Programming Paradigms • 99% As an introduction to the object-oriented and functional programming paradigms, we used Java to make a simple card-matching game, and Haskell to make simple but expressive programs
- Programming & Algorithms • 94% We learnt the usage of pointers and manual memory management through learning C, as well as a variety of data structures and algorithms
A C++ emulator for the 6502 microprocessor, work in progress
A website providing a catalog of Free and Open Source Software projects that accept donations.
Users would be able to contribute projects and their donation links, receive regular emails reminding them to donate, and recommend projects they could support.
An addon for the game Garry's Mod. It allows players to create, join, and manage groups within a game server. Players can set a bulletin, manage their members and the group's bank account.
I personally created a minimal website that a business could use to provide contact information and show off their services
It provides support for displaying in multiple languages.
PHP was used for routing and translating the website's content
An adaptive CSS stylesheet makes the website usable on both desktop and mobile devices
Page transitions are performed through AJAX requests
In my spare time I also enjoy archery, baking, and fiddling with open-source software.
My personal computers run a distribution of GNU/Linux, so I've a good understanding of how to install, use, and maintain such systems.
I've completed some exercises on Root Me to test my knowledge of computer security and learn more about it.
I worked with CoderDojo at an event that introduced young people to technology and software development.
I supported attendees who learned about programming with Scratch and the BBC micro:bit, as well as web design using HTML & CSS.
Throughout the school year, I helped run a weekly Programming Club with about 30 attendees, aged 13–17.
I organised programming challenges for attendees to complete, and set up Raspberry Pis for attendees to tinker with.
During the club, I taught the basics of programming & algorithms, helping attendees with the challenges and activities.
Communication skills: Teaching attendees improved my ability to communicate clearly and concisely
Teamwork: I and the other club organisers regularly collaborated to prepare activities & challenges and advertise the club
Organisation: Planning and organising activities developed my ability to manage my time, as I worked around my studies to help keep the club running
I worked weekends at a local Cancer Research UK retail shop with other volunteers. I performed several roles, including working at the till, organising the store, and managing stock.
Communication skills: Working at the till boosted my communication and people skills while ensuring that customers had a good experience with the charity
Teamwork & organisation:Working with other volunteers strengthened my team-working, as we shared multiple roles and performed different jobs, working together to meet sales goals
Available upon request