Quick links

Undergraduate Research Topics


Suggested Undergraduate Research Topics

Links to many research areas in the department may be found at http://www.cs.princeton.edu/research/areas/ while links to projects may be found at http://www.cs.princeton.edu/research/projects/.








Computer Science Faculty:

Prof. Ryan Adams, Room 411

Prof. Ibrahim Albluwi, 221 Nassau Street, Room 101

Prof. Andrew Appel, Room 209

Prof. Sanjeev Arora, Room 407

Prof. David August, Room 221

Dr. Jack Brassil, On Leave

Prof. Mark Braverman, 194 Nassau St.,  Room 231

Prof. Bernard Chazelle, 194 Nassau St. Room 301 

Dr. Marshini Chetty, Room 412

Asst. Prof. Jia Deng, Room 423

Prof. David Dobkin, Room 419 on Sabbatical during the 2018-2019 AY

Dr. Robert Dondero, Corwin Hall, Room 038

Prof. Zeev Dvir,194 Nassau St.  Room 250

Prof. Barbara Engelhardt, Room 322

Prof. Nick Feamster, Sherrerd Hall - Room 310 

Dr. Christiane Fellbaum, Room 1-S-14 Green  - Independent Work Seminar Instructor Fall 2018

Prof. Edward Felten, Sherrerd Hall -  Room 302

Prof. Adam Finkelstein, Room 424Independent Work Seminar Instructor Fall 2018

Dr. Robert S. Fish, Corwin Hall, Room 037  - Independent Work Seminar Instructor Fall 2018

Prof. Michael Freedman, Room 308 

Prof. Thomas Funkhouser, Room 422 On Sabbatical during the 2018-2019 AY

Prof. Tom Griffiths, Room 405

Prof. Aarti Gupta, Room 220 - Independent Work Seminar Instructor Fall 2018

Prof. Elad Hazan, Room 409

Asst. Prof. Kyle Jamieson, Room 305 - Independent Work Seminar Instructor Fall 2018

Dr. Alan Kaplan, 221 Nassau Street - Room 105 - Independent Work Seminar Instructor Fall 2018

Prof. Brian Kernighan, Room 311

Asst. Prof. Zachary Kincaid, Room 219

Assst. Prof. Gillat Kol, 194 Nassau St. -  Room 230

Prof. Andrea LaPaugh - Room 304 - On Leave Fall 2018

Asst. Prof. Amit Levy, Room 307

Dr. Dan Leyzberg, Corwin Hall, Room 034

Prof. Kai Li, Room 321

Dr. Xiaoyan Li, 221 Nassau Street - Room 104

Asst. Prof. Wyatt Lloyd, Room 323

Dr. Jérémie Lumbroso, Corwin Hall Room 035

Prof. Margaret Martonosi, Room 208 

Asst. Prof. Jonathan Mayer, Sherrerd Hall,  Room 307

Dr. Christopher Moretti, Corwin Hall, Room 036

Dr. Chris Musco, Room 417

Asst. Prof. Karthik Narasimhan, Room 422

Dr. Arvind Narayanan, Sherrerd Hall, Room 308

Dr. Iasonas Petras, Corwin Hall Room 033

Prof. Benjamin Raphael, Room 309 

Prof. Ran Raz, 194 Nassau St.,  Room 240

Prof. Jennifer Rexford, Room 222

Prof. Szymon Rusinkiewicz, Room 406

Asst. Prof. Olga Russakovsky, Room 408

Prof. Robert Sedgewick, Room 319

Prof. Sebastian Seung, Princeton Neuroscience Institute Room 153

Prof. Yoram Singer, Room 421

Prof. Jaswinder Pal Singh, Room 324

Prof. Mona Singh, Room 420

Dr. Sahil Singla, Room 219

Prof. Robert Tarjan, Room 308

Prof. Olga Troyanskaya, Room 320

Prof. David Walker, Room 211

Dr. Kevin Wayne, Corwin Hall, Room 040

Asst. Prof. Matt Weinberg, 194 Nassau St. Room 222

Asst. Prof. Mark Zhandry, 194 Nassau St. Room 242 

Opportunities outside the department:

Prof.Branko Glisic, Engineering Quad, Room E330
Prof. Sharad Malik, Engineering Quad, Room B224
Prof. Prateek Mittal, Engineering Quadrangle, Room B236
Prof. Ken Norman, PNI 137 Neuroscience Institute
Caroline Savage, Office of Sustainability Phone: (609) 258-7513, cs35@princeton.edu
Asst. Prof.Janet Vertesi, Sociology Dept, Wallace Hall 122 
Prof. David Wentzlaff, Engineering Quadrangle, Room 228

Prof. Ryan Adams, Room 411

  • Computational Biology
  • Machine Learning

Dr. Ibrahim Albluwi221 Nassau Street, Room 101

Prof. Andrew Appel, Room 209 

  • Research Areas: Formal methods, programming languages, compilers, computer security.
  • Independent Research Topics:
    • Automated theorem proving (suggestion: take COS 441 first).
    • Trustworthiness of voting machines and/or internet voting.
    • Computer game-playing programs.

Prof. Sanjeev Arora, Room 407 

  • Theoretical machine learning, deep learning and its analysis, natural language processing. My advisees would typically have taken a course in algorithms (COS423 or COS 521 or equivalent) and a course in machine learning.
  • Independent Research Topics: 
    • 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. 
    • Studying/designing provable algorithms for machine learning and implementions using packages like scipy and MATLAB, including applications in Natural language processing and deep learning.
    • Any topic in theoretical computer science.

Prof. David August, Room 221

  • Research Areas: Computer Architecture, Compilers, Parallelism, Security, Performance.
  • Independent Research Topics:
    • Containment-based approaches to security:  We have designed and tested a simple hardware+software containment mechanism that stops incorrect communication resulting from faults, bugs, or exploits from leaving the system.   Let's explore ways to use containment to solve real problems.  Expect to work with corporate security and technology decision-makers.
    • Parallelism: Studies show much more parallelism than is currently realized in compilers and architectures.  Let's find ways to realize this parallelism.
    • Any other interesting topic in computer architecture or compilers. 

Prof. Mark Braverman194 Nassau St. Room 231

  • Research Areas: computational complexity, algorithms, applied probability, computability over the real numbers, game theory and mechanism design, information theory, applications of machine learning in healthcare and medicine. 
  • Independent Research Topics: 
    • Topics in computational and communication complexity.
    • Applications of information theory in complexity theory.
    • Algorithms for problems under real-life assumptions.
    • Game theory, network effects, and mechanism design.
    • Computation involving dynamical systems, fractals, and cellular automata. 
    • Game theory applied to problems in healthcare.

Prof. Bernard Chazelle, 194 Nassau St. Room 301

  • Research Areas: Natural Algorithms, Computational Geometry, Sublinear Algorithms. 
  • Independent Research Topics
    • Natural algorithms (flocking, swarming, social networks, etc).
    • Sublinear algorithms
    • Self-improving algorithms
    • Markov data structures

Dr. Marshini Chetty, Room 412

  • Independent Research Topics:
    • Kids and Internet Safety - design app/browser exensions/tools/user interface cue to help elementary school kids navigate the web safely at home and on the go.  
    • Tor Browser/"Dark Web" - research how to improve Tor's UX and/or onion services.
    • Privacy/Security on Social Media in South Africa - create a study to understand privacy and security concerns for mobile users on social media in South Africa (may involve travel)
    • Virtual Private Networks and Privacy/Security - see how users perceive privacy and security issues on VPN and/or measure what  data VPNs collect versus what data they say they collect. Study in the context of high school use.
    • Disguised Advertisements on Social Media: Build a browser plugin to detect affiliate marketing on YouTube or Pinterest.

Asst. Prof. Jia Deng, Room 423

  •  Research Areas: Computer Vision, Machine Learning.
  • Independent Research Topics:
    • 3D Vision
    • Object recognition and action recognition
    • Deep Learning, autoML, meta-learning
    • Geometric reasoning, logical reasoning.


Prof. David Dobkin, Room 419 On sabbatical during the 2018-2019 AY.

  • Research areas:  processing and machine learning in public data sets, information visualization
    • Visualizing and learning from public data sets
    • Sports analytics
    • Development of interesting mobile phone apps


Dr. Robert Dondero, Corwin Hall, Room 038

  • Research Areas:  Software engineering; software engineering education.
  • Independent Research Topics:
    • Develop or evaluate tools to facilitate student learning in undergraduate computer science courses at Princeton, and beyond.
    • In particular, can code critiquing tools help students learn about software quality?

Prof. Zeev Dvir, 194 Nassau St. Room 250

  • Research Areas:  Research Areas: computational complexity, pseudo-randomness, coding theory and discrete mathematics.
  • Independent Research: I have various research problems related to Pseudorandomness, Coding theory, Complexity and Discrete mathematics - all of which require strong mathematical background.

Prof. Barbara Engelhardt, Room 322

  • Research Areas: Machine Learning, Statistics, Statistical Genomics
  • Independent Research Topics:
    • Development of statistical and ML models for large scale data analysis
      • fMRI data analysis
      • genetic, epigenetic, and organismal data
      • medical data: EMRs, time series, longitudinal studies
      • Other: music, movie ratings, recipes, text
    • Statistical models for specific questions:
      • Causal inference and instrumental variable analysis
      • Model checking with posterior predictive checks
      • Inference of undirected network from observational and time-series data

Prof. Nick Feamster, Sherrerd Hall - Room 310  

  • Research Areas: Networking, Security, Anti-Censorship
  • Fall 2017 IW Seminar - Security and Privacy in the Internet of Things (IoT)
  • I am generally interested in topics that improve the performance and accessibility of the Internet and its applications. My interests range from network management and and security (the things that make the network "work", including topics like software defined networking) to Internet censorship and control to performance measurement (especially in far-flung regions of the world, such as developing regions). The type of work I do is general systems-based, empirical, and data-driven; much of the research projects described below involve collection and analysis of large-scale network data (including applications of statistical machine learning), as well as the design and implementation of the systems to support this data collection, analysis, and inference.

Below are some broad areas where I am currently working and have specific project ideas.  I generally find that undergraduate research works best if students select a problem from the topic list below; this allows me to devote more attention to your project, and also to couple you with other students who are working on related problems, thus allowing you to take advantage of a broader knowledge base than just me.

  • Performance measurement of broadband and mobile access networks.  As broadband Internet access becomes more pervasive, understanding the performance that end users receive---and how they use he available capacity---is more important than ever.  Towards this goal, I work on technologies to characterize and improve the performance of fixed and mobile broadband access networks.  My group develops software to perform these measurements, including BISmark (for home routers, Raspberry Pis, etc.) and My Speed Test (for Android), and I am very interested in working with students who want to gain experience developing tools and systems for these environments or with analyzing data collected from these settings.  Below are some possible project ideas:
    • Understanding Mobile Data Performance and Usage. For approximately two years, we have been collecting data from a relatively large deployment of a mobile phone application that we developed called MySpeed Test, which is available in the Google App Store (https://play.google.com/store/apps/details?id=com.num&hl=en). At its peak, the tool had about 5,000 users in more than 30 countries.  Currently, the tool has about 1,000 installed versions running.  The tool collects a variety of data, both about network performance and about network usage.  For example, the tool collects information about the throughput and latency that a mobile device experiences to different network destinations (e.g., Google, Facebook).  In addition to the performance data, the tool also gathers data about user behavior—such as how much data each application on the phone consumes, how often they use each application, and so forth.  Finally, the application collects metadata, such as the devices physical location, remaining battery life, billing cycle, and other environmental characteristics.  We envision a variety of possible data analysis exercises that students could perform using this dataset.  The dataset has such a rich set of features and many analysis questions are possible. One possible starting point would be to ask how user behavior correlates with the network performance, the amount of data they have used in their billing cycle, time of day, the type of device they have, and so forth. 
    • Pinpointing locations of congestion (e.g., Comcast/Netflix). Current events have highlighted the ongoing congestion episodes on the wide-area Internet, with consumers continually complaining of poor performance for various applications and Internet destinations. Yet, despite widespread attention in industry and popular media, we lack accurate methods for pinpointing congestion locations.  We could use distributed measurement frameworks such as BISmark, MySpeedTest, and others (e.g., RIPE Atlas) to try to get more accurate characterizations of the locations of Internet congestion.  See this (flawed) report for a starting point on a problem statement; we can probably do better.
    • Home network performance troubleshooting. We have developed initial algorithms to determine whether a performance bottleneck is caused by a user's home wireless network or by the portion of the path on the wide area Internet.  These algorithms can be deployed on the BISmark home router devices and placed in user homes to study the contribution of users' home wireless networks to various network and application problems.
    • Performance measurement and characterization of emerging technologies. I would like to use our existing measurement platforms (i.e., BISmark, MySpeedTest) to design measurement tools that characterize various ISPs' support for emerging technologies, such as DNSSEC and IPv6?
  • Censorship measurement and circumvention. More than 60 countries around the world implement some form of Internet censorship.  We are developing techniques to better understand these practices and ultimately to assist citizens with circumventing these controls.  Along these lines, two possible project areas involve (1) analyzing measurements of Internet censorship that we have collected (or collecting new ones); (2) better understanding the capabilities and limitations of existing circumvention tools; (3) designing new approaches for circumvention.  A few possibilities are below.
    • Measuring Internet censorship. What is the current state of Internet censorship and how can we fight it? We are interested in who is censoring the Internet, what they are blocking access to, and how they are restricting access. In answering these questions, you could work on anything from developing ways to get around censorship to helping NGOs around the world advocate against censorship. 
    • Analysis of censorship measurements. We have collected extensive measurements of Internet censorship and manipulation using a tool called Encore. It would be interesting to analyze the data on Web filtering that we have been gathering for more than a year, with the goal of identifying both broader patterns across different regions and countries and across time.
    • Extensions to ExitMap. ExitMap is a tool for characterizing properties of Tor exit relays across the Internet.  The tool was written by Philipp Winter, who is now a researcher at Princeton and is an active Tor developer.  Projects involving Exitmap will give you a chance to interact directly with a Tor developer!
      • Add new scanning modules.  For example, add a module that searches for arbitrary keywords, crawls the web, and compares Tor and not-Tor traffic. Or, add a module that looks for exit relays performing traffic monitoring.
      • Add code that makes it possible that exitmap runs autonomously in the background and periodically fetches new server descriptor: <https://github.com/NullHypothesis/exitmap/issues/7>
  • Software-defined networking (SDN). Briefly, SDN makes it possible to control the behavior of the network from a single high-level program (e.g., a Python or Java program). This paradigm opens up many new possibilities, since controlling the network becomes a software development problem, rather than one that is constrained by low-level, vendor-specific, proprietary interfaces.  I'm interested in two areas of SDN:
    • Applications of SDN to Wide-Area Networking. We are developing an SDN controller and working to deploy this in some of the world's largest Internet Exchange Points (IXPs), with the hopes of changing how Internet service providers (e.g., Comcast, Netflix) exchange traffic. The flexibility that SDN provides makes it possible to improve security, enable more flexible interconnection policies, automate traffic management, and so forth. There are many different possibilities for working in this area. Here are some project ideas.
    • Fast, scalable, and accurate inference algorithms that can provide input to network control systemsKinetic is one such system that we have built in the past that integrates event stream processing with network control, to solve problems with dynamic control such as authentication and intrusion detection. We are beginning to explore how stream processing engines such as Kafka and Storm can be used to process network event streams, how scalable machine learning can be applied to network inference, and how the output from these algorithms can be used to enable networks that are self-tuning.
  • Internet of Things (IoT) security.  The increasing number and diversity of consumer electronics devices that are connected to the Internet introduces a grave security threat, since many of these devices are what I would call "fundamentally insecure". Given that we are likely to have a large number of insecure devices connected to the network that cannot be patched, we need new capabilities in the network that ensure both the security of these devices and the privacy of their users.  Some possible sub-problems include:
    • Device fingerprinting.  By analyzing the traffic patterns from devices on the network, determine what types of devices are connected to the network?  (For example, can you automatically identify a thermostat, photo frame, etc. based on network traffic patterns?)
    • Anomaly detection.  Develop algorithms that can detect when an IoT device is deviating from normal behavior.  Incorporate these algorithms into a "network firewall" that can automatically detect and mitigate anomalous or attack traffic.

Dr. Christiane Fellbaum, 1-S-14 Green

  • Research Areas: theoretical and computational linguistics, word sense disambiguation, lexical resource construction, English and multilingual WordNet(s), ontology
  • Fall 2017 IW Seminar:
  • Independent Research Topics:
    • Anything having to do with natural language--come and see me with/for ideas suitable to your background and interests. Some topics students have worked on in the past:
    • Developing parsers, part-of-speech taggers, morphological analyzers for underrepresented languages (you don't have to know the language to develop such tools!)
    • Quantitative approaches to theoretical linguistics questions
    • Extensions and interfaces for WordNet (English and WN in other languages),
    • Applications of WordNet(s), including:
    • Foreign language tutoring systems,
    • Spelling correction software,
    • Word-finding/suggestion software for ordinary users and people with memory problems,
    • Machine Translation 
    • Sentiment and Opinion detection
    • Automatic reasoning and inferencing
    • Collaboration with professors in the social sciences and humanities ("Digital Humanities")

Prof. Edward Felten, Sherrerd Hall -  Room 302 

  • Research Areas: Computer security and privacy; Internet software; technology law and policy.

  • Independent Research Topics:

    • Technology for open government.
    • Computer security and privacy.
    • Digital media distribution.
    • Copy protection and peer to peer technologies.
    • Electronic voting.
    • Technology, society and public policy.
    • Any other interesting or offbeat topic.

Prof. Adam Finkelstein, Room 424 

  • Research Areas: computer graphics, animation.
  • Fall 2017 Seminar - Deep Learning
  • Ideas for 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.
    • Experiments where the data is collected via the internet.
    • Any interesting project in computer graphics.

Dr. Robert S. Fish, Corwin Hall, Room 037

Prof. Michael Freedman, Room 308 

Prof. Thomas Funkhouser, Room 422 - On sabbatical during the 2018-2019 AY. 

  • Research Areas: Computer Graphics, Computer Vision.
  • Independent Research Topics:
    • Develop methods for 3D scanning of interior environments.  
    • Investigate methods for recognizing objects in 3D scans.
    • Help build systems for analyzing 3D models in large repositories.
    • Any other projects related to computer graphics or computer vision.

Prof. Aarti Gupta, Room 220

  • Research Areas: Formal methods, program analysis, logic decision procedures
  • Independent Research Topics:
    • Finding bugs in open source software using automatic verification tools
    • Software verification (program analysis, model checking, test generation)
    • Decision procedures for logical reasoning (SAT solvers, SMT solvers)

Prof. Elad Hazan, Room 409

  • Research interests: 
  • Machine learning, efficient methods for mathematical optimization, statistical and computational learning theory, regret minimization in games.
  • Independent Research Topics:
    • Implementation and algorithm engineering of learning methods. 
    • Recommendation systems, matrix completion. 
    • Optimization for deep learning. 
    • Learning from missing and sparse data. 
    • Sublinear optimization

Asst. Prof. Kyle Jamieson, Room 305

  • Research areas: Wireless and mobile networking; indoor radar and indoor localization; Internet of Things
  • Fall 2017 IW Seminar - Distributed Radio Sensing Across the Princeton Campus
  • Independent research topics (updated July '15):
    • Investigate the most efficient way to deliver packets to an array of low-cost Wi-Fi APs strung along the ceiling of a tunnel so that they may deliver those data to customers aboard a metro train speeding through the tunnel below.
    • Faster-than-Nyquist is a technique in the wireless physical layer that allows packets to be decoded when their transmissions are speeded up in a certain way.  Can you think of interesting ways of leveraging this at higher layers of the networking stack, for example the way it might interact with Wi-Fi’s link-layer frame aggregation functions?
    • Read papers from my lab and propose an interesting extension or a new “take" on the ideas we’ve explored.
    • See other topics on my independent work ideas page (campus IP and CS dept. login req'd)

Dr. Alan Kaplan, 221 Nassau Street - Room 105 -

  • Research Areas: mobile apps/technology,  mobile app development, internet of things, multi-programming language interoperability
  • Fall 2017 IW Seminar - Random Apps for Kindness
  • Independent Research Topics:
    • Civic Computing/Software for Social Good - These projects should have an impact - locally, nationally or even globally - by helping some community of interest. Projects may involve and/or extend existing (open source) platforms, or t can be entirely new ventures. Projects can involve mobile devices, web platforms, cloud-based backends, open APIs/data, hardware sensors, etc. But the end result should, quite simply, help people and communities in some way.
    • Automated Multi-Language Toolset - Design, develop and evaluate a toolset that helps automate the development of multi-language software (e.g., Android Java SDK and NDK).

Prof. Brian Kernighan, Room 311-

  • Research Areas: application-specific languages, document preparation, user interfaces, software tools, programming methodology
  • Fall 2017 IW Seminar - Computer Science Tools and Techniques for Digital Humanities 
  • Independent Research Topics: 
    • Application-oriented languages, scripting languages.
    • Tools; user interfaces
    • Digital humanities

Asst. Prof. Zachary Kincaid, Room 219

Research areas: programming languages, program analysis, program verification, automated reasoning 

Independent Research Topics:

  • Develop a practical algorithm for an intractable problem (e.g., by developing practical search heuristics, or by reducing to SAT, or by identifying a tractable sub-problem, ...).
  • Design a domain-specific programming language, or prototype a new feature for an existing language.
  • Any interesting project related to programming languages or logic.

Prof. Andrea LaPaugh, Room 304 

  • Research Areas: Social network analysis; Search and retrieval of information; data mining, particularly clustering; combinatorial algorithms
  • Independent Research Topics:
    • Investigating new characterizations of the graph structure of the Web or other social networks.
    • Experimental evaluations of clustering algorithms, especially new algorithms.
    • Data mining a social network.
    • Other topics with an information discovery or management aspect, including novel applications using databases or information retrieval.

Asst. Prof. Amit Levy, Room 307

  • Research Areas: Operating Systems, Distributed Systems, Embedded Systems, Internet of Things
  • Independent Research Topics:
    • Distributed hardware testing infrastructure
    • Second factor security tokens
    • Low-power wireless network protocol implementation
    • USB device driver implementation

Dr. Dan Leyzberg, Corwin Hall, Room 034

  • Research Areas: human-robot interaction, human-computer interaction, online tools for computer science education.
  • Independent Research Topics:
    • How do people actually interact with technology? Investigate human-computer or human-robot interaction with experimental methodologies from the social sciences, including psychology and cognitive science. First step: identify the technology and usage/engagement metrics you might be interested in studying. You will write code that collects and analyzes this data.
    • Help me build tools for computer science education at Princeton and beyond. I taught high school computer science for many years and if you took any computer science at the high school level, you know that the tools available to teachers are relatively primitive. Princeton has a few internal tools developed for COS 126 that would be great to make available to high school students or to other colleges students such as the Java Visualizer and Websheets. You are not limited to these existing tools; propose a tool that might be useful to students and we'll try to make it work!

Prof. Kai Li, Room 321

  • Research Areas: Distributed systems; storage systems; content-based search and data analysis of large datasets.
  • Independent Research Topics:
    • Fast communication mechanisms for heterogeneous clusters.
    • Approximate nearest-neighbor search for high dimensional data.
    • Data analysis and prediction of in-patient medical data.
    • Optimized implementation of classification algorithms on manycore processors.

Dr. Xiaoyan Li, 221 Nassau Street - Room 104

  • Research areas: Information retrieval, novelty detection, question answering, AI, machine learning and data analysis.
  • Independent Research Topics:
    • Explore new statistical retrieval models for document retrieval and question answering.
    • Apply AI in various fields.
    • Apply supervised or unsupervised learning in health, education, finance, and social networks, etc.
    • Any interesting project related to AI, machine learning, and data analysis.


Asst. Prof. Wyatt Lloyd, Room 323

  • Research areas: Distributed Systems
  • Independent Research Topics:
    • Catching algorithms
    • Storage systems
    • Distributed transaction algorithms and implementations


Dr. Jérémie Lumbroso, Corwin Hall, Room 035

  • Research areas: Probabilistic algorithms (data streaming algorithms & random generation), data analysis, data structures, analysis of algorithms,  analytic combinatorics.
  • Possible Independent Research Topics:
    • Develop new algorithms for the distinct sampling problem (useful to in data analysis to get fast representative histograms of a large set of data).
    • Extend existing universal random generation framework (such as Boltzmann Samplingdemo here), or improve their implementation.
    • Design an optimized algorithm for a specific combinatorial class.
    • Analyze an algorithm using precise analytic combinatorics.
    • Text (or data) clustering and processing; linguistic analysis (especially with French, German, Spanish, etc.).
    • ...
  • I am also coordinating the development of new grading and assessment infrastructure at Princeton, that will eventually be open-source and deployed at other universities. These projects focus on automation, using various techniques - such as OCR or OMR -, smart heuristics, and creative UI design, to streamline most tasks associated with a university. The goal is to be more efficient, to collect more data, and to better understand what makes a good course. You would have the opportunity to contribute to something that will be used at Princeton's CS department (of which the intro course has the highest enrollment on campus) and beyond for years to come. Here are some example projects:
    • Design/improve an OMR (Optical Mark Recognition) project that is currently being deployed for the computer assisted grading of exams.
    • Integrate handwritten character recognition to the OMR component.
    • Analyze large quantities of secondary data collected (for example, do students that do the programming assignments in pairs do better in the course or not? how many hours in COS Lab are helpful on average, and when do we hit a point of diminishing returns).
    • Design heuristics and interfaces to spot students in difficulty much earlier in the term, when there is some hope of helping them.
    • Extend the COS Lab Queue so it may be used out of the box in all labs accross campus.
    • Develop a robust testing infrastructure using virtual machines, secure threads, and intelligent feedback to supplant the run-script system currently used.
    • Develop an interface to make grading of assignment done online.
    • Integrate hardware solutions (cardswipe, barcode scanning, etc.) to many of these tools to make them even more frictionless.
    • Some related crowd-sourcing projects...
  • A lot of these projects can include some Big Data component, and involve analyzing data and drawing some observations from it.
  • Finally, I am always up for any ambitious coding project, or survey project in preparation (or not) to an undergrad thesis.

Prof. Margaret Martonosi, Room 208

  • Research Areas: Evaluating the performance of different hardware synchronization instructions (fences and atomic memory operations) in highly parallel benchmark applications, across different implementations and instruction sets (eg: comparing x86 processors from Intel and AMD, ARM processors from Samsung, Qualcomm, etc).
  • Designing a specialized hardware accelerator for modern workloads (e.g., graph analytics, machine learning algorithms, mobile applications)
  • Investigating security and privacy vulnerabilities in IoT devices, particularly Smart Home architectures.  Particularly interested in solutions for detection and mitigation of race conditions and inconsistent state in IoT devices.
  • Other topics in computer architecture or mobile / IoT systems also possible.

**Spring 2019** Opportunity

Conformance testing for GPUs

Welcome to the wild west of programming! While GPUs have been the work horse behind advancements in AI and graphics rendering, they have had arough history w.r.t. reliability and robust programming models. This project
takes on the role of the sheriff in this exciting domain, in particular, we aim to develop robust testing techniques to ensure GPUs execute according to their specification. This project will have elements from theory (synthesizing a
test suite from formal semantics), systems (adding system stress to the test suite) and data science (analyzing and scoring from large amounts of test results). You will have the chance to participate in any of these elements
according to interest.  Apart from being technically rich, this project has cross-Atlantic collaborators (Imperial College London) as well as industrial partners (Google and Nvidia). Come join the fun!
Background:  217 required.  Either 375 or 318 helpful but not required.  
Contact mrm@princeton.edu and ts20@princeton.edu for more info.

Asst. Prof. Jonathan Mayer, Sherrerd Hall - Room 307 

  • Research areas: Technology law and policy, with emphasis on national security, criminal procedure, consumer privacy, network management, and online speech.
  • Independent Research Topics:
    • Assessing the effects of government policies, both in the public and private sectors.
    • Collecting new data that relates to government decision making, including surveying current business practices and studying user behavior.
    • Developing new tools to improve government processes and offer policy alternatives.

Dr. Christopher Moretti, Corwin Hall, Room 036

  • Research areas: Distributed systems, high-throughput computing, computer science/engineering education
  • Independent Research Topics:
    • Expansion, improvement, and evaluation of open-source distributed computing software.
    • Applications of distributed computing for "big science" (e.g. biometrics, data mining, bioinformatics)
    • Software and best practices for computer science education and study, especially Princeton's 126/217/226 sequence or MOOCs development
    • Sports analytics and/or crowd-sourced computing

Dr. Arvind Narayanan308 Sherrerd Hall 

Research areas: privacy, fairness in machine learning, cryptocurrencies & blockchains,.

Some topics and questions I'm interested in:

1. What can be inferred about people based on publicly available online data?
Did you know that computer vision techniques are capable of analyzing YouTube videos to infer the heart rates of people in the videos? This can be done by extracting the subtle, humanly imperceptible head motion caused by the influx of blood at each heart beat. What other sensitive information can be inferred based on publicly available data using clever algorithms?
2. How does machine learning absorb human biases and what can we do about it?
Machine learning captures patterns from training data, and that includes societal prejudices such as racial and gender stereotypes. Unsurprisingly, machine learning methods used for automated screening of resumes or automated risk scoring of criminal defendants turn out to be biased against some groups. How can we mitigate such biases?
3. Blockchain analysis with BlockSci
The Bitcoin blockchain is an unprecedented public log of financial transactions — 150 gigabytes and growing quickly. It holds many secrets. Can we do a forensic analysis of well-known thefts of bitcoins to discover where the money went? How anonymous are Bitcoin users? What does the wealth distribution look like? My research group has built a research tool called BlockSci to help answer these types of questions.

Dr. Iasonas Petras, Corwin Hall, Room 033

  • Research Areas: Information Based Complexity, Numerical Analysis, Quantum Computation.
  • Prerequisites: Reasonable mathematical maturity. In case of a project related to Quantum Computation a certain familiarity with quantum mechanics is required (related courses: ELE 396/PHY 208).
  • Possible research topics include:

1.   Quantum algorithms and circuits:

  • i. Design or simulation quantum circuits implementing quantum algorithms.
  • ii. Design of quantum algorithms solving continuous problems (such as Eigenvalue problems for Partial Differential Equations).

2.   Information Based Complexity:

  • i. Necessary and sufficient conditions for tractability of Linear and Linear Tensor Product Problems in various settings (for example worst case or average case). 
  • ii. Necessary and sufficient conditions for tractability of Linear and Linear Tensor Product Problems under new tractability and error criteria.

3. Topics in Scientific Computation:

  • i. Randomness, Pseudorandomness, MC and QMC methods and their applications (Finance, etc)

Prof. Benjamin Raphael, Room 309  

Research interests: Computational biology and bioinformatics; Cancer genomics; Algorithms and machine learning approaches for analysis of large-scale datasets

Fall 2017 IW Seminar - Computational Genomics
Research projects:

  • Implementation and application of algorithms to infer evolutionary processes in cancer
  •  Identifying correlations between combinations of genomic mutations in human and cancer genomes
  •  Design and implementation of algorithms for genome sequencing from new DNA sequencing technologies
  • Graph clustering and network anomaly detection, particularly using diffusion processes and methods from spectral graph theory

Prof. Jennifer RexfordRoom 222

  • Research areas: networking, software-defined networks, network management
  • Independent Research Topics:
    • Enterprise and data-center networking solutions built on Software Defined Networking (SDN).  For example, middleboxes like firewalls, NATs, intrusion detection systems, and load balancers, adaptive measurement of network traffic, networking in challenged environments (e.g., developing regions, emergency situations, etc.).
    • Research on better programming abstractions for SDN.  Projects could combine computer networking with other areas like programming languages, network optimization, algorithms, and distributed systems.
    • Any interesting project in computer networking.

Prof. Szymon Rusinkiewicz, Room 406

  • Research Areas: computer graphics; acquisition of 3D shape, reflectance, and appearance of real-world objects; novel methods for physical fabrication of objects with particular shape/appearance.
  • Independent Research Topics (updated fall, 2011):
    • Construct an efficient and easy-to-use 3-D scanning system for large collections of fragments of archaeological artifacts.
    • Investigate algorithms for computing and visualizing differences between ancient coins struck from similar, but slightly different, dies.
    • Develop a system combining body-mounted cameras and/or Kinect with tactile or auditory feedback to help blind people avoid obstacles.
    • Use computer-controlled milling machines to fabricate bas-reliefs, using substrates of heterogeneous materials.
    • Adapt a MakerBot or other hobbyist-grade manufacturing device to use multiple materials.
    • Implement (and perform the appropriate theoretical sampling/aliasing analysis for) a rendering system that explicitly accounts for the red/green/blue sub-pixels of LCD displays.
    • Other projects in computer graphics and vision, or technologies for documenting and studying cultural heritage objects.

Prof. Olga Russakovsky, Room 408

  • Research Areas: computer vision, machine learning, deep learning, crowdsourcing, fairness&bias in AI
  • Independent Research Topics (from AY 2017-2018):
    • Design a semantic segmentation deep learning model that can operate in a zero-shot setting (i.e., recognize and segment objects not seen during training)
    • Develop a deep learning classifier that is impervious to protected attributes (such as gender or race) that may be erroneously correlated with target classes
    • Build a computer vision system for the novel task of inferring what object (or part of an object) a human is referring to when pointing to a single pixel in the image. This includes both collecting an appropriate dataset using crowdsourcing on Amazon Mechanical Turk, creating a new deep learning formulation for this task, and running extensive analysis of both the data and the model

Prof. Robert Sedgewick, Room 319

  • Research Areas: Scientific analysis of algorithms, Analytic combinatorics
  • Independent Research Topics:
    • 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.

Prof. Sebastian Seung, Princeton Neuroscience Institute - Room 153

  • Research Areas: computational neuroscience, connectomics, "deep learning" neural networks, social computing, crowdsourcing, citizen science
  • Independent Research Topics:
    • Gamification of neuroscience, e.g. EyeWire 
    • Hierarchical segmentation and object detection in biological images 
    • Crowdsourcing of computer science problems
    • Neural network theories of visual computation in the retina

Prof. Jaswinder Pal Singh, Room 324

  • Research Areas: Boundary of technology and business/applications; building and scaling technology companies with special focus at that boundary; parallel computing systems and applications: parallel and distributed applications and their implications for software and architectural design; system software and programming environments for multiprocessors.
  • Independent Research Topics:
    • Develop a startup company idea, and build a plan/prototype for it.
    • Explore tradeoffs at the boundary of technology/product and business/applications in a chosen area.
    • Study and develop methods to infer insights from data in different application areas, from science to search to finance to others. 
    • 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.
    • Design and implement a scalable distributed algorithm.

Prof. 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.

Prof. Robert Tarjan, 194 Nassau St. Room 308

  • 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.

Prof. 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.

Prof. David Walker, Room 211 

  • Research Areas: Programming languages, type systems, compilers, domain-specific languages, software-defined networking and security
  • Independent Research Topics:  Any other interesting project that involves humanitarian hacking, functional programming, domain-specific programming languages, type systems, compilers, software-defined networking, fault tolerance, language-based security, theorem proving, logic or logical frameworks.

Dr. Kevin Wayne, Corwin Hall, Room 040

  • Research Areas: design, analysis, and implementation of algorithms; data structures; combinatorial optimization; graphs and networks.
  • Independent Research Topics:
    • Design and implement computer visualizations of algorithms or data structures.
    • Develop pedagogical tools or programming assignments for the computer science curriculum at Princeton and beyond.
    • Develop assessment infrastructure and assessments for MOOCs.

Asst. Prof. Matt Weinberg,  194 Nassau St. Room 222

  • Research Areas: algorithms, algorithmic game theory, mechanism design, game theoretical problems in {Bitcoin, networking, healthcare}.
  • Independent Research Topics:
    • Theoretical questions related to COS 445 topics such as matching theory, voting theory, auction design, etc. 
    • Theoretical questions related to incentives in applications like Bitcoin, the Internet, health care, etc. In a little bit more detail: protocols for these systems are often designed assuming that users will follow them. But often, users will actually be strictly happier to deviate from the intended protocol. How should we reason about user behavior in these protocols? How should we design protocols in these settings?

Asst. Prof. Mark Zhandry, 194 Nassau St. Room 242

  • Research Areas: Cryptography, Privacy, Quantum Information and Computation
  • Independent Research Topics: Various topics in cryptography, privacy, and quantum computing
I am also looking for a student or students to help create a “Cryptography Zoo”, an analog of the “Complexity Zoo” (https://complexityzoo.uwaterloo.ca/Complexity_Zoo) for cryptographic concepts.  This would be a great resource for future researchers, documenting the various foundational results in cryptography.  
In more detail, the various concepts in cryptography (encryption, signatures, hash functions, etc) are nodes in a directed graph.  The edges in this graph are the various feasibility results (such as block ciphers can be used to build secret key encryption).  Various graph theory concepts, when applied to this graph, yield interesting insights for researchers.  For example, a path in the graph represents a chain of feasibility results.  So the path 
pseudorandom generator —> pseudorandom function—> block cipher 
demonstrates that pseudorandom generators can be used to build block ciphers.  Similarly, two concepts are in the same strongly connected component if and only if they are equivalent concepts.  
I am interested in documenting this graph, providing a central bibliography for the various cryptographic concepts.  In addition, I would like to provide users the ability to run simple graph algorithms on the graph.  For example, if the user wants to know if pseudorandom generators can be used to build block ciphers, they will simply enter the two concepts into the interface.  They will get the response “yes”, along with the path above.

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.


Prof. Branko Glisic Room E330 - Engineering Quad

  • Research Areas: 
    • Documentation of historic structures
    • Cyber physical systems for structural health monitoring
  • Ideas for Independent Research Topics:
    • Developing virtual and augmented reality applications for documenting structures
    • Applying machine learning techniques to generate 3D models from 2D plans of buildings
  •  Contact: Rebecca Napolitano,

Prof. Sharad Malik, Engineering Quad, Room B224

  • Research Areas: 
    • Design of reliable hardware systems
    • Verifying complex software and hardware systems

Prof. Prateek Mittal, Engineering Quadrangle, Room B236

  • Research Areas: 
    • Internet security and privacy 
    • Social Networks
    • Privacy technologies, anonymous communication
    • Network Science
  • Ideas for Independent Research Topics:
    • Internet security and privacy: The insecurity of Internet protocols and services threatens the safety of our critical network infrastructure and billions of end users. How can we defend end users as well as our critical network infrastructure from attacks?
    • Trustworthy social systems: Online social networks (OSNs) such as Facebook, Google+, and Twitter have revolutionized the way our society communicates. How can we leverage social connections between users to design the next generation of communication systems?
    • Privacy Technologies: Privacy on the Internet is eroding rapidly, with businesses and governments mining sensitive user information. How can we protect the privacy of our online communications? The Tor project (https://www.torproject.org/) is a potential application of interest.

Prof. Ken Norman,  Psychology Dept, PNI 137

Potential research topics

  • Methods for decoding cognitive state information from neuroimaging data (fMRI and EEG) 
  • Neural network simulations of learning and memory

Caroline Savage, Office of Sustainability, Phone: (609) 258-7513, 

The Campus as Lab program supports students using the Princeton campus as a living laboratory to solve sustainability challenges. The Office of Sustainability has created a list of campus as lab research questions, filterable by discipline and topic, on its website.

An example from Computer Science could include using TigerEnergy, a platform which provides real-time data on campus energy generation and consumption, to study one of the many energy systems or buildings on campus. Three CS students used TigerEnergy to create a live energy heatmap of campus.

Other potential projects include:

  • Apply game theory to sustainability challenges
  • Develop a tool to help visualize interactions between complex campus systems, e.g. energy and water use, transportation and storm water runoff, purchasing and waste, etc.
  • How can we learn (in aggregate) about individuals’ waste, energy, transportation, and other behaviors without impinging on privacy?

Asst. Prof. Janet Vertesi, Sociology Dept, Wallace Hall 122 

  • Research areas: Sociology of technology; Human-computer interaction; Ubiquitous computing.
  • Possible projects: At the intersection of computer science and social science, my students have built mixed reality games, produced artistic and interactive installations, and studied mixed human-robot teams, among other projects.

Prof. David Wentzlaff, Engineering Quadrangle, Room 228

Computing, Operating Systems, Sustainable Computing.

  • Independent Research Topics:
  • Instrument Princeton's Green (HPCRC) data center
  • Investigate power utilization on an processor core implemented in an FPGA
  • Dismantle and document all of the components in modern electronics. Invent new ways to build computers that can be recycled easier.
  • Other topics in parallel computer architecture or operating systems
Follow us: Facebook Twitter Linkedin