The computer science undergraduate program provides a solid foundation in the science of computing. 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.
Computer science majors must also take CompSci 305 Social Issues in Computing. This course satisfies the University's Junior Year Writing requirement. The University's Integrative Experience (IE) requirement can be satisfied by taking an approved IE course (CompSci 320 Software Engineering and CompSci 326 Web Programming (Spring 2014 or later)) are currently the designated IE courses for CS.
The computer science courses also fulfill certain of the University's general education requirements. To graduate from the University, eight additional courses are required beyond those for computer science: College Writing, four Social World courses, including two Diversity courses, and a third science (BS or PS) course. (Students in the Computer Science B.S. no longer have foreign language course requirements, only students in the B.A. program do.)
Note that each set of requirements is administered by a different authority. Requirements for the major are administered by the Department, and the Undergraduate Program Director is the final authority on whether they are fulfilled. College and University requirements are administered by the College of Information and Computer Sciences (120 Computer Science Building) and the Registrar's Office. Students should check their "Academic Requirements" (also referred to as the ARR) on the SPIRE system to determine which requirements the University thinks have been fulfilled.
Required courses include courses required by the school, college, and university. Some students will have satisfied some of these requirements before entering the University (see "Exemptions and Advanced Placement"). Other students may need additional preparation, such as a math review course, before they begin this program.
A computer science major may not use any course taken on a pass/fail basis to fulfill the computer science core requirements (including mathematics, science, and computer science elective courses). Students must maintain an average grade of at least C (2.0) in all courses used to satisfy the departmental degree requirement. While courses with grades of C-, D+, or D may be counted toward the degree, students should 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, unless it is the writing course COMPSCI 305, or it is specifically barred as an elective in its course description.
Experimental courses (x90), seminar courses (x91) and special topics (x97) may only be used as CS electives at the 300-level (or above) if this is specifically stated in the course description. CS Capstone courses (499T/P) may only be used with approval of the UPD. Email upd@cs.umass.edu to petition to use any of these courses.
Independent studies (x96) at the 300-level (or above) are reviewed for elective credit via the independent study approval process.
NOTE: 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
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.
Four Core Computer Science Courses
**CSENG/CS Double Majors Variance.
CMPSCI 201 Architecture and Assembly Language Programming is no longer offered by the department, and is not an accepted alternative for CMPSCI 230 for students graduating after May 2012.
Four Mathematics Courses
Eight Elective Computer Science Courses (GENCOMPSCI)
Instead of GENCOMPSCI, students may complete Elective Courses as part of Speciality Tracks
The Department of Computer Science has a Residency Requirement that requires five of the eight required upper-level (300+) course to 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:
**GEOL 103/131 and GEOL 105/131 require an ARR Exception (email upd@cs.umass.edu). Contact the Geology Department for specifics about course offerings; GEOL 131 can be taken separate from GEOL 103||105.
See the Academic Requirements Report (ARR) on SPIRE for specific University and College requirements.