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.
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.
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.
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.
Ever been jogging with your music playing, only to notice that your pace changes along with the music? This would be an app that allows you to choose a pace (or sense it using your accelerometer) for your running, and then resample your music to fit, keeping frequency constant.
Online services such as polleverywhere.com allow members of classes to vote using text messaging on their cell phones. This would create similar functionality, but could be hosted on an open-source server.