Computer Science

Laura I. Toma, Department Chair
Suzanne M. Theberge, Senior Department Coordinator

Professor: Eric L. Chown
Associate Professors: Stephen M. Majercik†, Laura I. Toma
Assistant Professors: Sean K. Barker, Sarah M. Harmon, Mohammad T. Irfan (Digital and Computational Studies)
Visiting Faculty: Clare Bates Congdon, Allen Harper

The major in computer science focuses on critical thinking and problem-solving, and is designed to blend background in traditional core areas (theory, systems, and artificial intelligence) as well as emerging areas such as social and economic networks, nature-inspired computation, distributed systems, and resource-efficient algorithms.

Requirements for the Major in Computer Science

The major in computer science consists of at least ten courses.

Required courses:

  • Computer Science 2101, Data Structures
  • Computer Science 2200, Algorithms
  • seven computer science electives at the 2000-level or above that satisfy the following requirements:
    • at least one course designated as Algorithms and Theory: Computer Science 3210, 3225, 3250
    • at least one course designated as Artificial Intelligence: Computer Science 2400, 3400, 3415, 3420, 3445, 3455
    • at least one course designated as Systems: Computer Science 2300, 2310, 2320, 2330, 2505, 3300, 3325
    • at least one course designated as a projects course: Computer Science 2505, 3225, 3325, 3415, 3445, 3455
    • at least three advanced-level courses numbered 3000 or higher
  • one mathematics course numbered 1000 or higher


Independent studies, including honors projects, may not count toward the advanced-level course requirement or area requirements. At most one independent study, including those enrolled in as part of honors, can count toward the major.

Most students begin the major with Computer Science 1101 followed by Computer Science 2101. Computer Science 1101 has no prerequisites and requires no prior knowledge of computer science. Students who wish to start with a less programming-oriented introduction to the field may chose to take Computer Science 1055, followed by Computer Science 1103, followed by Computer Science 2101. Students with prior knowledge of computer science can place out of 1101 and start with 1103 or with 2101.

Students—particularly those who intend to do graduate work in computer science—are encouraged to collaborate with faculty on research projects through independent studies, honors projects, and fellowship-funded summer research.

Requirements for the Minor in Computer Science

The minor in computer science consists of at least four courses, numbered 2000 or higher.

Independent studies in computer science cannot count toward the minor.

Interdisciplinary Major

The department participates in an interdisciplinary major program in computer science and mathematics. See Interdisciplinary Majors.

Additional Information

  • Each of the courses required for the major or minor must be taken for a regular grade (not Credit/D/Fail) with a minimum earned grade of C-.
  • The prerequisite for 2000-level courses is a grade of C or better on the final in Computer Science 1101 or 1103. For courses at the 2000 level or above, a grade of C- or better must be earned in the course for it to serve as a prerequisite for another computer science course.
  • At most two of the nine computer science courses required for the major, or one of the four computer science courses required for the minor, can be transfer credit from other institutions.
  • Advanced Placement and International Baccalaureate scores, in addition to the computer science placement test, are only used for placement.

(Department/Program website)