Feb 25, 2024  
2023-2024 Undergraduate Catalog 
2023-2024 Undergraduate Catalog

Computer Science BS

Return to {$returnto_text} Return to: Program Requirements

Do you think in algorithms? Are you good at math? Do you enjoy solving problems? Then welcome to computer science, where you can learn how developers build billion-dollar apps, use artificial intelligence to address climate change, and protect computer systems from cyber attacks. As one student put it, UB’s computer science program is for people who like logic and theory, but also want the “practicality and applicability” of being a developer or programmer.

Visit the Computer Science academic program page for more information about the academic experience, who you will learn from, opportunities outside of class and what you can do with this degree.

Visit the Computer Science and Engineering department page  for contact information, a brief overview of the department and the curricular options.

Admission Criteria

  • Minimum overall GPA of 2.800 required
  • Matriculated student with academic good standing at the University at Buffalo.
  • Satisfactory performance in a series of core courses (see below). There are two paths to meet this requirement.
    1. Standard: Completion of four core courses with a combined core course grade point average of at least 2.500.
    2. Fast-Track: Completion of at least two of the four core courses (graded on an A-F bases) with a combined core course grade point average of at least 3.000.

Computer Science / Bioinformatics Courses Core Courses:

  1. Calculus 1 (MTH 141 or MTH 153)
  2. Introduction to Computer Science for Majors 1 (CSE 115)
  3. Introduction to Computer Science for Majors 2 (CSE 116)
  4. Discrete Structures (CSE 191 or MTH 191)


Current students wishing to pursue the Computer Science BS must follow the instructions on the School of Engineering and Applied Sciences Supplemental Application. See the complete School of Engineering and Applied Sciences Admissions Policies for details.

Course Requirements

One calculus-based probability or statistics course (4 credits)

Six CSE Electives (18-24 credits)

The CSE elective requirement consists of six courses: three from required Topic Areas, two within a Specialization Area, and one general upper-level CSE course. The three required Topic Areas are (1) Theory, (2) Hardware Systems and Networking, and (3) Artificial Intelligence. Students select one course from the relevant Topic Area course lists provided below. The Specialization Area requirement is satisfied by completing two additional courses, both from one of the following Topic Areas: (1) Theory, (2) Hardware Systems and Networking, (3) Artificial Intelligence, (4) Software Systems, and (5) Experiential Learning and Research. The general upper-level CSE course requirement is satisfied by a 3- or 4-credit 300- or 400-level CSE course not otherwise applied to requirements for the computer science degree. Note that the non-lecture-based courses CSE 496, CSE 498, and CSE 499 may be used to satisfy the general upper-level CSE course requirement.

One Additional Math or Science course (3 credits):

Can be satisfied through any of the following: [except courses used to satisfy any other degree requirement or scientific literacy sequence required for UB Curriculum]

  • Any 200-level or higher MTH or STA course (excludes MTH 411 , STA 301 STA 301 , and MTH 495 -MTH 499 / STA 495-STA 499 ); OR
  • Any 200- level or higher (excluding 495-499) course in BIO, CHE, GLY or PHY; OR
  • Any course in an approved UB Curriculum Scientific Literacy sequence


*Students are permitted to take alternative programming courses EAS 230  or EAS 240  in lieu of CSE 115 , however CSE 115  is strongly preferred for Computer Science majors. The alternative programming courses should only be utilized by students transferring into the program with EAS 230 , EAS 240 , or EAS 999TRCP  (general programming for transfer students) already completed. View our Computer Programming Requirement website for more information on the programming alternatives and self-study packages. 

*Students are permitted to use PHY 151  and PHY 152   in lieu of PHY 158 , however PHY 158  is preferred.

All courses are not offered every semester. Please check the undergraduate schedule ahead for planning.

Total Credits Required for Major: 85-94

Additional Degree Requirements Include:

  • Additional coursework to fulfill UB Curriculum requirements
  • Elective courses as needed to complete the 120 credit hour total

Total Credits Required for Graduation: 120

Total Credit Hours Required represents the minimum credits needed to complete this program, and may vary based on a number of circumstances. This should not be used for financial aid purposes.

Academic Requirements

Students in the School of Engineering and Applied Sciences must have a minimum GPA of 2.000 in technical classes (engineering, math, and science classes) to be in good standing and graduate with an undergraduate degree. To maintain academic standards and determine eligibility for continued enrollment, the School of Engineering and Applied Sciences reviews the academic records of all students in an approved undergraduate SEAS major. This academic review is conducted at the end of each fall and spring semester.

View the School of Engineering and Applied Sciences Academic Review Policy

Transfer Credit Policy

Students seeking a BA degree in computer science must complete at least six required CSE courses at UB, and at least four of these courses must be at the 300 or 400 level (excluding CSE 492  CSE 494  and CSE 499 ).

Curricular Plan

A Curricular Plan provides a roadmap for completing this academic program and the UB Curriculum on time. Your actual plan may vary depending on point of entry to the university, course placement and/or waivers based on standardized test scores, earned alternative credit and/or college transfer credit. 

Total Credits: 14 or 15

Total Credits: 15 or 16

Second Year Fall

Total Credits: 14

Second Year Spring

Total Credits: 18

Third Year Fall

Total Credits: 17

Third Year Spring

  • Credits: 3
  • Topic Area 2 Credits: 3
  • Topic Area 3 Credits: 3
  • CSE 300 or 400 Technical Elective Credits: 3
  • Pathway Course Credits: 3

Total Credits: 15

Fourth Year Fall

  • Specialization 1 Credits: 3
  • Math or Science Elective Credits: 3
  • Capstone Requirement Credits: 3-4
  • Elective Credits: 3 

Total Credits: 13-14

Fourth Year Spring

  • Specialization 2 Credits: 4
  • Elective Credits: 3
  • Elective Credits: 3
  • Elective Credits: 3

Total Credits: 13

Total Credits Required: 120

Note: Some classes may count toward both a major and UB Curriculum requirement.

Learning Outcomes

The curriculum provides opportunities for students to develop the following knowledge, skills, and behaviors by the time of graduation:

  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  • Design, implement and Evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  • Communicate effectively in a variety of professional contexts.
  • Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  • Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  • Apply computer science theory and software development fundamentals to produce computing-based solutions.


(HEGIS: 07.01 COMPUTER & INFO SCI-GEN, CIP11.0701 Computer Science)


Return to {$returnto_text} Return to: Program Requirements