A collection of projects aiming to simulate the different processes of hardware. Coded in C and Assembly via Visual Studio Code.
Focuses on assembling files into machine code, linking files together, running code through a pipelining process (taking into account data and control hazards), and simulating cache. Additional small projects to test ability to translate C functions into Assembly code.
Concepts applied: C, Assembly, ISA structures, file assembly, linking files together, symbol and relocation tables, binary to hex to decimal representations, understanding of pipelining and data/control hazards, caches, bit manipulation
Link to codeA project aiming to test usage of various ADTs and knowing how to maximise runtime and efficiency. Coded in C++ via Visual Studio Code.
Read in log files and allowed users to perform timestamp, category, and keyword searches to create an excerpt list of relevant entries.
Concepts applied: Optimal ADT structures, improving runtime and storage efficiency, evaluating different representations of the same data
Link to codeThis project focused on creating algorithms to produce minimum spanning trees based on greedy algorithms, TSPs, and optimal algorithms. This project was coded in C++ via Visual Studio Code.
Themed after Among Us, the project focused on determining the minimum possible values to travel between points based on the constraints of the player characters (Ghost vs. Imposter vs. Crewmate).
Concepts applied: TSPs, graph heuristics, greedy algorithms, optimal algorithms, minimum spanning trees
Link to codeA project that uses priority queues and running medians, as well as implements various STL features of common priority queues (BinaryPQ, Sorted PQ, PairingPQ). This project was coded in C++ via Visual Studio Code.
This project aimed to simulate a stock market using Star Wars as a theme--with buyers and sellers as Jedis and Siths, and battles being the profit. Movie watcher mode is meant to give an overview of the entire simulation to determine what the most effective stocks to buy and sell would be.
Concepts applied: priority queues, stacks, running median, optimal ADTs, enums
Link to code