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; Associate Professor Stephanie Taylor; Assistant Professors Eric Aaron, Caitrin Eaton, Oliver Layton, and Ying Li; Visiting Assistant Professor Zadia Codabux
Requirements for the Major in Computer Science
Computer Science 151, 152, or 153; 231, 232, 251, 333, and 375 or 378; one elective numbered 200 or above; two electives numbered 300 or above; one elective numbered 400 or above; and one 200-level mathematics or statistics course. Students may count only Computer Science 151, 152, or 153; 231, and 251 toward both the computer science major or minor 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.6 in all computer science courses numbered 200 or higher and complete a yearlong, preapproved honors project (Computer Science 483 and 484) of at least seven credits, culminating in both a written paper and a colloquium presentation. Four credits of the honors project satisfy 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
One Computer Science course numbered 150 or above, 231, 251, one course numbered 200 or above, one course numbered 300 or above, and a capstone experience. The capstone experience can be either (a) a course numbered 400 or above, (b) a four- (or more) credit independent study with a significant computing component in the student’s major department, or (c) two 300-level courses. Option (b) 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.
A minor in data science is described in the “Data Science” section of the catalogue.
Requirements for the Majors in Interdisciplinary Computation
Listed under “Biology” (as Computational Biology), “Environmental Studies (as Environmental Computation),” “Music,” and “Theater and Dance.”