Computer Science is a rich and dynamic discipline that seeks to understand and use effectively the great potential of computing. The Department of Computer Science offers a wide variety of courses that integrate computer science into the liberal arts curriculum. The major can be completed through two tracks. The traditional track provides students with a solid background in algorithmic reasoning, problem solving, design and organization of modern computers and programming languages, and the ability to apply computational thinking to different applications and problem domains. The interdisciplinary track first provides a solid background in computer science including algorithms and data structures, and then allows students to apply this knowledge to specific problem domains in related disciplines and to forge interdisciplinary connections. The department currently allows two interdisciplinary areas of focus: spatial and geometric computation, focusing on applying computational approaches to spatial problems in areas such as geography or architecture; and scientific computation, focusing on computational problems in the physical and natural sciences such as physics or biology.
Required for the Major in Computer Science, traditional track (11 courses): One CSCI course at the 0100-level; CSCI 0200, CSCI 0201, CSCI 0202, CSCI 0301, CSCI 0302, CSCI 0701; two courses from among CSCI 0311, CSCI 0312, CSCI 0313, CSCI 0314; and two additional CSCI electives at the 0300-level or above. One elective can be substituted with MATH 0200 or MATH 0228.
Required for the Major in Computer Science, interdisciplinary track (11 courses): One CSCI course at the 0100-level; CSCI 0200, CSCI 0201, CSCI 0202, CSCI 0302, CSCI 0701; and five electives, two or three of them interdisciplinary, as specified by area of focus below. Note that many of the interdisciplinary electives have additional prerequisites.
For the spatial and geometric focus, CSCI 0190 is recommended at the 100-level, and the five electives must include: two CSCI electives numbered 0300 or above, one of which from CSCI 0390, CSCI 0425, CSCI 0453, CSCI 0461, or CSCI 0465; two interdisciplinary electives from the following list and from the same discipline: MATH 0200, MATH 0335, GEOG 0120, any GEOG course with GIS focus at the 0300 level, HARC 0130, and HARC 0231; and one additional interdisciplinary or CSCI elective from the previous lists.
For the scientific computation focus, CSCI 0150 is recommended at the 0100-level, and the five electives must include: two CSCI electives numbered 0300 or above; two interdisciplinary electives from the following list: PHYS 0212, PHYS 0220, PHYS 0221, MBBC 0324, and at most one statistics course among BIOL 0211, MATH 0116, PSYC 0201, ECON 0210, or MATH 0311; and one additional elective from the preceding list of science courses, from MATH 0200 or MATH 0228, or from any CSCI courses numbered 0300 or above.
Departmental Honors: Required for honors are: 1. The senior thesis CSCI 0702 in addition to the 11 courses required for the major; 2. participation in department extra-curricular or service activities such as tutoring, grading, sys-admin work, student-faculty research, or programming competitions; and 3. a major GPA of at least 3.5 for honors, 3.7 for high honors, and 3.9 for highest honors.
Required for the Minor in Computer Science (6 courses): One CSCI course at the 0100-level; CSCI 0200, CSCI 0201, CSCI 0202, and two CSCI electives at the 0300-level or above.
Joint Majors: The computer science component of a joint major requires: One CSCI course at the 0100-level, CSCI 0200, CSCI 0201, CSCI 0202; one course from CSCI 0301 and CSCI 0302; two CSCI electives at the 0300-level or above; and CSCI 0701.
Advanced Placement and Waivers: First-year students whose secondary preparation indicates they can bypass one or more beginning courses should speak to a faculty member to determine the appropriate first course. College credit is given to students who achieve a score of 4 or 5 on the AP computer science A exam. CSCI 0200 may be waived for students who have completed MATH 0310 or MATH 0318 or both MATH 0200 and MATH 0247, or in consultation with the department chair.