Details of the B.A. Requirements

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 CMPSCI 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 A243) 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.

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

    **CSENG/CS Double Major Variance.

    COMPSCI 201 Architecture and Assembly Language Programming is no longer offered by the department, and is not an accepted alternative for COMPSCI 230 for students graduating after May 2012.

3. Junior-level writing requirement:

  • COMPSCI 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 (or MATH 127-128*) 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. Electing to use MATH 127-128 will restrict access to 200-level CS cores and higher-level CS electives that require MATH 132 as a prerequisite. If you elect MATH 127/128 for your BA curriculum, we recommend completing your third Math requirement prior to attempting COMPSCI 240 or 250 and/or seeking the permission/advice of your instructors.

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 your last semester Senior Year (all courses require confirmed registration-Dec 1/May 1). Advising holds will be placed preventing enrollment.

Once the Four-Course Concentration is approved by the UPD and you have completed and/or are registered for the courses, your Academic Requirements Report (ARR) in 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.