This page describes the B.S. in Computer Science degree requirements that apply to new incoming students and on-campus students starting the major in Fall 2023 and later. Program requirements for students who started the CS major between Fall 2016 and Spring 2023 are available here.
The computer science undergraduate program provides a solid foundation in the science of computing. To earn a bachelor's degree, the University requires that a student successfully complete a minimum of 120 credits with a minimum cumulative grade point average of 2.0 (A=4.0). The program is built around seven core lower-division computer science courses (total credits = 28), eight upper-level computer science electives (total credits = 26-28), four mathematics courses (total credits = 14), and two approved laboratory science courses (total credits = 8). These courses supply the essential theory, concepts, and techniques in the major areas of computer science and related disciplines.
The degree includes courses required by the major program, college and university. Students may have satisfied some of these requirements before entering the University (see "Credit for Prior Coursework"). Others may need additional preparation, such as a math review course, before they begin this program.
Note that each set of requirements is administered by a different authority. Requirements for the major are administered by the Computer Science Undergraduate Program, and the Computer Science Undergraduate Program Director is the final authority on whether these are fulfilled. College and University requirements are administered by the College of Information and Computer Sciences Academic Deans Office and the University Registrar's Office. Students should check their "Academic Requirements Report" (also referred to as the ARR) on SPIRE to determine which requirements have been satisfied.
A computer science major may not use any course taken on a pass/fail basis to fulfill the computer science program requirements (including mathematics, lab science, and computer science introductory, core, and upper-level elective courses). Students must maintain an average grade of at least C (2.0) in all courses used to satisfy the major degree requirement (see major GPA on the ARR). While courses with grades of C-, D+, or D may be counted toward the degree, students normally repeat these courses so that the new grade will replace the old in their GPA calculation (Check Academic Regulations for rules about repeating courses). A grade below C will normally not suffice as a prerequisite for a later course. For example, enrolling in COMPSCI 220 requires a grade of "C or better" in CICS 210.
Any regularly numbered COMPSCI course at the 300-level or above may be used as an elective, excluding COMPSCI 305, or if it is specifically barred as an elective in its course description.
The following elective options require ARR Fixes that are generally applied after grades are finalized following your last semester:
General Education Requirements: Computer science majors complete general education requirements as specified by the University. Information on general education requirements is available here https://www.umass.edu/gened/students/fulfilling-requirements. Current students can also verify their requirements using their Academic Requirements Report (ARR) on SPIRE.
Junior Year Writing (JYW) Requirement: Computer science majors take CICS 305 Social Issues in Computing in their junior or senior years to satisfy this requirement. The Junior Year Writing course must be taken at UMass Amherst. Double majors for whom Computer Science is the secondary major may use the Junior Year Writing requirement course from their primary major to fulfill this requirement.
Integrative Experience (IE) Requirement: Students satisfy the University's IE Requirement by taking an approved IE course in their primary major at UMass Amherst. COMPSCI 320 Software Engineering and COMPSCI 326 Web Programming are currently the designated IE courses for CS and also count as a CS Elective.
Three Introductory Computer Science Courses
Four Core Computer Science Courses
* Note: COMPSCI 198C Introduction to the C Programming Language (a 1cr practicum course) is a prerequisite for COMPSCI 230.
Four Mathematics Courses
Eight Upper-Level Elective Computer Science Courses
Residency Requirement: Five of the eight required upper-level (300+) course must be taken at UMass Amherst.
Two Lab Science Courses (8 credits): Satisfy laboratory science requirement by taking two majors-level science courses in the College of Natural Sciences* that includes a lab component (8 total credits). See your Academic Requirements Report (ARR) for specific program requirements. Students select two courses from the following list---mixing departments is acceptable:
* CICS 256 (formerly 290M) is currently open to Freshmen/Sophomore BS-CS Majors only (Juniors may be considered if available seats). The ARR does not list the course as an option, therefore an ARR Exception will be completed closer to graduation. We will fix your ARR and you do not need to tell us. Only email upd@cs.umass.edu if you do not want to use this course.
**GEO-SCI 103/131 and GEO-SCI 105/131 require an ARR Exception. In general, if your grades are lower in courses that need an ARR Fix than in other courses for this requirement, we will not update your ARR. We will fix your ARR and you do not need to tell us. Only email upd@cs.umass.edu if you do not want to use these courses.