BA in Computer Science
Students majoring in Computer Science (CS) learn to understand and evaluate the organization, design, and construction of hardware and software systems for computing. Additionally, they attain a level of mathematical ability allowing them to formally abstract and analyze computational processes. They analyze problems that require computation to answer, and design and implement solutions that are efficient and effective.
The major in Computer Science requires a total of fifteen 4-credit courses, all completed with a grade of C or higher.
CS students are expected to be comfortable with standard high school mathematics as a well as calculus at a level equivalent to completion of CAS MA 123.
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: Foundational Courses
These courses build essential foundations for the study of CS. Students must take all five.
- 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
Group B: Formal Tools
These courses provide training in basic algorithms and formal methods. Students must take at least two from this group.
- CS 132 Geometrical Algorithms
- CS 235 Algebraic Algorithms
- CS 237 Probability in Computing
Group C: Central Topics
These courses are more advanced than Groups A and B, and cover broadly important subfields of CS. Students must take at least two from this group.
- CS 320 Concepts of Programming Languages
- CS 332 Elements in the Theory of Computation
- CS 350 Fundamentals of Computing Systems
Group D: Electives
- All CS courses at the 400- and 500-levels
The list of prerequisites or co-requisites for a CS course may contain a CS course “X” with a non-CS alternative “Y.” In such a case, course “Y” may be counted toward the major instead of course “X.”
In special cases, a student, with consent of the instructor, may petition the Undergraduate Director to count courses other than those specified above. 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 (ENG).
CAS CS major credit will not be given for Metropolitan College (MET) courses.