72 credits required for the major.

  • Courses required for the major. Because the content of CS 202: Mathematics of Computer Science and MATH 236: Mathematical Structures have sufficient overlap, we will accept MATH 236: Mathematical Structures in lieu of the CS 202: Mathematics of Computer Science requirement. CS 200: Data Structures with Problem Solving can be substituted for CS 201: Data Structures.
  • CS 111: Introduction to Computer Science
  • CS 201: Data Structures
  • CS 202: Mathematics of Computer Science
  • CS 208: Introduction to Computer Systems
  • CS 251: Programming Languages: Design and Implementation
  • CS 252: Algorithms
  • CS 254: Computability and Complexity
  • CS 257: Software Design
  • MATH 111: Introduction to Calculus

  • Junior seminar: CS 300 (not offered 2024-25)
    • A junior seminar course that emphasizes technical communication. Seminars are offered on a variety of topics, changing from year to year. Each seminar may emphasize a slightly different facet of technical communication, including but not limited to technical writing, oral presentation, and/or writing of design documents, and all will provide opportunities for students to get individualized feedback to improve their communication skills. Ideally, you should complete this seminar course in your junior year, helping you to prepare for comps.
  • Six additional credits from Computer Science
    • Courses numbered 200 or above (excluding independent study, senior seminar and comps). Occasionally courses outside the CS department may count towards this requirements; a list is maintained on the CS Department website of any such courses.

  • Integrative Exercise: Majors must complete a capstone experience (CS 399: Senior Seminar and CS 400: Integrative Exercise) during the senior year. The student will participate on a small team of students working on a faculty-specified project.

Potential majors should take Computer Science 111, Mathematics 111, and at least one of Computer Science 201 and 202 by the end of the sophomore year.

Although only one mathematics course is required for the CS major, we encourage our students to take mathematics and statistics courses beyond Mathematics 111. Students contemplating graduate study should consider taking the full Calculus sequence plus Statistics 120 and Mathematics 232, and additional computer science electives. Those interested in computer engineering should consider taking physics courses through Electricity & Magnetism and Electronics.