Project Ideas, Prof. Reed


These are project ideas which could be developed into undergraduate research (CS 398) or Master's Projects. Before registering for either one of these, we would need to talk about this and agree on the details of what would be done.

Bubble-Form Scanner Software

Students frequently use bubble-forms for tests. This project would be developing software to recognize the answers from a scanned image of a bubble-form answer sheet. The first stage would be to recognize answers from a jpg image. The second step would be to pull out the images from a multi-page pdf. (I already have software to give an array of pixels from a jpg image, from the Guzdial Java book.) A further step might be to make our own answer sheets as well.

Network accessible remote power-cycle

People commonly have to power-cycle some of their equipment. Often this means you must physically be in the location where the equipment is in order to power-cycle it. This project would be to create a network-accessible power-strip, where you could go to a web address that corresponds to this device, and click a button in your browser, which would have the effect of power-cycling the equipment attached to that device. One of the outlets could be on a timer, so (for instance) a cable modem could be power-cycled first, and then a router could be power-cycled.

USB Backplane & Controller to make a Virtual (possibly RAID) Drive

USB flash drives are plummeting in price, but regularly increasing in capacity. This project would involve creating a small device that logically would look like a single drive, but was actually made up of multiple USB flash drives plugged in. Depending on the configuration and number of drives, this could be setup to be a RAID drive. Currently (Feb '07) if you shop around you can get a 2GB flash drive for $15. So, for $150 you could have a very fast 20 GB drive.

Educational Consultant

This project would involve partnering with several Chicago-area schools as a technology consultant, while a student at UIC. This project would be appropriate for someone interested in eventually being themselves an educator. This "consultant" would visit the schools, learn what computer technology is being effectively used in the classroom and for educational infrastructure, provide assistance where possible, provide training, and make recommendations on software/hardware/networking that could be used. One version of this would be to work with both a school that extensively uses technology, as well as a school that doesn't use technology much. We might try to partner with some people at UIC's School of Education for this.

Secure Infrared Lock

PDAs currently have IR ports that are used to communicate to other devices, and sometimes can also be programmed to function as a universal remote. This idea is to make a commercially-viable padlock to be used on a residence, where it is unlocked using a signal beamed from the PDA.

Alternatively we could have an RFID chip embedded in a card, which could automatically unlock the door.

CFX Example bank in C/C++

CFX is a nice example bank, currently with a robust set of examples only in Java. These example bank needs to be populated with similar sets of examples in C and C++. The ideal candidate for this would be someone who is good with details and also has a good imagination.

Related to this would be to implement the system using Flash, rather than the current implementation using Javascript.

Music Transposer

Music is often represented by chord charts, using only words & chords. This project would take as input a text file and allow transposing to any arbitrary key, maintaining the chord spacing relative to the original word placement.

Additionally it would be nice to parse the chords and include chord diagrams for all chords in the song. The final product should live on a web page and allow users to paste in their songs and click on a few buttons to do the transformation.