Skip to main content.

Computer Science BS/Computer Science and Engineering MS - Program Requirements

(HEGIS: 07.01 COMPUTER & INFO SCI-GEN, CIP: 11.0701 Computer Science)

Completing the Computer Science BS/Computer Science and Engineering MS Program

Academic Requirements

Students seeking an undergraduate degree from the School of Engineering and Applied Sciences must have a minimum GPA of 2.0 in technical classes (engineering, math, and science classes). 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.

Students must meet all applicable admission criteria and deadlines to be accepted to the graduate portion of the combined degree.

View the School of Engineering and Applied Sciences Academic Review Policy

Academic Advice

Advisement tools available for our students:

Transfer Credit Policy

Transfer students must first apply to the university and meet the university transfer admission requirements. SUNY Seamless Transfer is a SUNY-wide program intended to make transferring to UB and other SUNY Schools simple and efficient. Information about the Transfer Path for this major can be found on the SUNY website. Students are encouraged to contact their academic advisor or department to discuss how their coursework will apply to their degree.

Transfer students who have completed an engineering science program at a community college or the first three years of a 3+2 program at a four-year college can typically expect to enter the third year of an engineering program at the University at Buffalo. Graduates of technology programs receive limited transfer credit and can expect three to four years of study at the university to complete the requirements.

Residency Requirement

Students seeking a BS or 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).

Prerequisite Courses

Please see the School of Engineering and Applied Science admissions policies listed above.

Required Courses


CSE 115 Intro to Computer Science for Majors I

CSE 116 Intro to Computer Science for Majors II

CSE 191 Intro to Discrete Structures

CSE 199 First Year Seminar, or equivalent

CSE 220 Systems Programming

CSE 250 Data Structures

CSE 331 Intro to Algorithm Analysis & Design

CSE 341 Computer Organization

EAS 360 STEM Communication, or equivalent

MTH 141 College Calculus I

MTH 142 College Calculus II

MTH 309 Linear Algebra

One calculus-based probability or statistics course (one of EAS 305, MTH 411, STA 301)

UB approved Scientific Literacy Sequence using only the following courses: BIO 200, BIO 201, CHE 101, CHE 105, CHE 107, GLY 101, GLY 102, GLY 103, GLY 105, PHY 107, PHY 108, PHY 117, PHY 118, PHY 158

Four credit hours of Math or Science coursework: 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, and MTH/STA 495-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

Capstone Requirement: CSE 442 Software Engineering or CSE 494 Senior Capstone/Seminar

3 credits of CSE 300 to 600 level technical elective coursework, except: CSE 331, CSE 341, CSE 442, CSE 542, CSE 492, CSE 494, CSE 495.

Graduate: Breadth Requirement (12 credits)

Theory/Algorithms (TA) core - one of:

CSE 529 Algorithms for Modern Computing Systems

CSE 531 Analysis of Algorithms

CSE 596 Theory of Computation

Artificial Intelligence (AI) core - one of:

CSE 555 Pattern Recognition

CSE 563 Knowledge Representation

CSE 567 Computational Linguistics

CSE 568 Robotics Algorithms

CSE 573 Computer Vision & Image Processing

CSE 574 Machine Learning

Software and Information Systems (SW) core - one of:

CSE 505 Fundamentals of Programming Languages

CSE 521 Operating Systems

CSE 535 Information Retrieval

CSE 562 Database Systems

CSE 565 Computer Security

Hardware/Networked Systems (HW) core - one of:

CSE 552 VLSI (Very Large Scale Integration) Testing

CSE 586 Distributed Systems

CSE 589 Modern Networking Concepts

CSE 590 Computer Architecture

CSE 593 VLSI Electronics

Depth Requirement: 9 credits. Must take 2 courses from one area listed below, at least one of which must be a 600-level course. Must take 1 additional course from any area listed below.

Theory/Algorithms (TA) area:

TA core courses: CSE 545 Error Correcting Codes

CSE 564 Game Theory and Distributed Computing

CSE 632 Analysis of Algorithms II

CSE 633 Parallel Algorithms

CSE 662 Languages and Runtimes for Big Data

CSE 680 Computational Geometry

CSE 681 Formal Languages

CSE 694 Topics in Algorithms

CSE 696 Computational Complexity

Artificial Intelligence (AI) area:

AI core courses

CSE 556 Visualization

CSE 626 Data Mining

CSE 661 Document Analysis and Recognition

CSE 663 Advanced Knowledge Representation and Reasoning

CSE 666 Biometric and Image Analysis

CSE 667 Advanced Topics in Computational Linguistics

CSE 668 Advanced Robotics

CSE 672 Bayesian Vision

CSE 674 Advanced Machine Learning

CSE 675 Stochastic Simulation and Inference

CSE 676 Deep Learning

CSE 678 Face and Gesture Recognition

Software and Information Systems (SW) area:

SW core courses

CSE 570 Introduction to Parallel and Distributed Processing

CSE 587 Data-Intensive Computing

CSE 601 Data Mining and Bioinformatics

CSE 603 Parallel and Distributed Processing

CSE 605 Advanced Concepts in Programming Languages

CSE 622 Advanced Computer Systems

CSE 635 Advanced Topics in Information Retrieval

CSE 636 Data Integration

CSE 664 Applied Cryptography and Computer Security

Hardware and Networked Systems (HW) area:

HW core courses

CSE 524 Real-time and Embedded Systems

CSE 534 Multimedia Systems

CSE 547 High Performance Computing I

CSE 566 Wireless Networks Security

CSE 620 Advanced Networking Concepts

CSE 622 Advanced Computer Systems

CSE 630 Advanced Wireless Networking Concepts

CSE 646 Wireless Networking and Mobile Computing

CSE 671 Security in Ad-hoc and Sensor Networks

CSE 691 Advanced VLSI Design

Graduate Elective Requirement: 9 credits. Must include 1-3 credits of CSE 700 level seminar. May include at most 6 graduate credits from outside the CSE Department (requires approval from the Graduate Director). The following courses do not satisfy the Graduate Elective requirement: CSE 501, CSE 503, CSE 504, CSE 507, CSE 699, the versions of CSE 799 that provide credit for work as Laboratory Assistant.

At most one credit of CSE 598 (Internship) can be counted towards the MS requirements

CSE 542 cannot be used towards the MS requirements

At most one of the following courses can be used to satisfy MS requirements: CSE 519 Object-Oriented Techniques CSE 522 Software Requirements Engineering CSE 523 Quality Software Design CSE 525 Software Testing CSE 539 Software Engineering Tools and Building Blocks CSE 553 Software Development Project Management

MS culminating experience requirement, satisfied by completing a non-credit bearing final integrative project (which can be part of the CSE 6xx course).

Student status will change to graduate after the completion of no more than three graduate-level courses, at which point all Graduate School rules and policies apply. Student must be familiar with and adhere to the Graduate School's Policies and Procedures Manual as well as the CSE Department's Graduate Handbook.

Students completing their BS CS as a subsequent bachelor's degree can fulfill the requirements of this BS CS/MS CSE degree as long as they complete at least six (6) CSE courses (minimum 18 credits) at the undergrad level and at least 8 courses (minimum 24 credits) at the graduate level at UB.

To enroll in MTH 121, 131, and/or 141, all students complete ULC 147 and/or ULC 148 as appropriate and/or achieve the required ALEKS score. If a student is receiving TAP or Excelsior awards please note that ULC 147 or 148 will count for elective credit up to the number of credits each student still has available in their degree program.

Total Credit Hours Required

Total credit hours required for the Computer Science BS/Computer Science and Engineering MS degrees
Credits Required for Major (Undergraduate)57
Additional Credits Required for UB Curriculum (Undergraduate) 27
Additional Credits Required for Electives (Undergraduate) 19
Credits Required for the Graduate MS 30
Total Credits Required for BS/MS Degree Program 133

Students should consult with an academic advisor to determine how any transfer or exam credit might be utilized in meeting general education, prerequisite, or major requirements.

See Baccalaureate Degree Requirements for general education and remaining university requirements.

Refer to the Graduate School's Policies and Procedures Manual for requirements for master's degree candidates.

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

Published: Dec 05, 2019 11:41:04