General Information on the CS Comprehensive Exam
The comprehensive examination process is a Sewanee tradition. In the
Computer Science Program the following links will guide you through the process decribed in greater detail below.
There are two parts to the exam
- Written Exam - 2nd comp. period of Fall Semester Senior Year
- Courses required of all majors will be included.
- Syllabus for Written Exam
- DATES for Official University Comp. Periods (link good as of Oct'10)
- Oral Exam - 2nd comp. period of Spring Semester Senior Year
- For DATES, see link above.
- Timeline is MOST critical to success.
- Guidelines for CHOOSING your paper
- Guidelines for THE DAY
- Papers chosen by seniors of yesteryear. (FYI & because we're proud of them.)
[Seniors'12] [Seniors'10] [Seniors'08] [Seniors'07] [Seniors'06] [Seniors'05] [Seniors'04] [Seniors'03] [Seniors'02] [Seniors'01]
The comprehensive experience for computer science majors is designed to be an integrative capstone educational experience providing students an opportunity to demonstrate the accumulated expertise and understanding of four years of academic study. This experience is a two-stage process that combines (1) a certification component, in which a student demonstrates mastery of the fundamentals of the discipline in a written comprehensive competency examination, and (2) a subsequent oral presentation and examination of a particular facet of computer science, demonstrating that the student has achieved an appropriate level of mastery and maturity in the discipline. Both components are described in more detail below.
To help develop the level of mastery required for the oral component, an increasingly ambitious series of oral presentations are integrated into our computer science classes. Beginning in the sophomore year students are given increasing responsibility for digesting, absorbing, explaining, and presenting theoretical concepts and underlying implementation details. By increasing the expectations for these presentations as students progress through the program and by giving students assessments of their performance at each point, we hope to prepare them for a meaningful and successful comprehensive experience.
The comprehensive experience is outlined in more detail below. For other information, you can go to the Computer Science Program or the Syllabus for the Written Comprehensive Examination in Computer Science.
I. Written Comprehensive Examination Covering Minimum Competencies
DATE: written examination must be taken during
second comprehensive exam period of the Advent (Fall) semester
covers minimum competencies (see syllabus)
graded on a pass/fail basis
students must pass the written exam in order to graduate
students must pass the written exam prior to taking the oral
II. Oral Comprehensive Examination
DATE: oral examination must be taken during
second comprehensive exam period of the Easter (Spring) semester
the selected paper must be approved by the computer science faculty at least eight weeks (See recommended timeline.) before the time of the oral examination
student must discuss the selected paper with a member of the computer science faculty and demonstrate that she or he is prepared for the exam in order to qualify to take the oral examination
a one-hour oral examination on the student's understanding of the material in the paper is conducted by the computer science faculty and graded as pass/fail
students must pass the examination to graduate
Content of oral presentation portion of exam:
- student will select a computer science journal or symposium paper in consultation with a member of the faculty and be expected to present the paper and lead a discussion of the topics in the paper
- paper would be chosen to challenge student to integrate knowledge from various core courses
- paper should address theoretical computer science issues and not be purely applied or platform related
- paper selected should be challenging yet one that can be understood by an undergraduate computer science senior
Additional criteria to consider when selecting your paper:
- Paper has age ≤ 10 years. Preferably, n ≤ 5.
- Paper is from a reputable established IEEE or ACM conference proceedings. All the "Special Interest Groups" (SIG's e.g. SIGGRAPH) are candidates.
- Paper must be published in a referee-ed location satisfying the above criteria.
- You should not use a paper which you know to have been previously used for oral comp'ing by a Sewanee CS student.
- Remember you will be spending a good part of the next couple of months with this paper. You'll want something in which you are interested in and willing to dig deep to understand. You will plan how you will go about leading a technical discussion with this paper as the subject.
- BE SURE TO START EARLY IN YOUR PAPER SEARCH. (See recommended timeline.) You may need to use inter-library loan to get published copies of papers DuPont does not have available thru on-line subscription. If there is interest you should schedule a session with the library about how to search the on-line sources and obtain papers.
During your Exam:
You can expect attendees will/can only be faculty members. Upon inquiry, it seems this is a formal procedure at which other students are not permitted.
You can expect the attending faculty members will all have read the paper, however, YOU are the person in the room who has the most in-depth knowledge about the material.
You will be expected to understand the broad as well as the detailed concepts of the paper and be able to explain them to an educated audience (us!).
You will not be expected to know everything (but I'd try to minimize it if I were you)
If you get in trouble with some questions, you should try to work them through "on your feet", possibly with the aid of the attendees, but you're tempting fate if you try to bluff.
You should not "lecture" but rather give a fairly detailed but brief (20-30min) summary of the paper and then lead a technical discussion on it's content. This means more than answering questions. You should be prepared to jump-start such a discussion if questions do not arise.
New Be sure in your talk to tie the material under discussion back to your Sewanee classes (mostly computer science!) whenever possible. A large part of what we look for in a good comprehensive exam is evidence that your entire education has been brought to bear on the material at hand and you are making connections and creating ever more sophisticated understanding from them.
New Examples presented should EXTEND the set which may be found in your paper. It will not be considered sufficient to recreate the examples of the paper. You must demonstrate the ability to abstract and extend the principles you are presenting by applying them to additional examples.
New Although PowerPoint or other presentation media may prove extremely helpful to you, your talk should not depend exclusively or primarily upon technology. If the university were to experience a power failure during your exam, you should be capable of continuing using the whiteboards and markers. The largest problems we have observed in past exams have included beautiful PowerPoint transcriptions of a paper under "discussion" which the candidate for degree then read to the committee.
- John Ingram selected:
"Accelerating SIFT on hybrid clusters"
by Seth Warn & Amy Apon
Proc. of (HPDGIS '11); ACM SIGSPATIAL Int'l Wkshp on High Performance & Distributed GIS (ACM New York, NY, USA ©2011 , pp 2-9)
- David Lanner selected:
"Integer representations towards efficient counting in the bit probe model"
by Gerth Stølting Brodal & Mark Greve & Vineet Pandey & Satti Srinivasa Rao
Proc. of (TAMC'11); Theory and applications of models of computation (Springer-Verlag Berlin, Heidelberg ©2011 pp 206-217)
- Reed Tomlinson selected:
"GPU-Quicksort: A Practical Quicksort Algorithm for Graphics Processors"
by Daniel Cederman & Philippas Tsigas
ACM Journal of Experimental Algorithmics (Vol. 14, No. 1.4, July'09)
- Joseph Garcia selected:
"Coherent Line Drawing"
by Henry Kang, Seungyong Lee and Charles K. Chui
Non-Photorealistic Animation and Rendering (NAPR'07)
Sponsored by : ACM SIGGRAPH
- Minh Duong selected:
"Can Machine Learning Be Secure?"
by Marco Barreno, Blaine Nelson, Russell Sears, Anthony D. Joseph and J.D. Tygar
- Georgi Kapitanov selected:
"Fast and accurate goal-directed motion synthesis for crowds" pp. 291-300
by Mankyu Sung, Lucas Kovar and Michael Gleicher
ACM SIGGRAPH Symposium on Computer Animation (2005).
- Teddy Lewis selected:
"DDoS Defense by Offense" pp. 303-314
by Michael Walfish, Mythili Vutukuru, Hari Balakrishnan, David Karger and Scott Shenker
ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications. Pisa, Italy. (Sept 2006).
- Andrew Melo selected:
"Explicit Window Adaptation: A Method to Enhance TCP Performance" pp. 338-350
by Lampros Kalampoukas, Anujan Varma, and K. K. Ramakrishnan
IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 10, NO. 3, JUNE 2002
- Matt Skinner selected:
"Implementation and Use of the PLT Scheme Web Server"
by Shriram Krishnamurthi, Peter Walton Hopkins, Jay McCarthy, Paul T. Graunke, Greg Pettyjohn, and Matthis Felleisen
Higher-Order and Symbolic Computation, 2007.
- Jonathan Watson selected:
"Network processor acceleration for a Linux* netfilter firewall" pp. 115 - 123
by Accardi, Bock, Hady & Krueger
ACM/IEEE Proc. 2005 Symposium on Architecture for Networking and Communications Systems (ANCS 2005)
- Kevin Biss selected:
"Functional reactive animation" pp. 263 - 273
by Conal Elliott & Paul Hudak
Proc. 2nd ACM SIGPLAN Int'l Conf. on Functional Programming (ICFP'97)
Vishal Nehru selected:
"An Aristotelian Understanding of Object-Oriented Programming" pp. 337-353
by Derek Rayside and Gerard T. Campbell
ACM SIGPLAN Conference on Object-Oriented Programming, Systems (OOPSLA'00)
- Mitch Perry selected:
"EigenTrust Algorithm for Reputation Management in P2P Networks" pp. 640-651
by Sepandar D. Kamvar, Mario T. Schlosser,B Hector Garcia-Molina
Proc. 12th Int'l Conf. on World Wide Web 2003 (WWW'03)
- Jason Smith selected:
"Dimensioning Server Access Bandwidth and Multicast Routing in Overlay Networks," pp. 83 - 91
by Sherlia Y. Shi, Jonathan S. Turner, and Marcel Waldvogel
Proc. 11th ACM Int'l Workshop on Network and Operating Systems Support for Digital Audio and Video (NOSSDAV'01)
Ross Sowell selected:
"Approximate Convex Decomposition of Polygons" pp. 17 - 26
by Jyh-Ming Lien and Nancy Amato
Proc. 20th Annual Symposium on Computational Geometry (SCG'04); ACM Publication
- Jacob Barrett selected:
"Task-Model Based Human Robot Cooperation Using Vision"
by Hiroshi Kimura and Tomoyuki Horiuchi
Proc. of the 1999 IEEE/RSJ Int'l Conference on Intelligent Robots and Systems
- Nana Bempong selected:
"Notes on the use of RTP for shared workspace applications"
by Colin Perkins and Jon Crowcroft
ACM Proc. of Special Interest Group on Data Communications (SIGCOMM'00)
Vol 30, Issue 2, pp. 35-40
- Donald Davis selected:
"Dynamic Access Control: Preserving Safety and Trust for Network Defense Operations"
by Prasad Naldurg and Roy H. Campbell
Symposium on Access Control Models and Technology (SACMAT'03)
- John Edinburgh selected:
"Scalable Timers for Soft State Protocols"
by Puneet Sharma, Deborah Estrin, Sally Floyd, and Van Jacobson
IEEE International Conference on Computer Communications (INFOCOM '97)
- Chris Engels selected:
"RRT-Connect: An Efficient Approach to Single-Query Path Planning"
by James J. Kuffner,Jr. and Steven M. LaValle
IEEE International Conference on Robotics & Automation (ICRA'2000)
- Hannah Johnson selected:
"Information Theoretic Construction of Probabilistic Roadmaps"
by Brendan Burns and Oliver Brock
IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS'03).
- John Paul Swamickannu selected:
"Visual Simulation of Smoke", pp. 15-22
by R. Fedkiw and J. Stam and H.W. Jensen
ACM Proc. of Special Interest Group on Graphics (SIGGRAPH'01).
- Geoff Williams selected:
"The Influence of Caches on the Performance of Heaps"
by Anthony LaMarca and Richard E. Ladner
ACM Journal of Experimental Algorithmics(ACM JEA'96, Vol. 1)
- Jason Downs selected:
"A Scalable Content-Addressable Network"
by Ratnasamy, Francis, Handley, Karp, Shenker
ACM Proc. of Special Interest Group on Data Communications (SIGCOMM'01).
- Jonathan Jarrett selected:
"IP Multicast Channels: EXPRESS Support for Large-Scale Single-Source Applications"
by Holbrook, Cheriton
ACM Proc. of Special Interest Group on Data Communications (SIGCOMM'99).
- John Markham selected:
"Practical Network Support for IP Traceback"
by Savage, Wetherall, Karlin, and Anderson
ACM Proc. of Special Interest Group on Data Communications (SIGCOMM'00)
- Neil Mock selected:
"Selecting Examples for Partial Memory Learning"
by Maloof, Michalski
Machine Learning, ?, 1-28 (1999)
- Gary Rogers selected:
"Promoting the Use of End-to-End Congestion Control in the Internet"
by Floyd and Fall
To Appear (as of May 3, 1999) in IEEE/ACM Transactions on Networking.
- Fahd Arshad selected:
"Web Mining: Information and Pattern Discovery on the World Wide Web"
by Cooley, Mobasher, Srivastava
IEEE Int'l Conf on Tools with Artificial Intelligence (ICTAI'97).
- Crile Crisler selected:
"Eigenfaces vs. Fisherfaces: Recognition Using Class Specific Linear Projection"
by Belhumeur, Hespanha, Kriegman
IEEE Transactions on Pattern Analysis & Machine Intelligence, 1997.
- Kramer Lovelace selected:
"Interactive Simulation of Fire in Virtual Building Environments"
by Bukowski, Sequin
ACM Proc. of Special Interest Group on Graphics (SIGGRAPH'97).
- Steve Marlowe selected:
"Performance Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols"
by Maltz, Johnson, Hu, Jetcheva
ACM/IEEE Int'l Conf on Mobile Computing & Networking, 1998.
- Andrew Ngau selected:
"Data Mining. The Search for Knowledge in Databases"
by Marcel Holsheimer, Arno Siebes
Technical Report CS-R9406, Amsterdam, 1994.
- John McCloskey selected:
"Wormhold Routing Techniques for Directly Connected Multicomputer Systems"
by Prasan Mohapatra
ACM Computing Surveys, Vol. 30, No. 3, September 1998.
- S.P. Kalita selected:
"The Essence of Functional Programming"
by Philip Wadler
19th Annual Symposium on Principles of Programming Languages, Santa Fe, 1992.
III. Student Presentations in Computer Science Courses
400-level computer science courses
will include a requirement of a talk similar to the current senior talks
criteria for the talks will be given to students
talk will require reading research papers on a topic relevant to the course and an investigation of the topic in some detail
other faculty and students outside the class will be invited to attend the presentation; students are responsible for advertising their own talks
grade for the talk will be part of the course grade
a student who has begun research early and would like to gain experience delivering a talk in preparation for a senior honors talk will be given the opportunity and encouraged to do so
300-level computer science courses
will require students to make an oral presentation of some type, generally shorter than those in 400-level courses
faculty teaching 300-level computer science courses will give students both criteria for these oral presentations and an evaluation so that they can improve their performance on the 400-level talks
200-level computer science courses
will incorporate student projects and short presentations as a prelude to these activities
Departmental honors may be conferred on students considered worthy of distinction.
Most of the following accomplishments are generally expected:
- an average of at least 3.5 in computer science courses numbered 300 and higher;
- a superior performance on both the written and oral comprehensive examination;
- an original project, usually as part of a 444 computer science elective course, and oral defense or presentation of the work;
- additional course work in computer science beyond the minimum requirement.