Suggested Undergraduate Research Topics
Fall 07 - Spring 08
Professor Andrew Appel, Room 409
|
Research Areas: Programming languages, compilers, computer
security.
Independent Research Topics:
- Can prox cards be scanned from a distance? What are the
implications?
- Trojan horses in cryptographic protocols.
- Automated theorem proving.
- Computer game-playing programs.
|
Professor Sanjeev Arora, Room 307
|
Research Areas: Uses of randomness in complexity theory and
algorithms; Efficient algorithms for finding approximate
solutions to NP-hard problems (or proving that they don't
exist); Cryptography.
Independent Research Topics:
- Implement one of recently discovered algorithms for "recycling" random bits, and study how well it does in practice.
- Show that finding approximate solutions to NP-complete problems is also NP-complete (i.e., come up with NP-completeness reductions a la COS 487).
- Experimental Algorithms: Implementing and Evaluating Algorithms using existing software packages.
- Design and implementation of graph partitioning algorithms (possibly leading to a publication).
- Modeling the human brain using random graphs.
|
Professor David August, Room 209
|
Research Areas: Computer Architecture and Compilers.
Independent Research Topics:
- New parallel programming models: language and architectural support.
- Novel architectural techniques enabled by compiler support (joint compiler-time/run-time optimization, reconfigurable computing, etc.).
- Compiler optimization at the data-structure and algorithm level.
- 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.
- Any interesting topic in computer architecture or compiler theory.
|
Professor Boaz Barak, Room 405
|
Research Areas: Cryptography, Complexity Theory, Randomness and Computation.
Independent Research Topics:
- Build a tool to partially automate proving security of cryptographic protocols.
- Write a clean exposition of the proof that pseudorandom generators can be constructed from any one way function.
- Write a clean exposition of the parallel repetition lemma.
- Any other interesting project, especially one involving cryptography or theory.
|
Professor David Blei, Room 204
|
Research Areas: machine learning, graphical models, computational
statistics, information retrieval, natural language processing.
Independent Research Topics:
- Explore the potential of using machine learning techniques with the Wikipedia corpus (http://www.wikipedia.com/). Develop algorithms that use both the content of and connections between articles.
- Develop algorithms which use both linguistic information (like part of speech tags) and statistical information (like word counts) to determine document similarity.
- Build a browser for large and unstructured collections of multimedia documents. Develop machine learning tools for automatically organizing
and interfacing with such collections.
- Any interesting machine learning or computational statistics project. Example research areas are spectral clustering, approximate posterior inference, social network analysis, or time series analysis.
|
Professor Moses Charikar, Room 305
|
Research Areas: Design and analysis of algorithms,
particularly approximation algorithms, on-line algorithms and
efficient algorithms for dealing with large volumes of data.
Independent Research Topics:
- Reconstructing evolutionary trees from biological data.
- Algorithms for clustering data - theory as well as impementation.
- Investigating the gap of mathematical programming relaxations for optimization problems. (This requires a strong math background).
- Any other topic in advanced algorithms or discrete mathematics.
|
Professor Bernard Chazelle, Room 404
|
Research Areas: Computational Geometry, Sublinear Algorithms,
Clustering, Discrepancy Theory, Lower Bounds.
Independent Research Topics:
- Experimentation with self-improving algorithms.
- Sublinear algorithms.
- Personalized web searching.
- Clustering algorithms.
- Experiment with stunningly fast approximate heaps.
|
Professor Douglas Clark, Room 309
|
Research Areas: - Computer architecture and organization;
architecturally-focused performance analysis.
Independent Research Topics:
- Diagnose, repair, and possibly redesign the user interface
of my father's 30-year-old Turing Machine. Requires digital
logic design skills, plus some mechanical engineering, or
perhaps a partner.
- 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.
- Other topics, depending on student interest.
|
Professor Perry Cook, Room 408
|
Research Areas: Computer Music; Simulation of Musical
Acoustics and Voice; Real-Time Expressive Computer Control,
Human-Computer Interfacing.
Independent Research Topics:
- 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.
|
Professor David Dobkin, Room 411
|
Research Areas: Visualization, pervasive computing, software
engineering.
Independent Research Topics:
- Building applications using Wireless and Handheld devices.
- Building tools for managing online photo albums.
- Face recognition.
- Other Interesting topics.
|
Professor Edward Felten, Room 419
|
Research Areas: Computer security; network software;
technology law and policy.
Independent Research Topics:
- Computer security and privacy.
- Digital media distribution.
- Copy protection and peer to peer technologies.
- Technology and public policy.
- Any other interesting or offbeat topic.
|
Professor Adam Finkelstein, Room 424
|
Research Areas: computer graphics, animation.
Independent Research Topics:
- Computer-generated drawings from 3D models.
- Tools for making visual art using computer graphics.
- New methods for computer animation.
- Techniques for medical visualization.
- Any interesting project in computer graphics.
|
Dr. Marc E. Fiuczynski, Room 314
|
Research Areas: operating systems, distributed systems,
computer networks, programming languages, computer architecture.
Independent Research Topics:
- Better compiler tools for system software evolution (see c4.cs.princeton.edu).
- Operating systems and cluster management projects related to PlanetLab.
- Oh... just come see me and we can figure something out that should be fun.
|
Professor Michael Freedman, Room 208
|
Research Areas: Distributed systems, security, networking,
applied cryptography
Independent Research Topics:
- Design/build a performance- and fault-monitoring tool or architecture for distributed systems such as CoralCDN, including distributed logging built around streaming databases, algorithms for the approximation of network-wide properties, distributed real-time transaction tracing, etc.
- Help build a new system for currency-based management of peer-to-peer resources, including either client-side software or back-end scalable tuple stores.
- Realize cryptographic private information retrieval from databases, especially via useable web services.
- Any interesting topic related to distributed or peer-to-peer systems, security, or networking.
|
Professor Tom Funkhouser, Room 422
|
Research Areas: Structural bioinformatics and computer graphics.
Independent Research Topics:
- Investigate methods for predicting the function of a protein from its 3D structure.
- Develop algorithms for aligning and matching 3D shapes.
- Build components of a shape-based search engine for 3D models.
- Any other projects related to structural bioinformatics or computer graphics.
|
Dr. Scott Karlin, Room 101A
|
Research Areas: Networked Systems, Operating Systems,
Hardware/Software Interfaces
Independent Research Topics:
- Hardware/Software gadgets for home automation. For example, media servers or convergence devices that combine Internet, TV, phone, security, and automation.
- Programming language support/extension for device driver programmers. For example, most device drivers are written in C; explore/implement ways the language be augmented to support multiple aliases (physical address, kernel virtual address, user virtual address, bus address) for the same memory cell.
- Design and implement analysis tools for maintaining large-scale distributed systems such as PlanetLab.
|
Professor Brian Kernighan, Room 311
|
Research Areas: application-specific languages, document
preparation, user interfaces, software tools, programming
methodology
Independent Research Topics:
- Application-oriented languages, scripting languages.
- Tools; user interfaces; web services.
- AMPL and optimization.
- Joint work with other departments.
- For a list of less than half-baked ideas, see this page.
|
Professor Andrea LaPaugh, Room 304
|
Research Areas: Search and retrieval of information; data
mining, particularly clustering; combinatorial algorithms
Independent Research Topics:
- Study the current use of graph structure in the
exploration of the Web or other social networks, and
investigate the potential for new techniques.
- Experimentally evaluate the use of preprocessing with
spectral clustering algorithms.
- Experimentally evaluate how well metrics used to compare
two clusterings of a data set actually capture intuitive
notions of similarity between clusterings.
- Other topics with an information discovery or management
aspect, including novel applications using databases or
information retrieval.
|
Professor Fei-fei Li, Room 211
|
Research Areas: Computer vision, human vision, machine learning.
Prof. Li is particularly interested in recognition topics related to
the semantic understanding of the visual world, such as object
categorization, human action understanding, event recognition, etc.
- Computer vision project emphasizing on an interesting
application in visual recognition.
- Computer vision project emphasizing on an interesting machine
learning problem, such as inference techniques or efficient
algorithms.
- Human psychophysics project that utilizes smart algorithms or
ideas from computer vision or machine learning;
- Can you think of a particularly interesting application in
computer vision? I'd love to hear your ideas!
|
Professor Kai Li, ON SABBATICAL this Semester
|
Research Areas: Parallel architectures and systems;
distributed systems; operating systems.
Independent Research Topics:
- Design, implement and evaluate practical methods for
image and audio similarity searches.
- Seamless shared visualization on large-scale displays.
- Simulation studies of asymmetric heterogeneous chip
multiprocessor architecture.
|
Professor Vivek Pai, ON SABBATICAL 2007-2008 Academic Year
|
Research Areas: Network/Web servers, operating systems,
high-performance applications.
Independent Research Topics:
- 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 Larry Peterson, Room 219
|
Research Areas: Networked systems, communication protocols,
operating systems.
Independent Research Topics:
- Topics related to planetary-scale network services,
overlay networks, and the system infrastucture needed to
support them.
|
Professor Jennifer Rexford, Room 306
|
Research Areas: Data networks, network measurement, network management, routing protocols, network troubleshooting.
Independent Research Topics:
- Peer-to-peer system for troubleshooting the Princeton campus network.
- Fundamental limits on how well we can measure the Internet topology, or identify the root cause of network problems.
- Extensions to today's protocols to make network troubleshooting and engineering easier.
- Policy language for operators to configure their networks.
- Applying data-mining techniques to network measurement data to detect anomalies.
- Analyzing the interaction between overlays and the underlying network routing.
- Techniques for scalable Internet routing, including relationships to theoretical work on compact routing.
- Secure routing protocols, and verification that packets go the way the routing protocol says they will.
|
Professor Szymon Rusinkiewicz, Room 412
|
Research Areas: computer graphics; acquisition of 3D shape,
reflectance, and appearance of real-world objects.
Independent Research Topics:
- Work on computer vision systems for an autonomous vehicle to be entered in the DARPA Urban Challenge.
- Implement a system for generating high-quality panoramic images from low-resolution, low-quality sources (e.g., cell-phone cameras).
- Develop enhanced visualization techniques for collections of images of an object or scene under varying lighting.
- Implement an efficient ray tracer for huge meshes (hundreds of millions of polygons) based on a compressed hierarchical data structure.
- Other projects in computer graphics and vision.
|
Professor Robert Schapire, Room 407
|
Research Areas: Machine learning
Independent Research Topics:
- Implement and run experiments on assorted machine learning
algorithms.
- Apply machine learning algorithms to specific tasks.
- Any other interesting project related to machine learning.
|
Professor Robert Sedgewick, Room 319
|
Research Areas: Finding efficient algorithms for fundamental
practical problems by studying algorithms at all levels through
the design-analysis-implementation cycle; dynamic graphical
simulations of algorithms in operation.
Independent Research Topics:
- Professor Sedgewick is willing to advise students who come
up with their own ideas for independent work in his current
areas of active research.
|
Professor Jaswinder Pal Singh, Room 423
|
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.
- Design and implement a parallel application. Possible areas include graphics, compression, biology, among many others. Analyze performance bottlenecks using existing tools, and compare programming models/languages.
- Develop and implement algorithms for selected problems in computational biology, especially simulating the immune system or analyzing immunological data.
|
Professor Mona Singh, Room 420
|
Research Areas: computational molecular biology, as well as
its interface with machine learning and algorithms.
Independent Research Topics:
- Whole and cross-genome methods for predicting protein
function and protein-protein interactions.
- Analysis and prediction of biological networks.
- Computational methods for inferring specific aspects of
protein structure from protein sequence data.
- Any other interesting project in computational molecular
biology.
|
Professor Kenneth Steiglitz, Room 421
|
Research Areas: auctions, agent-based simulation, soliton
computing. Some relevant abstracts and papers can be found at
the research link on my home page.
Independent Research Topics:
- Model systems in which agents model the beliefs of other agents.
- Study auctions with mixed-equilibrium bidding strategies.
- Can solitons be used for quantum information processing?
|
Professor Robert Tarjan, Room 324
|
Research Areas: Data structures; graph algorithms;
combinatorial optimization; computational complexity;
computational geometry; parallel algorithms.
Independent Research Topics:
- Implement one or more data structures or combinatorial
algorithms to provide insight into their empirical behavior.
- Design and/or analyze various data structures and
combinatorial algorithms.
|
Professor Olga Troyanskaya, Room 320
|
Research Areas: Bioinformatics; analysis of large-scale
biological data sets (genomics, gene expression, proteomics,
biological networks); algorithms for integration of data from
multiple data sources; visualization of biological data; machine
learning methods in bioinformatics.
Independent Research Topics:
- Implement and evaluate one or more gene expression analysis
algorithm.
- Develop algorithms for assessment of performance of genomic
analysis methods.
- Develop, implement, and evaluate visualization tools for
heterogeneous biological data.
|
Professor David P. Walker, Room 412
|
Research Areas: Programming languages, type systems, compilers, data processing and security.
Independent Research Topics:
- PADS: a domain-specific research language
for specifying data formats and automatically generating
tools that and do cool things with the specified format
(See
here
for more info):
- How can we improve the PADS toolkit?
- Can we automatically generate specialized compression, obfuscation, or encryption tools?
- Can we generate tools specialized for particular domains such as computational biologiy? Financial analysis? Physicis? Computer networking?
- PADS is currently implemented on top of C and O'Caml. Can we provide PADS for other languages such as Python or Haskell?
- Given example data (like the output of "ls -l"), can we automatically learn the format of the data using clever algorithms or machine learning?
- Can we design hardware and/or software mechanisms that will tolerate bit flips and other faults caused by cosmic rays?
- Can we develop a type system or other software analysis that can determine whether software is fault tolerant?
- Any other interesting project that involves type systems, compilers, data processing, fault tolerance, language-based security, aspect-oriented programming, theorem proving, logic or logical frameworks.
|
Dr. Kevin Wayne, Room 207
|
Research Areas: design, analysis, and implementation of
algorithms; data structures; combinatorial optimization; graphs
and networks.
Independent Research Topics:
- Implement and investigate the empirical behavior of a
recent graph algorithm or data structure.
- Design and implement computer visualizations of graph
algorithms or data structures.
- 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:
To do one of these projects, you should coordinate with an advisor
inside the CS department as well as an outside advisor.
Professor Hilary Coller, Room 140, Lewis Thomas Lab
|
Research Areas: computational approaches to analysis of large-scale genomics data sets
Independent Research Topics:
- Data integration projects with large scale data sets: gene expression and microRNA expression.
- Clustering algorithms and data visualization algorithms to represent patterns of genetic change.
- Pattern matching algorithms to define genetic regions that are overrepresented compared with chance.
- Pattern matching and data integration algorithms to integrate data generated by the laboratory with publicly available data sets from tumors or microbial species.
- Other topics of mutual interest.
|