Possible Senior Project Descriptions

Fall 2009 project writeups under development this week (ok, probably the weekend after the quarter begins....check back

Some of these projects are difficult to describe in a one-way presentation, so you may benefit from talking to me about them. In any event, some of my early rough thoughts are:

microSD Crypto Cards

Build/prototype a microSD card that performs encryption for smartphones and other mobile electronic devices.

Experiments with the Barrelfish ManyCore O/S

I have been studying the problem of making effective use of the newly emerging many-core processors (processors supporting tens to hundreds of parallel threads of execution). As part of these studies, I have also tried to discover techniques that can help "Joe/Jane six-pack" gain benefits of many-core processors. Thus, I have been trying to develop techniques that introduces parallelism into existing programs without requiring any change to the original program.

One of my graduate students has built a dynamic memory management library that automatically creates a parallel thread to perform the malloc and free dynamic memory management operations. Basically he redefines the dynamic link path so that his library is used instead of the system malloc/free library (and so the original program uses his library with no changes to the original program). He has used this library to show speedup in programs where the runtime costs of the dynamic memory operations constitute at lest 10% of the original program's execution time. He is studying this libraries' performance on an Intel i7 processor running the conventional unix-based operating systems Linux and Solaris. Interestingly enough, he sees speedup on the i7 but not on the core2duo (architecture matters!) and he also expects to see different amounts of speedup between Linux and Solaris (O/S matters!). I would like to continue these studies on other more exotic systems, especially those designed for many-core processors. Recently ETH Zurich and Microsoft Research have released (as open source) their research operating system called Barrelfish that has been designed for many-core processors. Barrelfish is an experimental system lacking many features that would have to be fleshed out to conduct experiments with our above described library. This senior project would explore this problem.

In case it's not clear, this is a research project that would also require the preparation and submission of manuscripts for publication.

Support for Transparently Threading Application Libraries

Emerging many core processors have support for tens to hundreds of parallel threads of execution. Most existing applications have only a single thread of execution. We have successfully build a threaded dynamic memory management library that transparently spawns a parallel thread to precomputes/pre-allocates memory for the needs of the main program thread (basically the first call to malloc spawns a parallel thread; successive malloc/free calls use atomic moves to access a shared data structure to obtain/free its dynamic memory blocks). On applications with 10% or more dynamic memory costs, our library shows a speedup equal to about 25% of the total dynamic memory costs on an Intel i7 processor. The next step in this project is to develop generalized support to enable similar constructions with user written libraries.

In case it's not clear, this is a research project that would also require the preparation and submission of manuscripts for publication.


Capture Data from the numerous monitors on NICU patients

The various monitoring hardware used in the neurological intensive care unit are not tied together by a common capture system to monitor, display, and analyze a patient's health. This project would develop a unifying (probably xml) format and build the hardware/software subsystems to capture information from the monitors in this format. Ideally we would also develop methods to display the data and possibly perform some rudimentary monitoring capabilities (probably something simple, like sound an alarm when unacceptable recordings are discovered).


Analyze EKG (and other types of sensors) Traces

Not really through signal processing, but through the development of heuristics to monitor and look for interesting neurological events that the doctors are interested in knowing about.

In case it's not clear, this is a research project that would also require the preparation and submission of manuscripts for publication.


Web-based Scheduler, Meeting Planner

I would like a personal calendar system that operates on the web and allows me to schedule/publish my weekly schedule. The twist is that I would also like to have the ability to set aside time blocks that others can schedule to meet with me. Basically I want to set aside time blocks (say tues/thurs from 2-6pm) into which students/visitors can select times to meet with me. The solution should be a web-based application that can be accessed through a standard web browser.


Projects for Android

Encrypt Information Transmissions

Cellular transmissions, 802.11, wired, all transmissions (voice and data).

One touch address transmission

Often one coordinates an activity via cell phone to meet at a specific location/address. With turn-by-turn navigation applications for smart phones it is becoming very easy to plan meetings at new (to the receiver) locations. Unfortunately, we are often coordinating these meetings on the phone while we are on the move and unable to easily write things down. It could be nice to have some type of one-touch address transmit button on our phones that would transmit the address of a location to the other end of the phone conversation and have their phone, recognize the transmission and automatically initiate/setup the turn-by-turn navigation application for use.

Tie GPS with gvoice so that local landlines ring

I have a google voice phone number that allows me to redirect phone calls to that number to one or more phone numbers. Generally I have it forward the calls to my cell phone, but I prefer to use a landline when it's available. Furthermore, my folks live in rural Illinois where cellular phone service is non-existant. I would like to be able to have my cell phone automatically redirect my google voice calls to the land lines in the region that I'm moving. Hence this project.

Something else?

Be creative, come up with something worthy of competing in the Android Challenge.


Apply Role Playing Gaming Techniques for Self-study of Technical Topics

Make quests for the material in computer organization so that students have fun becoming self-learners.

Web Resources for Student Recruiting

Design and develop techniques for the recruitment of high school students into the ECE Dept. This project can vary widely in approach and direction so you must discuss any possible project with me before embarking on it as a senior project. For example, while conventional approaches such as stylized web pages could be proposed it would require some interesting components before I would consider it for a senior project. I am more interested in some of interactive possibilities in the virtual spaces; things like Second Life (complex/scripted, semi-automated Avatar design) or some online (probably role-playing) gaming directed toward recruitment could be interesting. However, details matter, please think carefully about this and expect to spend some time with me up front formulating the particulars for a project within this topic.


Something with a Beagle Board


Something with a gumstix


Plans for Anonymous/Paranoid Setup/Guidelines/Package for Linux

That's it, I ain't saying anymore. Someone might be watching....come on, that was funny.


James Bond Coke Machine

James Bond Coke Machine (fight the Pepsi monopoly that has the UC campus by the throat). I hate Pepsi (doesn't everybody?) and yet I'm forced to drink it as it's really the only option on campus. This project proposes the construction of a coke machine hidden behind the facade of a Pepsi Machine. While it would be easy to simply fill one of the slots in an existing Pepsi machine with Coke, what about Diet Coke or Sprite drinkers? I propose that the James Bond Coke machine would mimic a Pepsi machine, even delivering standard Pepsi products when used by the naive. However, the machine should be designed so that an undocumented panel is used to invoke a transformation to a full-fledged Coke machine dispensing Coke products. After dispensing the desired Coke product, the machine will revert back to the standard (and disgusting) Pepsi setup.


Other Possibilities

I also have other ideas and am more than willing to hear yours. However, please do not come to me with ideas for designing/building games. Stop by on any tuesday or thursday afternoon (between 2 and 6pm) and we can discuss the possibilities.


Contact Information

Philip A. Wilsey E-mail: philip.wilsey@uc.edu
Experimental Computing Laboratory Voice: 513-556-4779
Department of ECE/University of Cincinnati Fax: 513-556-7326
Last updated