Learning Outcomes

1. Understand and evaluate the organization, design, and construction of hardware and software systems for computing.
2. Attain a level of mathematical ability allowing the student to formally abstract and analyze computational processes.
3. Analyze problems that require computation to answer, and design and implement appropriate problem solutions that are efficient and effective.


The 15 courses required for the major are divided into four groups: A, B, C, and D. Students must take all courses in Group A, at least 2 courses from Group B, at least 2 courses from Group C, and a total of 15 courses from Groups A-D.

Group A: Foundations (take all 5 and complete proficiency in Calculus 1)

  • CS 111 Introduction to Computer Science I
  • CS 112 Introduction to Computer Science II
  • CS 131 Combinatoric Structures
  • CS 210 Computer Systems
  • CS 330 Introduction to the Analysis of Algorithms
  • [Calculus 1 proficiency, equivalent of completing MA 123]

Group B: Technical Preparation (take at least 2 of 3)

  • CS 132 Geometrical Algorithms
  • CS 235 Algebraic Algorithms
  • CS 237 Probability in Computing

Group C: Essential CS Paradigms (take at least 2 of 3)

  • CS 320 Concepts of Programming Languages
  • CS 332 Elements in the Theory of Computation
  • CS 350 Fundamentals of Computing Systems

Group D: Advanced Topics (take 4 – 6, totaling 15 courses overall)

  • CS Courses level 300 and above EXCEPT for 300 level courses counting toward Groups A and C (CS 320, 330, 332, and 350)

All classes counting towards the Major in Computer Science must be completed with a grade of C or higher.

CS major credit will not be given for Metropolitan College courses.


Computer Science Major Advisors

Have a general advising inquiry? Contact us at csadvise@bu.edu and we will get back to you soon.

Advising Materials

If you are thinking about a major in Computer Science, check out our Computer Science Plan of Study This can be used as a guide when preparing for advising appointments or registration. It also covers hub units that students may need to earn outside of the Computer Science major.

For students completing Divisional Studies/Core Curriculum: This advising sheet for CS majors lists CS major requirements and CAS requirements; fill it out before the advising meeting. 

BU Hub and the CS Major

CS Majors must complete the BU Hub general education requirement. The BU Hub can be satisfied through a mix of major courses, the Core Curriculum, Co-curricular experiences, and coursework in other departments/minors or double majors.

See here for additional information on which BU Hub units are satisfied by the CS Major.