Shadow Mapping
Developed shaders employing Phong Shading for realistic light rendering in OpenGL, utilizing C++ and CMake for robust project management. Leveraged GLEW and GLFW libraries to enhance OpenGL functionality. The project involved object rendering, vector and matrix operations, and event-driven programming for interactive graphical applications. (repo here)
Optimal Multi-Line Fitting Algorithm
Created an algorithm in Python to minimize total error for a set of input data points. Found the optimal solution by using dynamic programming to precompute sum lists in order to eliminate redundant calculations and reduce the calculations within the matrices from O(n) to O(1). My code returns a solution dictionary file along with printing out the scatterplots with fitted lines. (repo here)
Single Cycle Processor
Developed a Single-Cycle Processor in verilog. Components include an ALU, Data Memory, Instruction Memory, PC Logic, Register File, Sign Extender, Control Unit, and a Process Module for handling the wires, busses, and muxes. Handles ARMv8 instructions for register and immediate ALU operations, register loading and storing, MOVZ, and branch and conditional branch instructions. (private repo)
Linux Shell
Created a Linux Shell Program that handles environment variable management, command pipelining, input/output redirection, and foreground and background process management. Skills used - C/C++, Linux/Unix, System Calls, String Parsing, Process Management. (private here)