Hello, I'm Jack Harris, a 21 year-old undergraduate studying Computer Science at Jesus College, Oxford!

I am currently in my fourth year of reading Computer Science at the University of Oxford, and have been awarded exhibitions by Jesus College for high academic achievement for all three years of my course. This year, I will be taking modules on Concurrent Algorithms and Data Structures, Computational Game Theory, Law and Computer Science, Computational Medicine, and Knowledge Representation and Reasoning. I also plan to attend lectures on Category Theory and on Computer Vision. My fourth year project will involve building advertising infrastructure for SoLiD and assessing its efficacy through user studies.

In my third year, I attained a first-class grade, taking modules on Artificial Intelligence, Computer Graphics, Geometric Modelling, Data Visualisation, Computer Networks, and Databases. I also worked on a project that involved contributing to the construction of a platform-agnostic, user-friendly control panel for SoLiD under the supervision of Jun Zhao.


My Projects

MySolid, a categorisation system for SoLiD social media data

For my third year project at Oxford University, I built a platform-agnostic categorisation system for social media data stored in a SoLiD pod. I used Decision Trees and Case-Based Reasoning as two machine learning-based categorisation systems, and compared the efficacy of both using a synthetic dataset stored in a SoLiD pod. The project report can be found here.

Bluesky Data Visualisation Project

As my assessment for the Data Visualisation module I took in December 2024, I created a visualisation of the 100 earliest and the 100 most followed Bluesky accounts within a certain dataset. This was done using D3.js and was completed in its entirety in the span of 3 weeks. The visualisation can be found here, and the project report can be found here.

Microsoft Talent Finder System

I was team lead on a project at the University of Oxford that entailed building a talent finding system for Microsoft to assist in their interview system. This involved me using Trello and other management tools, alongside building an extensive amount of the backend of the project. The project was built using Django and was validated and accepted by Microsoft at the end of the development process.

Single-Transferrable Vote Election System for Jesus College, Oxford

In my role as the IT Officer for the Jesus College student body, I built the election system for the student elections within the college. I first built this system as a macro for Microsoft Excel, but I have since remade the entire system in Python to make the system more maintainable and robust. The elections in the college are constitutionally required te be run using Single-Transferrable Vote, so the system implements this voting system. It is designed to be integrated with Microsoft Forms to facilitate the use of Microsoft Nexus' organisation-wide polls feature.

Extending a Pascal Compiler with OCaml

As part of the assessment for the Compilers module in my CompSci Integrated Masters at the University of Oxford, I had to extend a pascal compiler to include open array parameters, heap-allocated arrays, and array slices. The compiler was built using OCaml, so I had to both learn OCaml and use it to extend the compiler.

IT Officer for the Jesus College JCR

I was elected as the IT Officer for the student body of Jesus College, Oxford for two consecutive terms. Re-election for a second term rarely occurs in any of Oxford's student organisations, and I believe this serves as a testament to the quality of my service in the role. I have helped many students with their various IT problems (and occasionally with the odd programming problem), set up a jailbroken Wii in the common room, built the election system detailed above, and maintained the JCR website to a high standard.

It Officer for the Oxford Alternative Ice Hockey Society

I was elected as the IT Officer for the Oxford Alternative Ice Hockey Society, colloquially known as ALTS. This involved maintaining the website, keeping all the documents up to date and updating the details of the committee as they change. This has also involved a small amount of tinkering with the software that runs our sessions, with a more comprehensive update planned for once I leave university. I also helped run the sessions by doing the majority of the announcements and commentary through the evening, and this is generally enjoyed by everyone in attendance.

Rudimentary Client for the Gemini Protocol

As part of an experiment in network programming, I attempted to build a client for the Gemini protocol, a community-driven alternative protocol to the World Wide Web. I was much more interested in the backend-side of building a client, so the client doesn't have a GUI or any nice formatting of the recieved data. It does however successfully implement a TLS handshake and interface properly with the Gemini server protocols.

Quest Log, a Gamified To-Do List

The Solid Control Panel project that I worked on in third year was built using react.js. Having no experience with react, I decided to build a to-do list with it to help familiarise me with the workflow of the framework. While this side-project is unlikely to ever be completed, the experience it gave me with react was invaluable.

This Website!

I thoroughly enjoy working with websites, and so upon realising I needed a portfolio websoite, I took the opportunity to hand-make this website! Every part of this website was made by hand, and I plan to tinker with and add to the website when I have the time. Stay tuned!