Language: Python 3 | All GUI based work requires John Zelle's graphics.py along with Tkinter
- Thanksgiving Card
- Graphical Thanksgiving card
- Vigenere Chipher
- GUI for encoding plaintext with the vigenere chipher
- Tic Tac Toe
- Graphical two player tic tac toe game
- Bumper Cars
- Graphical simulation
- Hangman
- Graphical hangman game
- Guesses
- Graphical guessing game
Language: Java
- Dice Simulation
- Command line dice simulation and analysis
- Enigma Machine
- Command line enigma machine implementation
- Word Ladder
- Command line tool for finding "word ladders" between two english words
Languages: C and MIPS32 Assembly | Not Uploaded
- Compiling and Decompiling
- Converting C to MIPS and vice versa
- Assembling and Disassembling
- Convering MIPS to machine code and vice versa
Language: Java
- List Abstract Data Type (ADT) Implementation
- Implementation of an ordered singly linked list that uses arrays as a base data structure
- List ADT Personalization and Algorithmic Analysis
- Further improvment upon the previous assignment with the additon of a palindrome detector/remover
- Performed algorithmic analysis to determine the theoretical and actual time complexities of methods
- Generic and Ordered Doubly Linked List
- Implementation of a generic and ordered doubly linked list
- Deque and Binary Search Tree Implementations
- Implementation of a generic deque structure with push, pop, inject, and eject methods
- Implementation of a level-order traversal and a method to count nodes that have one child for a binary search tree
- Ternary MinHeap and Heap Traversals
- Implementation of an array based ternary minheap and breadth first and depth first traversals
- Hash Tables and Analysis
- Implementation of a hash table and three probing functions (Linear, Quadratic, and Pseudo-random) that were analyzed and compared
Languages: C, Go, and Python 3 | Projects in OperatingSystems repository.
- Linux Process Tree
- Command line tool that reads information form the /proc filesystem and displays a process tree
- Linux Paging Simulator
- Command line tool that simulates page based memory management on a round robin scheduler
- MultiServerQueue
- Single producer/multiple consumer queue implementation
Languages: C++ and Python 3 | Projects in seperate repositories.
- Passwords and Cryptography (PasswordCracker-345)
- Multiprocessed password cracker that generates guesses using various rules
Language: SQL | Not Uploaded
- Relational Algebra
- Tuple Calculus
- SQL Queries
Language: Java
- Graph ADT
- Implementation of a Graph ADT using an adjacency matrix
- Implementatin of Kosaraju's algorithm for computing strongly connected components
Languages: Python 3, PHP, Bash
- Software Engineering Blog
- Term Project
- Designed and implemented an automated testing framework for an open source project
Languages: Scheme, SML, Prolog, C Topics included imperitive and declarative programming, language theory, as well as programming language translation.
Topics included boolean logic, sequential circuits, and CPU architecture.
Contributions to the Zulip project.
Language: Python (Pandas, scikit-learn) Topics included a variety of supervised and unsupervised learning techniques such as artificial neural networks, decision trees, nearest neighbor classifiers, k-means clustering, support vector machines, etc.
Language: Java Android development topics included application lifecycles, persistent data solutions, cloud platform integrations, etc.
- Odin (Private)
- Android app which implements cross platform search over services including GitHub and GitLab