Details of the Old B.S. Requirements

The old BS requirements are listed below.

The computer science undergraduate program provides a solid foundation in the science of computing. To receive a baccalaureate degree, the College of Arts and Sciences 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 a core of 11 computer science courses (total credits = 40), 5 mathematics courses (total credits = 17), and 2 approved science courses, with laboratory (total credits = 8). These courses supply the essential theory, concepts, and techniques in the major areas of computer science and related disciplines. To complement the breadth achieved by this core, majors must also complete three elective courses in computer science or some related area (total minimum credits = 9).

Computer science majors must also take CmpSci 305 -- Social Issues in Computing. This course fulfills the University's Junior Year Writing requirement and satisfies part of the 44 distribution course credits required by the College of Arts and Sciences (more details can be found in the University Undergraduate Catalog).

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, six Social World courses, including two Diversity courses, and a third science (BS or PS) course. Computer Science majors previously had to fulfill the foreign language requirement of the College of Natural Sciences, either by high school or college work, however this requirement has been waived for current BS students.

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 Arts and Sciences Advising Center (E-24 Machmer) where the Academic Dean for Computer Science students is Professor Jack Wileden. Students should check their "Degree Progress" on the SPIRE system to determine which requirements the University thinks have been fulfilled.

Required courses include courses required by the department, college, and university. Some students will have satisfied some of these requirements before entering the University (see "Exemptions and Advanced Placement"), such as a foreign language. Other students may need additional preparation, such as a math review course, before they begin this program.

When does a class 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 core requirements (including mathematics, physics, and computer science elective courses). Moreover, all courses used to satisfy the computer science Undergraduate Program requirements must be passed with a grade of C or better (grades of C- obtained in the Spring 2006 semester or earlier are acceptable). If you receive a grade less than C in a computer science, math, or physics course, you must see the Department Undergraduate Program Director (UPD) to decide on a course of action. In general, if you receive a grade below C in a required class, you must repeat that class. Exceptions may be granted only on the basis of a written appeal that has been filed with the UPD.

Required Computer Science Courses

  • 121 Introduction to Problem Solving with Computers (4 cr)
  • 191B Introduction to Java II (for students who took 121 before Fall 2008)
  • 187 Programming with Data Structures (4 cr)
  • 201 Architecture and Assembly Language Programming (4 cr)
  • 250 Introduction to Computation (4 cr)
  • 287 Programming Language Paradigms (4 cr)
  • 311 Introduction to Algorithms (4 cr)
  • 320 Introduction to Software Engineering (4 cr)
  • 377 Operating Systems (4 cr)
  • 383 Artificial Intelligence

Semi-Required Courses (at least two required)

  • 401 Formal Language Theory
  • 410 Compiler Techniques
  • 445 Information Systems
  • 453 Computer Networks
  • 535 Computer Architecture


  • MATH 131 Calculus I (4 cr)
  • MATH 132 Calculus II (4 cr)
  • MATH 233 Multivariate Calculus or STATISTC 515 Statistics I
  • MATH 235 or 236 Introduction to Linear Algebra

One of the following courses (or another upper-level mathematics course approved by the academic advisor):

  • MATH 233 Multivariate Calculus (if not used above)
  • MATH 331 Ordinary Differential Equations for Scientists and Engineers
  • MATH 411 Introduction to Abstract Algebra I
  • MATH 421 Complex Variables
  • MATH 441 Introduction to Mathematics of Finance
  • MATH 451 Numerical Analysis I
  • MATH 456 Mathematical Modeling
  • MATH 523 Introduction to Modern Analysis
  • MATH 551 Introduction to Scientific Computing
  • STATISTCS 501 Methods of Applied Statistics
  • STATISTCS 515 Statistics I (if not used above)

Required Natural Sciences Courses
Two of the three General Education Science courses must be introductory courses (with labs) intended for majors in some department in the College of Natural Sciences (8 total credits.) Currently allowed courses are:

  • BIOLOGY 100 Introduction to Biology
  • BIOLOGY 101 Introduction to Biology
  • CHEM 111 General Chem -- Science Majors
  • CHEM 112 General Chem -- Science Majors
  • CHEM 121 General Chem -- Science Majors
  • CHEM 122 General Chem -- Science Majors
  • GEO-SCI 101 and 131 The Earth (with lab)
  • GEO-SCI 103 and 131 Intro to Oceanography (with lab)
  • PHYSICS 151/3 General Physics I (with lab)
  • PHYSICS 152/4 General Physics II (with lab)
  • PHYSICS 181/3 Physics I - Mechanics (with lab)
  • PHYSICS 182/4 Physics II - Electricity and Magnetism (with lab)

Variances from this requirement may be allowed under unusual circumstances. Students interested in counting a different science course toward this requirement should contact the Computer Science Undergraduate Program Director.

Computer Science Electives
Three further elective courses are required. Any 400-level or higher computer science course (except CMPSCI 596A, 596B, 596C, 596D) including graduate courses, research practica, or honors projects are acceptable. Only one Animation course may be used to fulfill elective requirements. Other approved electives include the advanced Mathematics courses listed above, as well as certain Electrical and Computer Engineering courses, such as E&C ENG 660 Computer Grph I and E&C ENG 661 Adv Cmp Grph/Aid Des (other courses by UPD approval). At least one of your elective courses must be taken in the Computer Science Department.

Exceptions to these elective requirements may be granted on appeal. In particular, if you are pursuing a double major in computer science and mathematics, engineering, or one of the sciences, alternative choices of electives are possible.

Distribution Requirements

  • ENGLISH 112, CMPSCI 305
  • Foreign Language (College of NSM requirement)
  • Third Science (Gen Ed - must have at least one BS, at least one PS)
  • Social World (Humanities, History, Social Science) with two diversity courses.
  • Free Elective