Cornell students who have an appropriate background in the field of computer science are eligible to receive academic credit (CS 4999) for doing independent research with faculty or researchers in the Department of Computer Science. Typically, students requesting research studies will have had at least 1-2 years worth of CS field course experience. The background experience that you are required to have varies depending on the nature of the study and the stated requirements of the sponsoring instructor.

If you are interested in doing an independent study, you should:

  1. define your area(s) of interest
  2. review the departmental list of Faculty Research Interests to find faculty members who might have related interests
  3. approach a CS faculty member who is working in that area and discuss the possibility of doing an independent research project
  4. reach an agreement with the supervising faculty member about what will be studied and how the results will be evaluated
  5. provide the faculty member with a brief written understanding of what you think you are studying and how the results will be evaluated
  6. register your project as outlined below

* If you are still uncertain about who to approach after looking at faculty research areas, you should discuss the matter with your CS faculty advisor.

Registering for CS 4999

All CS students taking CS 4999 are asked to register an abstract with the department. Unless requested otherwise, these abstracts will be included in the listing that appears here. You must use the paper add/drop form if you have already registered for another CS 4999 this semester. Here are the steps to follow to register your CS 4999 project with the department:

  1. officially add CS 4999, via online add/drop or paper add/drop*, using the Class ID# from the class roster that corresponds to the professor with whom you're working. (make sure that the professor *knows* you are working with her/him before you sign up - see steps outlined above)
  2. if using the paper add/drop form, stop by the Computer Science Undergraduate Office to receive departmental approval (stamped on the add/drop form)
  3. e-mail the following six items of information:

    i. your name
    ii. title of your independent study
    iii. brief abstract describing your study (examples)
    iv. name of the instructor with whom you are working
    v. agreed upon number of credits of the independent study
    vi. graduation year

The purpose for registering CS 4999 projects is to share research ideas with other students in the program. Your submission may be posted on the web unless you specifically request otherwise. If you would like us to include a URL of your project web site, please make sure it is a permanent research archive site - not a location that exists in your temporary account.

For more information about registering for CS 4999, go to Gates 110 or email the Computer Science Undergraduate Office.

Examples of CS 4999 Projects/Studies

PEPPER, Frans Effendi '05 (Spring 2005) Instructor: Johannes Gehrke

Abstract: PEPPER is a Peer-to-Peer Data Management System. As part of the PEPPER project, we are exploring a much richer query semantics for peer-to-peer systems. We envision a future where users will use their local servers to offer services described by semantically- rich XML documents. Users can then query this "P2P service directory" as if all the services were registered in one huge centralized database. Towards this goal, we are developing novel peer-to-peer indexing and query processing techniques. In this project, I am involved in the overall design and implementation of the PEPPER system.

Orthogonal Procrustes and Rotation of Subspaces, Wei Guo (Fall 2004)

Instructor: Charles Van Loan

Abstract: Given m by n matrices A and B, the Orthogonal Procrustes problem looks into finding an n by n orthogonal matrix that minimizes the Frobenius norm of A-B*U. I will be focusing on rotation of subspaces and in particular, various algorithms that numerically compute an orthogonal rotational matrix U for a given matrix B, which sends B to B*U that is closest to matrix A in terms of minimum Frobenius norm of A-B*U.

Home Health Horoscopes, Jinen Kamdar (Spring 2004)

Instructor: Phoebe Sengers

Abstract: The Home Health Monitor is a design for a system that provides feedback about a home's emotional temperment. Light, temperature, door sensors and other indicators can be used to study people's activities inside the different areas of their home. "Sensor readings and trends are mapped in state space to a collection of sentences drawn from a large number of published horoscopes to automatically generate a bespoke horoscope for the particular household on a given day" (source: Gaver, Beaver and Benford,"Ambiguity as a Resource for Design"). In other words, we want to provide people with a systematic but menaingful reflection of the emotional state of their home. Aside from the technical aspects of this project (using an XML database to generate a corpus of horoscope info and machine learning to determine the emotional tone of a sentence, and then selecting the appropriate sentences), the HCI involves studying horoscopes and their impact on people.

Robocup 2004, Ivan Hor Siu Han (Spring 2004)

Instructor: Bart Selman

Abstract: Robocup is a multi-disciplinary project which aims to build fully autonomous robots capable of engaging other teams of robots in a game of soccer. I will be assisting the COM S team in developing strategy in general and offensive maneuvers in particular.

Computer Game Design (Part 1) Chihiro Fukami '04, David Lin '06, Dustin Shultz '04, Eric Holmberg-Weidler'04, Gregory Evan Poucher '05, Joseph Egbulefu '04, Jonathan Lyons '05, Lorraine Pace '05, Louis Lu '03, Sunil Annapareddy '05, Loraine Sydney de Lapeyrouse '04, Wei-Han Ho '05 (Spring 2003)

Instructor: David Schwartz, Rama C. Hoetzlein

Abstract: This project is an exploration of the processes of computer game design. In addition to technical topics in artificial intelligence, computer graphics, physics and music, we will explore the history of computer games, the game development process, and violence in media and video games. Students will be expected to explore original game ideas and learn to work in groups while learning new techniques. The last seven weeks we will develop final game projects in collaboration with students in music and art.