Computer Science

This archive is a collection of computer science programs and projects I completed as part of my coursework at Brigham Young University. They are written in Java, C++, and Visual C++ 6.0. Topically, the projects are all over the place, but the bulk of them deal with networking, digital signal processing, artificial intelligence, or natural language processing.

Just in case you're wondering, the likelihood that any of the projects will be of use to you is minimal. I keep them here for archival purposes only.

Foreign Language Recognition System

For our Linguistics 580 project, my sister and I attempted to design a Java-based distributed Foreign Language Recognition System. Our original hope was to create a telephone-like IP Multicast system, in which a client connected to the network and began... [more...]

Posted April 29, 2001

Reliable IP Multicast

This is my reliable IP multicast interface for my distributed Foreign Language Recognition System. I decided that if I was going to make a practical system that could process sound streams in real time, I would have to create a distributed system--one computer by itself isn't going to have enough manpower. And, of course, for a distributed system to work, each of the clients would need to talk to each other so that they know what they're doing. Thus, the need for some sort of protocol to facilitate communication between them. [more...]

Posted April 29, 2001

Capture the Flag (AI)

Our culminating project for CS 470 (Artificial Intelligence) was to, as two-student teams, build an AI agent that could compete against other teams in a 2d capture the flag game. Each agent consisted of three "players" that could either play... [more...]

Posted April 15, 2001

Text Categorization Presentation

This is a presentation I did in my Ling 580 class (Natural Language Processing) about problems and strategies for text categorization. It asks how we can use natural language processing to categorize bodies of text (i.e. given a word document,... [more...]

Posted April 02, 2001

Router emulation

One of the main purposes of my CS 560 class (advanced networking) was to study network architecture and routing protocols. Thus, our biggest programming project was building our own pseudo network where we could test things out. Each student implemented... [more...]

Posted March 25, 2001

Image Compression and Encoding

This project was for my CS 450 class (digital signal processing). The point of this project was to learn about various compression and encoding techniques. For it, I compressed and encoded various images and explored the effectiveness of both processes.... [more...]

Posted December 10, 2000

TCP/IP Stack with ARP and RPC

Here is a complete C++ implementation of the TCP/IP stack--from the Physical layer on up. Also implemented were ARP and RPC. This project was built gradually through the course of my CS 460 (networking) class. It's definitely not very user-friendly,... [more...]

Posted December 06, 2000

FAT Lab

This is FAT 12 file system (think floppy disks) reader/writer that I wrote in CS 345. It is written in Visual C++ 6.0, and let me tell you it was a bugger to write. The program performs all of your... [more...]

Posted November 30, 2000

3D Renderer

This project is a Java-based, simple 3D object renderer for my CS 455 class (computer graphics). It only renders a couple of objects (tetrahedrons, cubes), but it allows you to do all sorts of transformations and rotations. It also does... [more...]

Posted November 29, 2000

Convolution and Interference Removal

For this CS 450 (digital signal processing) lab, I wrote 2 C++ based programs. The first convolves two images, while the second removes an interference pattern from an image. Here's a better description: convolvef - returns the convolution of two... [more...]

Posted November 11, 2000

HTTP Daemon

This, as the name implies, is an HTTP daemon I wrote for CS 460 (networking). It is a very simple C++ based application--it allows you to specify a port and address to bind it to, along with a directory to... [more...]

Posted September 30, 2000

Command Line Processor

This is just a really simple Visual C++ front-end for the dos command line, written for my CS 345 class (operating systems). It does things like like show you the results of a "dir" or "ipconfig" statement, as well as... [more...]

Posted September 09, 2000

Web Crawler

This was my first major project in C++. It is a web crawler. You tell it what site to crawl, and it creates a series of web pages indexing your site by word. The code I wrote for this project... [more...]

Posted November 01, 1999