Computer Science Department

Computer science studies the design of computational processes, computing systems, and virtual objects. Our goal is to provide students with a strong background in computer science, including the integration of knowledge from other disciplines. Our graduates have the ability and experience to enable and to produce innovative discoveries.

Students with a variety of interests may want to explore computer science, as it affects and interacts with virtually every discipline. Many advances in the natural and social sciences, engineering, and the humanities would not have been possible without the exponential growth in computing power and the corresponding design of advanced algorithms by computer scientists. Students who become majors or minors, or take just a few courses, will extend their potential by knowing more about how to effectively use computers and computation.

Students in computer science courses learn primarily through programming projects that provide them with experience in design, the application of computational thinking, and problem solving. Computational thinking is the ability to deconstruct a problem or process and describe it at the level of computable operations. Computational thinking integrates abstraction, hierarchical design, information management, and an understanding of complexity. The projects students undertake increase in scope and complexity both within a single course and as students progress through the major.

The computer science major prepares students for graduate work in computer science and related areas and for a wide variety of careers. The computer science minor provides students with the ability to effectively apply computational thinking to other disciplines. The interdisciplinary computation majors in biology, environmental studies, music, or theater and dance give students the opportunity to integrate computer science with a focus discipline. Students interested in any of these programs should enroll in Computer Science 151 or 152 in their first year.


Chair, Professor Bruce Maxwell
Professors Dale Skrien and Bruce Maxwell; Assistant Professor Stephanie Taylor; Instructor Ying Li

Requirements +

Requirements for the Major in Computer Science

Computer Science 151 or 152, 231, 232, 251, 333, and 375 or 378; one elective numbered 200 or above; three electives numbered 300 or above, including at least one fall-spring sequence; and one 200-level mathematics or statistics course. Students may count only Computer Science 151 or 152, 231, and 251 toward both the computer science major and any interdisciplinary computation major.

Requirements for the Honors Program in Computer Science

An honors program is available for students who wish to pursue a topic more deeply. Students must have a grade point average of at least 3.25 in all computer science courses numbered 200 or higher and complete a yearlong, preapproved honors project (Computer Science 483 and 484) culminating in both a written paper and a colloquium presentation. The fall semester project satisfies an elective in the major requirements. Students who successfully complete the requirements and receive the recommendation of the department will graduate with “Honors in Computer Science.”

Requirements for the Minor in Computer Science

Computer Science 151 or 152, 231, 251, one course numbered 200 or above, one course numbered 300 or above, and a capstone experience. The capstone experience can be one of (a) the second semester of a two-semester elective sequence, (b) a project associated with a course in the student’s major (Computer Science 481/482), or (c) a four- (or more) credit independent study with a significant computing component in the student’s major department. Options (b) and (c) must be preapproved by a computer science advisor.

The point scale for retention of the major/minor applies to all courses in the major/minor. No requirement for the major/minor may be taken satisfactory/unsatisfactory.

Requirements for the Majors in Interdisciplinary Computation

Listed under “Biology,” “Environmental Studies,”  “Music,” and “Theater and Dance.”

Computer Science 151 or 152, 231, 251, and two upper-level electives appropriate for the focus area. In addition, courses in the student’s focus discipline from one of the approved tracks, listed below, and a capstone experience of at least four credits (491 or 492). Each student will have an advisor in computer science and an advisor in his or her focus department. The advisors will oversee the student’s plan of study and capstone project.

Biology Track (without Advanced Placement Biology): Biology 163, 164, 279, 320, and one additional 200- or 300-level biology elective course with an informatics component, such as Biology 306, 378, or 382.

Biology Track (with Advanced Placement Biology):  Biology 279, 320, two 200- or 300-level biology elective courses, and one 300-level course with an informatics component, such as Biology 306, 378, or 382.

Environmental Studies Track: Biology 131 or 164, Environmental Studies 118, 212 or 214, 233, 234, 271, 343, 352; one of 242, 276, 319, 344, 346, 366; 401, 402.

Music Track: Music 111, 181, 282; one 200-level or higher music elective that has a computational or digital focus; two semesters of applied lessons (both of which must be taken on the same instrument and for credit).

Theater and Dance Track: Theater and Dance 113 or 114; 135; 171 or two of 115, 116, 117; 281 or 285; 235 or 365.