Resume PDF available here
Built a multi-threaded game with a GUI for a variable number of manual players or robots
Monte Carlo algorithm for robot logic using an advanced heuristic and BFS board analysis
Game state memory for an unlimited move undo-ing
Wrote an implementation of the malloc library including "malloc," "calloc," "realloc," and "free"
Linked-list style memory overlay for keeping track of free and in-use memory sections
Efficient merging of free memory spaces. Memory divisions rounded to nearest 16 bytes for hardware efficiency
Device driver build for the MINIX-3 (Mini Unix) Operating System to hold a secret message
Message can only be read once and only by the owner. Ioctl call for transferring ownership
Integration with the MINIX-3 message passing system for interprocess communication
Created a Unix Shell program to execute commands and arguments as well as asynchronous execution of multiple commands and arguments through pipelines
Supported file redirection for input and output
Created a semi Object-Oriented hash table in c that was designed to be added to any project
Memory allocated dynamically based on the type of data needing to be hashed
Hash function flexibility based on hash object type. Defaults to an implementation of Murmurhash
Efficient rehashing, and separate chainging used for collisions
Designed and programmed a 2D Object-Oriented world simulation with various types of entity characters and independent behaviors/interactions with other entities
Wrote an implementation of the A-Star pathing algorithm to allow for real time path correction while entities navigate to their destination
Completed an LZW compression program that can handle both text and binary files
Trie data structure used to maximize runtime and greatly save on space complexity
Bit-packing algorithm written to efficiently write the compressed output
Programming project as a case study into ARM architecture
Built an ARM Thumb simulator to examine performance metrics of a given program
Handle a subset of the ARM Thumb instruction set including more than 30 instructions
Designed, planned, and hand-coded this portfolio website
Bootstrap and intensive CSS styling used to handle dynamic page re-sizing and mobile phone screen sizes
JS and JQuery for selective features