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 email@example.com and we will get back to you soon.
Interested in declaring your major in CS?
Current College of Arts and Sciences students can declare a major in Computer Science by completing this form on the CAS Advising website. Students from other schools and colleges at BU should speak with their advisor about declaring a CS major.
Interested in scheduling an advising appointment?
You can schedule a meeting with one of our Undergraduate Academic Advisors on Handshake: sign in, click Career Center -> Appointments -> Schedule a New Appointment -> CAS Advising -> then choose the appointment type that best matches your inquiries. General advising questions can also be sent to firstname.lastname@example.org.
Interested in course substitutions for major requirements?
Students should contact their advisor (Jess Kupczak for students with last names A-L and Erin Murdock for students with last names M-Z) to count courses other than those listed in the Courses section for major requirements. Attention is called to the following: CS courses number 600 and above; 500-level courses in Mathematics & Statistics; and Computer Engineering courses offered by the College of Engineering. Make sure to confirm a potential course substitution with Professor Erdos before taking the course.
For students completing the BU Hub: use this Plan of Study worksheet as a guide when preparing for advising appointments or registration.
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.