CS Undergraduate Work
This list collects the code that I wrote at George Fox. Some of the code in these files can be reused in other applications, and sometimes its just useful to have examples to be able to reference later.
All compressed packages use WinZip.
Each file lists the programming language that was used. In order to compile and run the files, you will need a compiler for the appropriate language. None of the files are compiled executables. Also, no guarantees that any of these files acutally work.
CSIS 201 - Introduction to Computer Science I
- Bank Account - Java
A pretty basic routine that simulates a bank account.
- Go Fish - Java
These files play a basic game of Go Fish. There is no user interaction. The game is played completely by the machine.
- War - Java
This package uses most of the same class from Go Fish, but instead plays the card game War. Again, there is little user interaction.
- ATM - Java
This package simulates an Automatic Teller Machine. It implements a GUI using Java Swing components.
- Bruin - Java
This class uses limited Java paint functions to draw a picture of the George Fox Bruin.
- Evolution Sim - Java
These classes explore the processes of a simple genetic algorithm. The focus is not on evolution or the theory, but rather the idea of making small, random changes to a system over time to achieve an end goal.
- Fractal - Java
This class paints a simple graphical representation of a mathematical fractal calculation.
- Pong - Java
The classic! This implemenatation of Pong uses limited Java paint calls, as well as a Swing GUI.
- Soda Machine - Java
This packages simulates a soda vending machine. It uses Swing for the GUI. It even has a picture of Britney Spears on it.
- Sorting Algorithms - Java
These simple classes implement a number of common sorting routines.
- Binary Tree - C++
This package implements a binary search tree data structure.
- Binary Tree Arrays - C++
This package again implements a binary tree data structure, but instead represents it in an array.
- Binary Tree Traversals - C++
This package implements a number of algorithms for traversing a binary tree data structure.
- Circular Queue - C++
This package implements a circular queue data structure.
- File Encryption - C++
This package implements a simple file encryption algorithm.
- Hash Structure - C++
This package implements a data structure that hashes data members' into a singly linked list.
- Spell Checker - C++
This package implements a simple spell checking using a dictionary of words and a hash map data structure.
- Sorting Algorithms - C++
This package implements a number of sorting algorithms, including Merge Sort.
- Raquetball Ladder - PHP, HTML, SQL
This is the complete package for the simulated Raquetball Ladder project. This was a semester-long project that implemented a front end, web-based GUI, as well a middleware system for updating and maintaining a Postgres database.
- Semester Project: The Solar System - OpenGL
This is a simulation of the solar system written in OpenGL. It incoporates a limited number of features such as wire frame models, solid models, lighting, and camera manipulation. This comes with an executable.
- Database Project - Java, SQL
This is a complete package for a movie database project. This was a semester-long project that incorporated the complete design of a database in ER, the implementation of that database using Postgres, and the loading and querying of that database using an XML parser written in Java.
- Router Project - Java
This project is a simulation of a router device. It keeps track of a routingtable, and processes various commands.
- Network Tug O War - Java
The semester project for CSIS 350 was an application of our own design and choosing that demonstrated our understanding of data communications. Brent and I made a game call Network Tug-O-War. After teams were formed, each person would have to type a word. The teams the typed the most words correctly would pull the 'rope' the hardest.
- Cube Numbers - Assembly
This program calculates all 3 digit numbers where the sum of each digit cubed is equal to the original number.
- Encryption - Assembly
This program provides a simple encryption routine for files using a key.
- Flight Duration - Assembly
This program calculates the duration of an airplane, factoring in days, given an arrival and departure time (not finished).
- Insipid Numbers - Assembly
This program test a number for insipidness.
- Palindromes - Assembly
This program determines if a given word or phrase is a valid palindrome.
- Pythagorean Triples - Assembly
This calculates all valid Pythagorean Triples of combinations of integers ranging from 1-50.
- Temperature Converter - Assembly
This program converts a temperature in Fahrenheit to Celcius.
- Binomial Coefficients - Python
This package determines binomial coefficients using different programming paradigms, namely a recursive and a dynamic programming solution.
- Dijkstra's Algorithm - Python
This package implements a version of Dijkstra's Algorithm concerning weighted graphs.
- Floyd's Algorithm - Python
This class implements Floyd's Algorithm concerning weighted graphs.
- Genetic TSP - Python
This algorithm implements a genetic solution to the Traveling Salesperson problem.
- Seating Assignments - Python
This package simulates a dinner arrangement for a 3 day conference, where each person cannot sit with any other person twice through the event.
- Sorting Algorithms - Python
This package implements and compares two sorting algorithms: Quick Sort and Exchange Sort.
- Traveling Salesperson - Python
This package attempts to solve the Traveling Salesperson problem by using a heuristic that computes the bounds of a graph.
- Clue Player - Prolog
This file implements an entity that can play a valid game of the boardgame Clue. It was a semester-long project, and uses a knowledge base developed in Prolog to assert facts and assumptions about the state of the game and deduce the winningn combination of cards.
- User Scripts - Python
Here are a couple of scripts written in Python to aid a sys admin in adding and removing uers.
- Disk Space - Shell Scripting
This is a simple script that lists disk allocation by directory.
- Memory Management Unit - Java
This is a complete solution that simulates the Memory Management Unit instantiated as hardware and implemented by OS software. The project focused on the implementation, in Java, of certain page-swapping algorithms, and the cost/benefits between them.
- Programming Language Efficiency Research - Java, Python
This course focuses on the design of a complete software system. I received the Richter Scholars Research Grant to pursue a CS related research proposal, and this also satisfied Senior Dev. My research focused on the proposed benefits of scripting languages over traditional programming languages.
- Chess - C++
This semester-long project implemented a fully working version of chess with a heavy emphasis placed on Object Oriented design. The game is driven through a console interface.
Back to About