
Undergraduate Honors
Overview
The following details outline the undergraduate departmental "Honors with Thesis" program, commencing in Fall 2003. Previously, departmental honors were awarded to graduating seniors who had obtained a GPA of 3.5 or above in their computer science courses. Note that students will only receive the "Honors with Thesis" notation on their transcript if the faculty vote to accept their thesis after successful completion of the steps outlined below. The GPA only based departmental honors will still be available for 2003-2004, but is likely to be changed or phased out after that time.
Requirements
- Students must have at least a 3.5 GPA in computer science courses after spring of junior year.
- Students must submit a thesis proposal in the spring of junior year to the faculty member with whom they intend to work. The proposals must have signed faculty acceptances before thesis course registration; copies will be held by the department administrator. (A list of research areas and related faculty members for thesis directions is posted below.)
- Students will sign up for 2 3-credit courses (600.519-520) while doing the thesis work, one per semester.
- Progress checkpoints will be administered by individual faculty supervisors.
- A first draft of the written thesis must be completed by April 1st.
- An oral presentation of the thesis work, open to all, must be held by April 1st.
- A faculty meeting will be held in early April to decide on accepting each thesis for honors. (Ie, successful completion of the agreed upon work does guarantee credits, but does not guarantee the honors notation).
- A final written thesis must be submit to the department by May 15th.
- BS students may count at most 3 additional independent type credits towards their CS credit requirements. (BA students can only count 6 total independent credits, including senior thesis.)
Topic Areas
- Kosaraju:
- Streaming architectures: In this class of problems, the data is input in an online fashion. There is a limited amount of storage to process this data. We want to extract some properties of data making use of this limited storage capacity. An example property is to find an approximate median of the data elements. This project involves some theoretical research and also a significant amount of implementation and testing.
- Animation of some properties of Automata & Computation Theory: There are several software tools for illustrating many design principles in Automata and Computation Theory. However, they lack many features such as illustrations of pumping lemmas for finite automata and context-free languages. The general issue is quite complex, but I have suggestions for specific ideas to pursue. I believe that impressive software tools can be implemented.
- Kumar & Eisner:
- Browsing of large directed graphs (millions of edges). This project combines automated graph layout with user interface design. The layout must change -- comprehensibly -- as the user navigates through different parts of the graph, zooms in or out, and requests more or less detail. The work will be used in a visual debugger for a new declarative programming language being developed in the Natural Language Processing Lab.
- Scheideler:
- Simulation of distributed algorithms for robot coordination problems.
- Simulation of a distributed data structures for information retrieval.
- Implementation of a secure shared memory algorithm.
- Simulation of distributed algorithms for multicommodity flows.
- Smith:
- I will supervise group software projects for senior theses. The piece of software must be a real application with a real set of customers and be planned for at least testing-level deployment as part of the project. Also the level of software tools used in the project must be of an advanced level (e.g. XML, Web services, EJB, etc).
- Terzis:
- Algorithms/Theory: Awerbuch, Kosaraju, Scheideler
- Computer Integrated Surgical Systems: Hager, Taylor
- Distributed Systems: Amir, Awerbuch
- Graphics: Cohen, Kumar
- Human Computer Interaction/Robotics/Vision: Hager, Taylor
- Natural Language Processing/Machine Learning/Info Retrieval: Eisner, Yarowsky
- Networks: Masson, Scheideler, Terzis
- Programming Languages: Smith
- Security: Ateniese, Masson, Monrose, Rubin, Shapiro
- Systems: Burns (distributed dbase, storage), Shapiro (OS)
Also see the faculty webpage to lookup research areas of interest for particular faculty members.