This is a repository for my notable coursework and major projects that I've completed throughout my university career. Some of these projects were completed at the University of Utah Computer Science program, and some of them were completed at Boise State University Computer Science program. Each directory is for either a notable course, or a major project. Below is a table of contents, and each directory also has its own README with information on what it is and how to build it.
TODO update each assignment in systems-programming with its own readme.
- Assignment 1: x86 Processor Emulator
- Assignment 2: Binary bomb, an exercise in reverse-engineering and decompiling
- Assignment 3: Code optimization in C
- Assignment 4: A small shell with forking, signal handling, and piping
- Assignment 5: Custom memory allocator, essentially a reimplementation of 'malloc'
- Assignment 6: A concurrent TCP server in C
This project is a custom codec integrated into ffmpeg, and a program that uses this codec to create an animation of a ball bouncing over an image.
This project is a collaborative spreadsheet with a centralized server and many clients. The server keeps track of all the spreadsheet data and many clients can connect and make changes simultaneously.
These projects build up a local spreadsheet editor in C#. The ultimate result is a spreadsheet program. This project is the basis for the cloud spreadsheet client that I made in Software Engineering II.
- Assignment 1: Compressing a sound wave using the discrete cosine transform
- Assignment 2: Implementing Bresenham's rasterization algorithm for lines and circles
- Assignment 3: Computing normals for and making the Utah Teapot rotate
- Assignment 4: Implementing skeletal animation and skinning algorithms
- Assignment 5: Implementing ray tracing algorithms
- Assignment 6: Final project. This project actually turned into Voxography.
This is a recreation of the 1977 arcade game 'Space Wars' in C# with full multiplayer support.
Miscellaneous assignments as I was learning about basic data structures and algorithms. This class went over searching algorithms and trees and basic stuff like that.