Projects

Database Systems

bustub

A series of hands-on database system projects that build a fully functional RDBMS from scratch. Implemented key components including a buffer pool manager, B+ tree index, query execution engine, and concurrency control — all in modern C++.

C++ SQL

Operating Systems

pintos

A teaching operating system framework for the x86 architecture, designed to deepen understanding of OS internals through hands-on development. Over a series of labs, I implemented kernel thread scheduling with priority donation, user program loading with system calls, demand paging for virtual memory, and memory-mapped file support. Each component was built in C and tested on x86 emulators like QEMU.

C x86

Systems Programming & Computer Architecture

CMU 15-213 labs

Hands-on systems programming projects covering topics such as bit-level data manipulation, reverse engineering, memory hierarchy optimization, dynamic memory allocation, and network programming. Implemented a custom memory allocator, developed a Unix shell, and built a concurrent web proxy, gaining proficiency in C, debugging with GDB, and understanding low-level system operations.

C Assembly

CS61C: RISC-V CPU

Designed and implemented a fully functional RISC-V CPU using Logisim Evolution. The project involved building datapath components (ALU, register file, control logic, etc.), integrating instruction decoding and execution for multiple RISC-V instruction types (R, I, B, S, J), and handling control flow and memory access. Developed a simple pipelined architecture and validated correctness through extensive testbenches.

C Linux