Projects

ISSIE Drawing Library • High Level Programming

  • Used F# and the Elmish MVU framework to develop a replacement for the Draw2D JavaScript library to be used in ISSIE.
  • The drawing library is responsible for drawing electronic schematics in ISSIE.
  • Acted as Team Lead for the project, reviewing Pull Requests and ensuring we met deadlines and deliverables.
  • Find the source code here.
  • Completed as part of the ELEC96019 - High Level Programming (functional programming) course in 2021.

Music Synthesiser • Embedded Systems

  • Developed firmware loaded onto an Arduino for a keyboard music synthesiser.
  • Core functions include using multi-threaded programming to detect simultaneous
    keypresses, play the correct frequency, display a user interface, and communicate as an IoT device.
  • Advanced features include playing different timbres, changing octaves, and
    implementing polyphony (being able to play multiple notes simultaneously).
  • Source code available on request.
  • Completed as part of the ELEC96018 - Embedded Systems course in 2021.

CPsmaRt • Embedded Systems

  • Designed a IoT-capable CPR training device using a Raspberry Pi, load cell, magnetometer, and accelerometer.
  • Used Python to communicate with hardware, and displayed the data using a Flask webpage.
  • Source code available on request.
  • Completed as part of the ELEC96018 - Embedded Systems course in 2021.

Program Optimisation • Advanced Computer Architecture

  • Optimised performance of a C++ implementation of Gaussian Belief Propagation.
  • Assessed performance and investigated bottlenecks using Intel VTune Profiler.
  • Used multi-threading, improved memory management and cached iterators to improve execution time by 33%.
  • Completed as part of the COMP60001 - Advanced Computer Architecture course in 2020.

Microarchitectural Optimisation • Advanced Computer Architecture

  • Used the SimpleScalar processor microarchitecture simulator to investigate the effects of microarchitecture changes on the energy consumption of a processor running the Smith-Waterman algorithm.
  • Optimised the processor’s microarchitectural features to minimise energy consumption, achieving a reduction of 45%.
  • Completed as part of the COMP60001 - Advanced Computer Architecture course in 2020.

A Pigment of Your Imagination • Oxford Hack 2019

  • Created an Android app in Kotlin and Java that turns photos into blank colouring stencils.
  • Implemented edge detection algorithm and scanline fill algorithms to find shape outlines and fill colours within these lines.
  • Finalist for Most Stylish Hack.

Composed • IC Hack 2020

  • Designed and implemented a program to convert monophonic audio files into sheet music by analysing their frequency components.
  • Used a Fast Fourier Transform algorithm to convert audio from time domain to frequency domain.

C to MIPS Compiler • EIE2 Language Processors

  • Wrote a compiler in C++ to generate MIPS assembly from a subset of pre-processed C90 code.
  • Wrote a transpiler to translate a subset of C into equivalent Python.
  • Used Flex and Yacc to implement lexing and parsing functionality.

MIPS CPU Simulator • EIE2 Computer Architecture

  • Developed a CPU simulator in C++ to executed MIPS-1 big-endian binaries, and created a testbench to verify the correctness of the simulator.
  • Referenced the MIPS ISA specification to ensure parity between emulated
    instructions and real hardware.

© Stackbit. All rights reserved. This Jamstack site was created with Stackbit. Create yours now

Back to top