Education

Southern New Hampshire University

Computer Science Bachelor • 2025

Staunton River High School

High School Diploma • 2015

Projects

Code Review

You can find a YT Link to the Code Review of these Projects [here](https://youtu.be/QB4pWzO4TVo).

This Liar’s Dice project is an object-oriented C++ implementation of the classic bluffing dice game. Originally developed in an earlier programming course, the game featured core gameplay mechanics such as dice rolling, player turns, and simple win conditions. For my enhancement, I refactored the project to follow modern software engineering and design principles, focusing on modularity, readability, and maintainability.

The enhancement introduced the State design pattern, allowing the game to transition cleanly between bidding, challenging, and revealing phases. I improved code structure by separating functionality into classes (Player, Game, and distinct state classes), added comprehensive inline documentation, and introduced input validation to prevent crashes or logic errors.

This Course Planner project was originally created in CS-300 to demonstrate core data structure and algorithmic design principles. The program reads a CSV file of university courses and their prerequisites, organizes them into a binary search tree (BST), and allows users to search, view, and print a course list in sorted order.

For the Algorithms and Data Structures enhancement, I improved the program’s efficiency and functionality by implementing Kahn’s algorithm for topological sorting and an inline graph visualization feature. These additions allow the system to generate a valid course completion sequence and display course dependencies in an easily readable format. The enhancement demonstrated my understanding of advanced algorithmic principles, graph construction, and data traversal while preserving the integrity of the BST structure.

Building on that foundation, the Database enhancement replaced the static CSV parser with a dynamic SQLite database that supports full CRUD (Create, Read, Update, Delete) operations. I encapsulated database logic into a dedicated Database class and implemented transactional safety, parameterized SQL queries, and persistence across sessions. These improvements transformed the project from a simple console utility into a scalable and professional-grade system capable of real-world data management.