Selected Projects

Real-Time Implementation

Individual Projects

  • Image Processing
    Lab 4 - FinalProject
    This lab demonstrates a number of useful basic image processing techniques. The final project shows the results of an algorithm used to detect vertex information.

  • Advanced Image Processing
    Lab 1 - Lab 2 - Lab 3
    These are the results of some projects from my advanced image processing class.

  • Electronic Music Synthesis
    Lab 6
    This is a demonstration of some frequency-additive music synthesis techniques.

  • Chaos
    pendulums [zip]
    This is a working model simulation of some pendulums.

  • Chaos and Fractals
    These are the results of some fractal projects.

  • Special Relativity
    drawGridCallback.m - makegrid.m
    I wrote a couple matlab scripts for generating space-time diagrams.

  • Technology Management
    Asynchronous Computing [pdf]
    I wrote a paper about asynchronous chip design my Junior year. Since I wrote that paper, much of the interest has disappeared. Multicore appeared to come out of nowhere and solved many of the problems. But a post on slashdot reminded me about this paper.

Group Projects

  • DSP System Design
    DSP Fixed Point System Design [doc]
    This is the write up of a project I did in my DSP System Design class. The project was to simulate a fixed point, SSB communications system in matlab.

  • Algorithms and Program Design
    Pentominoes [zip]
    This is a little game we built in C++ for our final project. The goal is to place the last piece.

  • Data Structures
    Concordance [zip]
    This project was to write a concordance program in Java.

  • Computer Architecture I
    MiniMips [doc]
    We had to design and build a processor based off the Mips architecture. The plan was to eventually implement our design in hardware, but we never made it that far. This is our documentation. (There are a lot of typos and grammatical errors; it was a long and difficult project.) One of the cool aspects of this project was that I spent a few days writing a (working) very bare bones assembler for testing purposes.

  • Computer Architecture II
    Crusoe [doc] - Crusoe [ppt]
    Instead of a project, we did a short research project on a new computer architecture.

  • Computer Graphics I
    Bar [zip]
    Our final project in this class was to make a graphically appealing game or scene. We went with a bar scene.

  • Mathematics of Image Processing
    Image Compression [doc]
    This was a take-home exam, two person midterm. The project was basically to implement image compression using the DCT, which is essentially how jpeg image compression works.

Older/Personal Projects

  • This is a Dvorak keyboard typing tutor developed in JBuilder. If you just want to take a look, here's a screen shot.

  • This stock streamer is a short project based off an example in The Practice of Programming by Brian W. Kernighan and Rob Pike.

  • Browse some older projects from high school. It seems I've lost the really old ones.

  • Take a look at some sample images from my high school internship at Johns Hopkins. You're looking at the results of object discrimination.

  • Other projects, which may or may not be found above, are listed here. Most of these were done in high school (ages 14 to 18).

    • A single player, single computer spaceship game in basic.

    • A "snake" game, which I was told was a lot like Tron, in basic.

    • A checkers game in basic.

    • A simple Java game with realistic velocity and acceleration of actors using a game framework.

    • A basic program to solve minimization/maximization problems given a system of linear constraints (as I learned to do it in Algebra II).

    • A string library in C++ that also does extended precision integer arithmetic.

    • A Mandelbrot set generator, with lots of pretty colors, in C. A simpler networked, parallel version of the Mandelbrot set generator in C.

    • A C program to balance chemical equations.

    • A meta search engine in Java.

    • An implementation of Support Vector Machines (SMO specifically) in Java.

    • A C program with a fancy windows GUI to convert a number in any base from 2 to 36 to all other bases.

    • A slow Java program to find a formula for the summation of i^n for any n. A fast, recursive version of the same program.

    • A program to compute pi using the method derived from expanding a taylor series of tangent. A program to compute pi using a Monte Carlo method.