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.
CS178H: 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.
CS310H: Computer Organization
CS313H: Logic, Sets and Functions
This course uses the Moore method to teach students how to think
formally and to prove things.
CS315H: Data Structures and Algorithms
CS315H subsumes two courses (CS307 and CS315) in the standard CS
curriculum. 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.
For example, one assignment asks students to implement the game of
Tetris.
CS321H: Functional and Symbolic Programming
CS336H: Analysis of Programs
CS341H: Automata Theory
CS345H: Programming Languages
CS352H: Computer Architecture
Previous instances of CS352H have included a class project in
which teams of students present their work in a trade show format
to propose microarchitectural enhancements to the Pentium
4 processor. The students also serve as investors who decide
which of the top projects will continue to the next round for
further development.
CS372H: Operating Systems
The distinguishing feature of this course is the semester-long
programming project in which students work in small teams to build
an operating system that is sufficiently real that it could be booted on raw
x86 hardware
Undergraduate Research
Research is an important part of our honors program. We expect all Turing
Scholars
students 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 towards an honors thesis. Thus we encourage students to get involved
in research as early as possible, typically in the fall 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
Scholars student will register for
CS 379H, the Computer Sciences Honors Thesis course.
|