Faculty Recruiting Support CICS

B.S. in Computer Science - Overview

The B.S. in Computer Science is based on a flexible set of degree requirements that allows students to use a greater breadth of CS courses to complete the degree. These web pages provide details about the BS requirements. If you have questions, you may visit the CS Undergraduate Advising Center (ACE) during posted hours, or contact upd@cs.umass.edu.

Major Changes into CS are by application only.  If you are interested in joining our major, submit your application.  If you have questions after reviewing the process, please contact the appropriate list on our Contact Us With Your Questions page. If you are already a CS Major and want to switch between BS and BA, talk with your advisor and fill out a "program change" form. Finally, students completing the Computer Science BS (or BA) and a Math major or minor will find some helpful advice on this page.

CS BS Requirements

Requirements for Students Starting Fall 2023 and Later: In Spring 2023, the Faculty Senate approved a revision to the BS in Computer Science that will be effective starting September 2023. These requirements apply to students who start in the CS BS in September 2023 and later (or until the program is revised again).

Requirements for Students Starting Between Fall 2016 and Spring 2023: The Faculty Senate approved a revision to the BS in Computer Science that became effective in September 2016. These requirements apply to students who started in the CS BS between Fall 2016 and Spring 2023. In Spring 2023, the Faculty Senate approved a revision to the BS in Computer Science that will be effective starting September 2023. Note that the 2023 revision updated the CICS introductory course sequence. The old introductory courses COMPSCI 121, 186 and 187 are no longer being offered as of fall 2023. For more information, including the details of grade replacement, see the CS Introductory Course Revision web page.

Tracking forms are informal descriptions of the programs that are for guidance only, and they do not define official policy.  See Academic Requirements Report (ARR) on SPIRE.


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.


Any regularly numbered COMPSCI course at the 300-level or above may be used as an elective, excluding CICS 305 (formerly COMPSCI 305), or if it is specifically barred as an elective in its course description.

The following require ARR Fixes which may be updated closer to graduation:

  • 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 courses (499T/P) can be used as a CS elective 400+ (see NOTE).  ONLY email upd@cs.umass.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 approved for major requirements, *only 3 credits of independent study can be used as a CS elective (see NOTE).  ONLY email upd@cs.umass.edu if you want to EXCLUDE.

NOTE:  *Only 3 credits of either COMPSCI 499P/T or COMPSCI 396/496/596 may be used toward CS Major requirements.


CS Majors sometimes 'save' CS 500-level+ courses to use for a graduate program.  Courses saved must not be used for any requirements for the undergraduate degree (gen ed, college, major, minor, honors, including counting toward the 120 credits; 150 for a dual degree).  If you would like to 'save' a CS500-level+ course for a graduate program, then email upd@cs.umass.edu and tell us your plan (during your senior year and/or last semester before grades are finalized).

The only thing that may change if you 'save' a course is your CS Major GPA and this is only seen on the ARR.  All courses will still show on your transcript and count toward your overall GPA.  Saving a course is an option to transfer a course to a graduate program if that program will accept the course.  Some students think that the CS Major GPA is more important and choose not to 'save'.  The CS Major GPA only includes courses counting toward the major requirements, so any courses either 'saved' or not used are excluded.  Changes are not allowed after students are cleared for graduation.