Exploit vulnerabilities in subscription digital satellite receivers (TV or Radio), Princeton's digital parking meters (we have one in our possession, already disassembled - it is best not to ask how), and other devices.

Cycles Per Instruction (CPI) is a great performance measure but is hard to estimate without a highly detailed simulation of the hardware. Simple analytic models of CPI can be very wrong for certain programs and certain processors. Using good simulators and/or a real machine, show how bad such models can be.

Expressive Human Voice Synthesis. Look into famous historical (going back very far) voice synthesis projects and techniques. Program up simulations of a couple of them for a web page I'm building. Pick a modern system, and look into new techniques, such as transplanted prosody, to make it sound more "human."

Physically Oriented Library of Interactive Sound Effects. Work on aspects of parametric synthesis of sound effects, like walking, clapping, breaking and bouncing, rubbing, crunching, etc. We're branching out into background sound textures this year, so there's lots of new work to be done.

Work on parts of a new language for real-time audio and media, called ChucK. Add new graphical and controller components to the system.

Machine learning on raw audio/music. Work to develop new techniques and applications for machine "understanding" of audio.

Improve some aspect of CoDeeN, such as implementing ad filtering, analyzing and improving page download times, or develop a distributed log querying system.

Distributed DNS resolution: we have a rough resolver that runs on many nodes, but is not intelligent. Fix it so that it can achieve the same (or better) performance while consuming fewer resources.

Improve our system call performance visualization tool running on DeBox. It works, but is not particularly fast. We'd like to perform on-line performance monitoring and visualization while slowing down applications by only a few percent at most.

Professor Sedgewick is willing to advise any student who comes up with an idea for independent work from his books, papers, courses, or in his current areas of active research. Send mail or stop by to discuss possible topics if you are interested.

Research Areas: Parallel computing systems and applications: parallel applications and their implications for software and architectural design; system software and programming environments for multiprocessors. Special interest in applications of computing in computational biology, especially protein structure determination and simulating the immune system.

Independent Research Topics:

Work with a team to build new types of "persistent search" or alerting/notifcation services that can be exposed to and used by real users. Could involve indexing and matching methods, end-user interfaces, data sourcing and interpretation, or building new information services.

Implement and study novel methods for topic-specific or vertical information discovery and search, as well as for high-quality persistent search.

Study and develop methods to infer insights from data in different application areas.

Chris Chan (COS '08) worked on this project for the academic year 2007-8
and his accomplished goal was to create and document a program that
is reusable and extensible. We're hoping that his work will provide the
basis for a system that avoids the repeated reinvention of wheels that
has characterized this kind of research in the past. His system is
Java-based, and is built on the Repast platform, which provides a GUI.
It uses the Eclipse development environment. The goal is to model
fully autonomous and complete economies using interacting agents,
and to use such models to study basic economic phenomena, such as
the emergence of price bubbles, business cycles, and the short- and long-term
effects of central bank policies. Prof. Mike Honig (Northwestern University)
is working with us, and others outside Princeton are interested
in eventual collaboration, especially Prof. Leigh Tesfatsion (Iowa
State University).

Fall 2008 a group of students picked up the work with a view toward
performing some experiments on the effects of bank and institutional
policies on market stability. Daniel Hayes-Patterson (COS '09) has been
the software developer, and has also been studying the effects of adding entrepeneurs
of various types to the basic model. Stephanie Tzeng (ORF '10) is
working on further modeling of the banks. If you're interested, we can
use all the help we can get. I think we're not too far from being able to
study some important questions. The project home page is at
[1].

Computing with Solitons:

Solitons are remarkably robust
nonlinear waves. They can travel through optical fibers over
distances on the order of the earth's circumference. Their
ability to process information has preoccupied me for about
ten years, and I'm working on several ways in which they
might be used for computation of a more or less general nature,
classical or quantum. This sort of work uses both computer science
and physics, and it helps a lot if you're familiar with things
like wave equations as well as Turing machines. It can involve
either theory or applied computation. Some of the work
sprouted from solitons in cellular automata, so there may also
be projects interesting to fans of what physicists sometimes
call "ultra-discrete" systems (binary cellular automata).

Auctions:

There are a number of questions about auctions that intrigue me.
For example, there are many examples of auctions that do not have
Nash equilibria. Are there any such auctions that might be
useful in practice, and how should we expect agents to behave
in such auctions? I'm also interested in practical numerical
algorithms for finding equilibria in auctions. Beyond this there
are always behavioral questions that might be studied with field
experiments in eBay (these are also typical term paper projects
in COS 444).

Barter mechanisms:

I'm interested in mechanisms that involve the exchange of
goods without the use of money; in other words: barter. What
kinds of barter sites are out there? How do they work? Is
there an appropriate economic theory? How can barter among
more than two traders be arranged? Can an effective site be
put up that mediates barter as a third party?

________________________

For papers relevant to some of the topics mentioned, see my
research page.
If you're interested in discussing any of these ideas, or have
some of your own, please send email. --Ken 05:03, 17 July 2008 (EDT)

Develop pedagogical tools for the computer science curriculum at Princeton and beyond.

Any interesting ideas involving games of skill and chance.

Opportunities outside the department

We encourage students to look in to doing interdisciplinary computer science research and to work with professors in departments other than computer science. However, every CS independent work project must have a strong computer science element (even if it has other scientific or artistic elements as well.) To do a project with an advisor outside of computer science you must have permission of the department. This can be accomplished by having a second co-advisor within the computer science department or by contacting the independent work supervisor about the project and having he or she sign the independent work proposal form.

Here is a list of professors outside the computer science department who are eager to work with computer science undergraduates.