Jun 09, 2025  
2025-2026 Undergraduate Catalog 
    
2025-2026 Undergraduate Catalog

Computer Science BA


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 and Engineering BA 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.

Major Requirements


Capstone (3-4 credits)


Select from one of the following capstone courses.

Four CSE 300/400 Level Courses (12-16 credits)


The CSE elective requirement consists of four courses: three from required Topic Areas and one general upper-level CSE courses. The three required Topic Areas are (1) Theory, (2) Security, and (3) Artificial Intelligence. Students select one course from the relevant Topic Area course lists provided below. The general upper-level CSE course requirement is satisfied by one 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 497 , CSE 498 , and CSE 499  may be used to satisfy the general upper-level CSE course requirement. 

One 300/400 LAS course (3 credits)


This course cannot be used to satisfy any other computer science degree requirement.

Five External Concentration Electives (15 credits)


Courses must be from one course prefix within the College of Arts and Sciences at the 200-level or above. At most two courses may be at the 200-level. Courses must be lecture or seminar based, however in certain cases, non-lecture or seminar based courses can be used with the approval of the CSE Director of Undergraduate Studies. 

Total Credits Required for Major: 78-84


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.

Notes


Students taking MTH 121 /MTH 122  should note that certain CSE courses (e.g. CSE 331  and CSE 396 ) require MTH 142  as a pre-requisite. Students planning to take such courses are advised to take MTH 141 /MTH 142  

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

*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.

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

Program Distinction


A student in this major is eligible for Program Distinction upon degree conferral if the criteria are met. Criteria are found under Academic Honors in the Policy and Procedure section of this Catalog. Program Distinction is noted on the official transcript.

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.

All students are encouraged to use this plan in conjunction with other academic planning resources such as your academic advisor, the HUB Academic Advisement Report , My Planner and Path Finder tool.

In addition to following this course roadmap, all other admission and academic requirements of this major as listed in the Undergraduate Catalog must be met in order to successfully complete this degree.

YEAR 1


Fall Semester​​​​​​

Spring Semester​​​​​​


YEAR 2


Fall Semester​​​​​​

Spring Semester​​​​​


YEAR 3


Fall Semester​​​​​

  • LAS Elective Credits: 1
  • Pathway Credits: 3
  • CSE 300 OR 400 Level Elective Credits: 3
  • External Concentration 1 (200-Level above) Credits: 4
  • EAS 360LEC - STEM Communications Credits: 3  or Equivalent

    Total Credits: 14

Spring Semester​​​​​​

  • Pathway Credits: 3
  • CSE 300 OR 400 Level Elective Credits: 3
  • CSE 300 OR 400 Level Elective Credits: 3
  • External Concentration 2 (200-Level above) Credits: 4 

    Total Credits: 13

YEAR 4


Fall Semester

  • CSE 300 OR 400 Level Elective Credits: 4
  • External Concentration 3 (300 above) Credits: 3
  • External Concentration 4 (300 above) Credits: 3
  • LAS 300 or 400 Level Credits: 4
  • UBC 399MNT - UB Curriculum Capstone Credits: 1  

    Total Credits: 15 

Spring Semester​​

  • CSE 300 OR 400 Level Elective Credits: 3
  • CSE 300 OR 400 Level Elective Credits: 4
  • External Concentration 5 (300 above) Credits: 3
  • LAS Elective Credits: 4
  • LAS Elective Credits: 3

    Total Credits: 17

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:

  • an ability to analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions
  • an ability to design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline
  • an ability to communicate effectively in a variety of professional contexts
  • an ability to recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles
  • an ability to function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline
  • an ability to 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: Majors and Combined Degrees