BS in Computer Science Degree Requirements: 2016-2023
This page describes the B.S. in Computer Science degree requirements that apply to students who started the major between Fall 2016 and Spring 2023.
For students who began as a CS major in or after Fall 2023, please see the BS in Computer Science Degree Requirements page.
To receive a baccalaureate 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 six core lower-division computer science courses (total credits = 24), 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.
Junior Year Writing (JYW) Requirement
Computer science majors must also take CICS 305: Social Issues in Computing. The University's JYW requirement 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 (Spring 2014 or later) are currently the designated IE courses for CS and also count as a CS Elective.
Note that each set of requirements is administered by a different authority. Requirements for the major are administered by the Undergraduate Program, and the 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 (A114 Lederle Graduate Research Center) and the 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.
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.
When Does a Course Count for the CS Major?
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 COMPSCI 187.
What is an Approved CS Elective?
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 required ARR Fixes are generally updated closer to graduation after grades are finalized following your last semester:
- Experimental courses (x90), seminar courses (x91-x95), and special topics (x97) may only be used as CS electives at the 300- or 400-level, depending on the level if specifically stated in the course description. Only 3 credits of a CS Capstone course (499T/P) can be used as a CS elective 400+ (see NOTE). ONLY email upd [at] cs [dot] umass [dot] edu (upd[at]cs[dot]umass[dot]edu) if you want to EXCLUDE one of these courses.
- Independent studies (x96) at the 300-level (or above) are reviewed for CS elective credit via the independent study approval process during registration. If UPD is approved for major requirements, only 3 credits of independent study can be used as a CS elective (see NOTE). ONLY email upd [at] cs [dot] umass [dot] edu (upd[at]cs[dot]umass[dot]edu) if you want to EXCLUDE.
*Only 3 credits of either COMPSCI 499P/T or COMPSCI 396/496/596 may be used toward CS Major requirements.
Two Introductory Computer Science Courses
- 121: Introduction to Problem Solving with Computers (4 cr)
- 186: Using Data Structures (4 cr)*
- 187: Programming with Data Structures (4 cr)
Prerequisite change for 187, effective Spring 2017 offering, approved by the Faculty Senate:
Grade of B or better in 121
Grade of C or better in 186 (formerly 190D)
*186 (formerly 190D) is required if 121 grade is B-, C+, C.
Note: A Computer Science curriculum revision is currently underway that will replace the Java-based courses COMPSCI 121 and COMPSCI 186 with new Python-based courses. These new courses are currently being offered as INFO 190S and INFO 190T. While the formal curriculum revision is pending, CS majors can use a grade of C or better in INFO 190S taken in Fall 2022 to satisfy the COMPSCI 121 requirement and as a prerequisite to take INFO 190T. CS majors can use a grade of C or better in INFO 190T taken in Fall 2022 or Spring 2023 as an alternate prerequisite for COMPSCI 187. Note that CS students who start in INFO 190S must complete INFO 190T to move on to COMPSCI 187.
Four Core Computer Science Courses
- 220: Programming Methodology (4 cr)
- 230: Computer Systems Principles (4 cr)
- 240: Reasoning About Uncertainty (4 cr)
- 250: Introduction to Computation (4 cr)
Four Mathematics Courses
- MATH: 131 Calculus I (4 cr)
- MATH: 132 Calculus II (4 cr)
- MATH: 233 Multivariate Calculus (4 cr) or STATISTC 515 Statistics I (not a replacement for MATH 132)
- MATH: 235 Introduction to Linear Algebra
Eight Upper-Level Elective Computer Science Courses
- 311: Introduction to Algorithms (4 cr) (prereq: 250)
- 3 additional CS electives numbered 300 or above (may include one to satisfy the IE Req)
- 3 additional CS electives numbered 400 or above
- 1 additional CS elective numbered 300 or above, or an outside elective from an approved list:
- ECE 353: Computer Systems Lab I (3 cr)
- ECE 547: Security Engineering (3 cr) (formerly ECE 597AB)
- ECE 668: Computer Architecture (3 cr)
- LINGUIST 401: Intro to Syntax (3 cr)
- MATH 411: Intro to Abstract Algebra I (3 cr)
- MATH 545: Linear Algebra for Applied Mathematics (3 cr)
- MATH 551: Intro to Scientific Computing (3 cr)
- MATH 552: Applications for Scientific Computing (3 cr)
Residency Requirement
Five of the eight required upper-level (300+) courses must be taken at UMass Amherst.
Two Lab Science Courses (8 credits)
Satisfy the laboratory science requirement by taking two major-level science courses in the College of Natural Sciences that include 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:
- CHEM 111 or 121 General Chem - Science Majors
- CHEM 112 General Chem - Science Majors or 122 General Chemistry
- GEOL 101: The Earth (with lab) or GEOL 103: Oceanography and GEOL 131: Experiencing Geology (lab) or GEOL 105: The Dynamic Earth and GEOL 131 (lab)*
- PHYSICS 151: General Physics I or PHYSICS 181: Physics I - Mechanics
- PHYSICS 152: General Physics II or PHYSICS 182: Physics II - Electricity and Magnetism
- Options in Biology for the CS Lab Science Requirement
*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 [at] cs [dot] umass [dot] edu (upd[at]cs[dot]umass[dot]edu) if you do not want to use these courses.
CICS offers the following course that may be used as one of the CS Lab Science courses:
- CICS 256: (formerly 290M) Make: A Hands-on Introduction to Physical Computing, 4 cr.-'
The course is currently open to First-Year/Sophomore BS-CS Majors only (Juniors may be considered based on availability). 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 [at] cs [dot] umass [dot] edu (upd[at]cs[dot]umass[dot]edu) if you do not want to use this course.
University and College Requirements
See the Academic Requirements Report (ARR) on SPIRE for specific university and college requirements.