Selected exercises in Java displaying proficiency in code structure, algorithms, data structures, control flow and Object-Oriented design.
JavaScript Data Structures: Explorations of data structures in JavaScript. Includes Binary Trees, Heaps, Linked Lists and Hash Maps.
RecursivePermutator: Program that recursively finds all the permutations of a user supplied string.
SortingAlgorithmComparison: Program that populates an array with random integers and compares the efficiency of multiple sorting algorithms on said array.
HeronMethod: Program that approximates the square root of a number through iteration of subsequently more accurate estimates.
MagicSquareMaker: Program that creates a magic square based on a user supplied size.
MessagingSimulator: Program that creates a user authenticated messaging system, similar to email.
Nim: Program that plays the game of Nim on 3 different difficulty settings.
PhoneDBSortSearch: Program that reads a data set of phone numbers and names from a file and allows look up by name or number via quick sorting and binary searching.
RecursiveStringReverser: Program that utilizes a reverser class to recursively reverse a string.
TextFileReverser: Program that reverses a user supplied text file and outputs to a new file.
ThreadedQue: Program that starts two synchronized threads to populate a queue of strings and to print the string at the front the queue.
TreeSetWordScanner: Program that parses words from a text file and adds them to a tree set to find all unique words.