Curriculum

The honors curriculum mirrors the standard CS degree program with three exceptions:

  • An intensive, accelerated freshman year program designed to immerse students in their studies and to let them complete three semesters of work in only two semesters.
  • Special honors versions of standard CS courses in the sophomore through senior years.
  • Undergraduate research, culminating in an undergraduate honors thesis.

The following honors courses expose students to a collection of excellent teachers with a variety of teaching styles.

CS 178H: Introduction to CS Research

This course helps students make the transition from classroom learning to the type of faculty-advised independent learning that is necessary to complete an honors thesis.

CS 311H: Discrete Mathematics for Computer Science

This course teaches students how to think formally and to write proofs.

CS 314H: Data Structures

This course introduces advanced data structures while also focusing on the development of good programming skills such as test methodology.  Students are given several challenging programing projects, such as implementing the game of Tetris.

CS 429H: Computer Organization and Architecture

CS 331H: Algorithms and Complexity

CS 343H: Artificial Intelligence

CS 439H: Principles of Computer Systems

CS 345H: Programming Languages

CS 379H: Computer Science Honors Thesis

 

Undergraduate Research

Research is an important part of our honors program.  We expect all Turing Scholars to get involved in a research project with a member of our faculty.  The CS 178H class that students typically take in the second semester of their freshman year provides an introduction to the department's research faculty and their research interests.

Students interested in graduate school should note that graduate school applications are typically submitted in the fall semester of their last year; these applications can be considerably enhanced by describing significant progress toward an honors thesis.  We encourage students to get involved in research as early as possible and ideally no later than the spring of their junior year.

To achieve this goal, we expect that in their junior year, students will typically register for CS 370 Undergraduate Reading and Research, which allows students to perform independent study under the supervision of some faculty member.  Of course, research takes many forms, and some students prefer to participate in research internships off campus, and others might get paid for on-campus research instead of taking course credit.

In their senior year, preferably in the fall, we expect that each Turing Scholar will register for CS 379H, the Computer Sciences Honors Thesis course.