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
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