Assignment 2 for EE2024 Programming for Computer Interfaces at National University of Singapore.