Faculty Recruiting Support CICS


This page describes the B.A. in Computer Science degree requirements that apply to new incoming students and on-campus students who started the major in Spring 2023 or earlier. Program requirements for students who started the CS BA degree in Fall 2023 and later are available here.

The degree requires 11 computer science courses, three math courses, and a four-course concentration. Computer Science majors also must fulfill the university's Junior Year Writing requirement by taking COMPSCI 305 Social Issues in Computing. 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.  The University's Integrative Experience (IE) requirement is 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.

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 Dean's Office (LGRC Lowrise, Room A114) and by the Registrar's Office, respectively. Students should check their "Academic Requirements Report" (also referred to as the ARR) on SPIRE to determine which requirements have been fulfilled.

Required courses include courses required by the undergraduate program, college, and university. Some students will have satisfied some of these requirements before entering the University (see Credit for Prior Coursework). Other students may need additional preparation, such as a math review course, before they begin this program.

1. Two* Introductory Computer Science courses:

  • COMPSCI 121 Introduction to Problem Solving with Computers (4 cr)
  • COMPSCI 186* Using Data Structures (4 cr)
  • COMPSCI 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.

2. Three core Computer Science courses selected from:

  • COMPSCI 220 Programming Methodology
  • COMPSCI 230 Computer Systems Principles
  • COMPSCI 240 Reasoning Under Uncertainty
  • COMPSCI 250 Introduction to Computation

3. Junior-level writing requirement:

  • CICS 305 Social Issues in Computing

4. Integrative Experience requirement:

  • COMPSCI 320 Software Engineering
  • COMPSCI 326 Web Programming (Spring 2014 or later)

5. Five Computer Science Electives:

Five computer science electives at the 300-level or higher (not including 305). These must be chosen from the department's regularly numbered courses 300 or higher. Experimental classes (numbered x90 through x99) may be used as electives only with Undergraduate Program Director (UPD) approval. In special cases, courses taken outside the College of Information and Computer Sciences may be used if approved by the Undergraduate Program Director.

6. Three Math Courses:

Three math courses, including MATH 131-132* plus one additional math course to be approved by the department. Appropriate candidates include RES-ECON 211, RES-ECON 212, STATISTC 240, STATISTC 501, STATISTC 515, or any other Math course at the 200-level or higher. Equivalent courses or appropriate AP exam placements are acceptable in place of MATH 131-132.

*MATH 131 and 132 are better preparation for most subsequent CS classes. Although previously allowed, MATH 127-128 restrict access to 200-level CS cores and higher-level CS electives that require MATH 132 as a prerequisite and are no longer approved for the BA curriculum.

7. Four-Course Outside Concentration:

Four courses forming a focused study in another discipline (or, where appropriate, more than one discipline) with relevance to the theory or practice of computer science. Typically these courses are required for the other discipline, and are at the 200 level or higher (thus they may require preliminary coursework at a lower level as prerequisites for the concentration). Individual concentrations may be created with approval of the UPD, based on the relationship of the concentration to the study of computer science, and its cohesiveness and depth.

At most one course in the concentration may be a sixth CS elective, or the fourth course in the CS core. These options require UPD approval that the course contributes significantly to the overall thrust of the concentration.

For help putting together a concentration, please speak directly to your advisor. To receive approval for your concentration, please work with your CS advisor and submit eligible courses.  The deadline for obtaining final UPD approval is before registration for your last semester Senior Year. Advising holds will be placed preventing enrollment in October for spring registration; March for fall registration.

Once the Four-Course Concentration is approved by the UPD and you have completed the courses, your Academic Requirements Report (ARR) on SPIRE will be updated.  Modifications to an approved concentration are not generally approved.

8. GPA Requirement:

A computer science major may not use any course taken on a pass/fail basis to fulfill the BA requirements. Moreover, a cumulative grade point average of 2.0 or better must be achieved in courses required for the major.

9. Residency Requirement:

  • At least three of the five Computer Science Electives must be taken at UMass, Amherst.
  • At least five of the nine courses consisting of the five Computer Science electives and the four-course Outside Concentration must be taken at UMass Amherst.

10. College Foreign Language Requirement:

The College of Information and Computer Sciences requires all BA degree students to complete foreign language requirement as either: (1) fourth level of one language or (2) third level of one language and second level of another. Often the work you have done in high school counts towards and completes these requirements. If you already speak a second language, another option is to "challenge the exam" of a fourth-level language course and have the requirement waived.

  • Note that the situation is different for students completing a double major (120 credits total) composed of some other primary major and the Computer Science BA.  If the primary major doesn't require foreign language study, then the student does not need to complete the foreign language requirements for the Computer Science BA. For example, if the double major is composed of a Math BS as the primary major and the Computer Science BA as the second major, there would be no foreign language requirement.
  • Students completing a double degree (150 credits total) of Math BS and Computer Science BA do need to complete the Foreign Language requirements for the Computer Science BA.