Created with Java
Snapster (Applet) Snapster is a generic file sharing system much like Napster.
  screenshots & walkthrough
read the project report
 
# of classes:12
# of lines of code:2957
last compiled:May 2001
developed on:Windows 98 SE
development tools:    JDK1.3, Forte, EditPlus
runs on:Java Plug-in 1.2 and up
javaMessenger javaMessenger is a simple instant messenger client-server much like MSN Messenger.
  screenshots & walkthrough
 
# of classes:7
# of lines of code:1800
last compiled:December 2000
developed on:Windows 98 SE
development tools:    JDK1.3, Forte, EditPlus
runs on:Java Plug-in 1.2 and up
HTTP Server My HTTP Server is a simple standalone application much like Apache.
 
# of classes:2
# of lines of code:731
last compiled:November 2000
developed on:Windows 98 SE
development tools:    JDK1.3, EditPlus
runs on:Java Plug-in 1.2 and up

Created with C++
File Transfer System I created three file transfer servers, one using asynchronous i/o, one using the standard fork, and one using POSIX threads.  In order to use these servers you must use my file transfer client.
 
# of classes:4
# of lines of code:1162
last compiled:November 2000
developed on:RedHat Linux 6.22 x86, Windows 98 SE
development tools:    g++, EditPlus
runs on:Linux
Process Scheduler This is a process scheduler simulation with deadlock avoidance using the bankers algorithm.  It was actually a three part assignment.  The last part includes the previous parts, so that is the one I am posting.
  sample output
 
# of classes:5
# of lines of code:2815
last compiled:October 2000
developed on:RedHat Linux 6.22 x86, Windows 98 SE
development tools:    g++, Microsoft Visual Studio 6.0 sp4
runs on:Linux
Text File Indexing System For this assignment I had to build a text file indexer using my own AVL tree and provide some basic commands to manipulate the indexed words.  An AVL tree is a self-balancing binary tree.  I made my AVL tree a template so that any kind of information can be stored in it.  My HTTP Server is a simple standalone application much like Apache.
  sample output
 
# of classes:3
# of lines of code:2163
last compiled:July 2000
developed on:Windows 98 SE
development tools:    Microsoft Visual Studio 6.0 sp4
runs on:Windows
Hashed User Database System For this assignment I had to create a user database system using my own hash table.  I made my hash table a template so that any kind of information can be stored in it.  Also, the underlying data structure is an array of pointers, so it can be used with Polymorphic Classes under the Object Oriented Paradigm.
  sample output
 
# of classes:3
# of lines of code:1875
last compiled:August 2000
developed on:Windows 98 SE
development tools:    Microsoft Visual Studio 6.0 sp4
runs on:Windows
UNIX shell This is a simple UNIX shell.  Most of the standard shell stuff works.
  recorded session
 
# of classes:0
# of lines of code:361
last compiled:September 2000
developed on:RedHat Linux 6.22 x86
development tools:    g++, KDE advanced editor
runs on:Linux
Sorting Algorithms Two very good sorting algorithms, Heapsort and Quicksort.  I implemented them as templates so they could be used to sort any kind of information.
 
# of classes:2
# of lines of code:308
last compiled:May 2000
developed on:Windows 98 SE
development tools:    Microsoft Visual Studio 6.0 sp4
runs on:any operating system with a C++ compiler

Other Creations
OCMS Interface OCMS stands for Online Course Management System.  This was a group project for my Human Computer Interaction which entailed much more than simply creating a user interface.  The project was composed of five phases where each phase corresponded to a different part of the software design life cycle.  This project addressed topics such as prototyping, task analysis, user analysis, interaction techniques, many different types of evaluations, and other topics related to interface design.  The point of the project was to design a system interface and watch as it evolved from phase one to phase five.
  screenshots & walkthrough

Code Samples
Program Header
Class Prototype
Code Fragment

Writing Samples
OCMS Problem Statement
The Impact of Computer Technology on The Creation of Music