[NEW] BS in Computer Science Degree Requirements: 2023 Revision
This page describes the BS 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.
Overview
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.
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.
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 (see 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.
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 elective options require ARR Fixes that are generally applied 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 if specifically stated in the course description. ONLY email upd [at] cs [dot] umass [dot] edu if you want to EXCLUDE one of these courses.
- At most 3 credits of CS honors research courses (499T/P) can be used as a CS elective 400+. 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 the CS UPD approves, at most 3 credits of independent study can be used as a CS elective. 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.
- A maximum of 3 credits of either COMPSCI 499P/T or COMPSCI 396/496/596 may be used toward CS Major requirements. Additional credits earned will count toward graduation credit requirements, but will not count toward major requirements.
Degree Requirements
General Education Requirements
Computer science majors complete general education requirements as specified by the University. Information on general education requirements is available here. 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
- CICS 110: Foundations of Programming (4 cr)
- CICS 160: Object Oriented Programming (4 cr)
- CICS 210: Data Structures (4cr)
Four Core Computer Science Courses
- COMPSCI 220 Programming Methodology (4 cr)
- COMPSCI 230 Computer Systems Principles (4 cr) *
- COMPSCI 240 Reasoning About Uncertainty (4 cr)
- COMPSCI 250 Introduction to Computation (4 cr)
* Note: COMPSCI 198C Introduction to the C Programming Language (a 1cr practicum course) is a prerequisite for COMPSCI 230.
Four Mathematics Courses
- MATH 131 Calculus I (4 cr)
- MATH 132 Calculus II (4 cr)
- MATH 233 Multivariate Calculus (4 cr) or STATISTC 315 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 547 Security Engineering (3 cr) (formerly ECE 597AB)
- ECE 668 Computer Architecture (3 cr)
- LINGUIST 301 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 Requirements
Five of the eight required upper-level (300+) courses must be taken at UMass Amherst.
Two Lab Science Courses (8 credits)
Satisfy laboratory science requirements by taking two majors-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:
- CICS 256 (formerly 290M) Make: A Hands-on Introduction to Physical Computing *
- 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
* 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 [at] cs [dot] umass [dot] edu (upd[at]cs[dot]umass[dot]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 [at] cs [dot] umass [dot] edu (upd[at]cs[dot]umass[dot]edu) if you do not want to use these courses.