Computer Science : Degrees & Policies

Degrees Offered

Undergraduate: BA, BS, Minor
Graduate: MS, PhD
Combined: BS/MS (accelerated), BA/MBA

Advisement

Entering freshmen/transfers are offered a wide range of special advisement opportunities and academic help sessions by the Office of Undergraduate Education, School of Engineering and Applied Sciences (410 Bonner Hall). Students in the program obtain academic guidance jointly from a senior academic advisor in Engineering and from the Computer Science and Engineering Undergraduate Advisor (338R Davis Hall).

Upon admission, the Department of Computer Science and Engineering writes to inform students of their faculty mentors, whom they may consult regarding technical aspects of the program, as well as future research opportunities, and academic, and career goals. Students are required see an advisor at least once a semester. A semester before graduation, students are required to meet with an advisor to ensure their remaining coursework satisfies the general education, design, and other program requirements needed to graduate.

To graduate with a degree from the School of Engineering and Applied Sciences, students must have a minimum GPA of 2.0 in technical classes required for the major (includes engineering, math, technical electives, and science classes). Please refer to the degree program sections of the catalog for additional requirements.

Computer science majors are exempt from the SEAS residency requirement.

Required courses cannot be taken Pass-Fail or Satisfactory-Unsatisfactory.

Students must obtain a minimum overall and UB GPA of 2.0 to be considered in academic good standing with the University.

Prerequisites are satisfied with grade of C- or better. If student does not obtain the required grade, the student must retake the prerequisite course before proceeding to the next course.

All CSE 300/400-level courses are for majors only.

Departmental Senior Standing is achieved when students complete a minimum of:
2 of CSE 300-level courses for BA Program in CS and
3 of CSE 300-level courses for BS program in CS or CEN

At least six of our required CSE courses must be taken at UB, and at least four of these courses should be 300 or 400-level CSE courses (excludes CSE 492, CSE 494-CSE 499).

Acceptance Information

See the School of Engineering and Applied Sciences for acceptance information.

Transfer Policy

Transfer students must first apply to the university and meet the university transfer admission requirements. For admission of transfer students to engineering, see School of Engineering and Applied Sciences Transfer Policy in the Undergraduate Catalog, as well as additional departmental admission information.

Computing courses taken outside the department, and offered as substitutes for computer science courses, are evaluated individually by the Undergraduate Affairs Committee. Most courses taken from a recognized college-level computer science department are acceptable. Data-processing courses are generally not acceptable as substitutes for any computer science course. Experience has shown that any course with a specific programming language in its title is often a skills course rather than a computer science course. The student must provide evidence to help the department determine whether courses taken at another institution are equivalent to UB courses; course syllabi are generally preferable to catalog descriptions as catalog descriptions do not provide enough detail for accurate evaluation.

Additional information on course equivalencies may be found on the university's transfer and articulation website at: http://taurus.buffalo.edu.

Computer Science - B.S.

Acceptance Criteria

Prerequisite Courses

CSE 115 Intro to Computer Science for Majors I
CSE 116 Intro to Computer Science for Majors II
CSE 191 Introduction to Discrete Structures

Required Courses

CSE 241 Digital Systems
CSE 250 Data Structures
CSE 305 Intro to Programming Languages
CSE 331 Intro to Algorithm Analysis & Design
CSE 341 Computer Organization
CSE 396 Intro to the Theory of Computation
CSE 421 Intro to Operating Systems
CSE 442 Software Engineering
One calculus-based probability or statistics course (e.g., EAS 305, MTH 411)
One CSE course in the Artificial Intelligence area:
CSE 463 Knowledge Representation
CSE 467 Computational Linguistics
CSE 473 Intro to Computer Vision & Image Processing
CSE 474 Intro to Machine Learning
One CSE course in the Software Systems area:
CSE 321 Real-Time & Embedded Operating Systems
CSE 451 Program Development
CSE 462 Database Concepts
CSE 486 Distributed Systems
CSE 489 Modern Networking Concepts
MTH 141 College Calculus I
MTH 142 College Calculus II
One 400-level CSE course from any area (except CSE 492, CSE 494-CSE 499, a required CSE 400-level courses, or a course already used to satisfy the Artificial Intelligence or Software Systems areas above)
One mathematical course from any dept. (approval of CSE faculty advisor is required for course selection)
Any two-course science and engineering sequence (from Biology, Chemistry, Geology, Physics, or any department in the School of Engineering and Applied Sciences, except CSE)

Note: all courses are not offered every semester. Please check the undergraduate schedule ahead for planning.

Summary
Total required credit hours for the major: 78-80

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

Recommended Sequence of Program Requirements

FIRST YEAR
Fall CSE 115, MTH 141
Spring CSE 116, CSE 191, MTH 142

SECOND YEAR
Fall CSE 241, CSE 250, one science and engineering sequence course
Spring CSE 305, one calculus-based probability or statistics course (e.g., EAS 305, MTH 411),
one science and engineering sequence course

THIRD YEAR
Fall CSE 331, one MTH course (approval of CSE faculty advisor)
Spring CSE 341, CSE 396

FOURTH YEAR
Fall CSE 442, one CSE course (SYS or AI), one CSE 400-level course
Spring CSE 421, one CSE course (SYS or AI)

Computer Science - B.A.

Acceptance Criteria

Prerequisite 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

Required Courses

CSE 241 Digital Systems
CSE 250 Data Structures
One of the following: MTH 121/MTH 122 Survey of Calculus & Its Applications I & II; MTH 131 Mathematical Analysis for Management; or MTH 141/MTH 142 College Calculus I & II
Two of the following: CSE 305 Intro to Programming Languages; CSE 321 Real Time and Embedded Operating Systems; CSE 331 Intro to Algorithm Analysis and Design; CSE 341 Computer Organization; or CSE 396 Intro to the Theory of Computation
Three CSE courses at the 300 level or above with minimum two at the 400 level (excludes CSE 494 - CSE 499, CSE 492)
One of the following: STA 111 Intro to Probability and Statistics I; STA 119 Statistical Methods; MGQ 301 Statistical Decisions in Management; MTH 411 Probability Theory; EAS 305 Applied Probability; or other probability/statistics courses that may be subject to approval upon request
Any two-course science and engineering sequence (from Biology, Chemistry, Geology, Physics, or any department in the School of Engineering and Applied Sciences, except CSE).
Five external concentration courses from one department other than CSE [five courses at the 200-level or above, with at most, two 200-level for a total of at least 15 credits]. Courses must be lecture based. Seminar and tutorial-type courses are not acceptable. External concentration courses must be approved by the CSE Director of Undergraduate Studies.

Note: all courses are not offered every semester. Please check the undergraduate schedule ahead for planning.

Summary
Total required credit hours for the major: 67-77

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

Recommended Sequence of Program Requirements

FIRST YEAR
Fall CSE 115, one of (MTH 121, MTH 131 or MTH 141)
Spring CSE 116, CSE 191, MTH 122 or MTH 142 (unless completed MTH 131)

SECOND YEAR
Fall CSE 241, CSE 250, one science and engineering sequence course
Spring one of: (CSE 305, CSE 321, CSE 331, CSE 341, or CSE 396), one probability or statistics course (e.g., STA 111, MTH 411), one science and engineering sequence course

THIRD YEAR
Fall one of: (CSE 305, CSE 321, CSE 331, CSE 341, or CSE 396), one external concentration course
Spring *one CSE 300 or 400-level course, one external concentration course

FOURTH YEAR
Fall *one CSE 300 or 400-level course, two external concentration courses
Spring *one CSE 300 or 400-level course, one external concentration course

*maximum of one CSE 300-level course required of the three total required

Computer Engineering - B.S.

About the Program

The computer engineering B.S. degree combines the study of mathematics, computer science, and electrical engineering. Computer engineering emphasizes those topics that bridge the electrical engineering and computer science disciplines: computer hardware, device-oriented software, and the interface between hardware and software. General education is integrated into the curriculum consistent with other engineering programs at UB. For further information, see the Computer Engineering entry in this catalog, /1112/academicprograms/comeng.shtml.

Computer Science / Computer Science And Engineering - B.S./M.S.

Acceptance Criteria

Completion of at least 56 credits with a minimum GPA of 3.0 (five-year path), or a minimum GPA of 3.3 (four-year path) among all required CSE, MTH, and EAS courses. Transfer students must complete at least one semester at the university before applying.

Application must be accompanied by two letters of recommendation from our faculty and reviewed by the department.

It is recommended that candidates complete CSE 115, CSE 116, CSE 191, CSE 241, CSE 250, *MTH 141 or *MTH 142 and a calculus-based probability or statistics course prior to applying.

*Unless exempted by an SAT score, Advanced Placement credits, or transfer credits.

Advising Notes

In addition to university-wide graduation requirements, a minimum GPA of 3.0 is required for each of the following three sets of courses: (a) all undergraduate CSE, EAS, MTH, and STA required courses; and (b) all graduate courses; and (c) one of [CSE 505, CSE 521], one of [CSE 531, CSE 596], one of [CSE 555, CSE 563, CSE 573, CSE 574], one of [CSE 552, CSE 589, CSE 590, CSE 593). In addition, no more than 2 Cs and no Ds or Fs are allowed in graduate courses used in the program.

No required courses may be taken Pass-Fail or Satisfactory-Unsatisfactory.

A minimum of 30 graduate credits is required by the Graduate School to satisfy MS university requirements. A total of 134 credits (both undergraduate and graduate) is required for this program, which includes the university general education courses.

Students enrolled in the BS/MS program must take all courses that are cross-listed 400/500 at the 500-level, with the exception of CSE 542, which cannot be used as a requirement towards the MS portion of this program. Students enrolled in the BS/MS program are not allowed to take the same CSE course at the 400 and 500 level with both counting towards their degree requirements.

Prerequisite 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 241 Digital Systems
CSE 250 Data Structures
MTH 141 College Calculus I
MTH 142 College Calculus II
One calculus-based probability or statistics course (e.g., EAS 305, MTH 411)

Required Courses

undergraduate:
CSE 331 Intro to Algorithm Analysis & Design
CSE 341 Computer Organization
CSE 396 Intro to the Theory of Computation
CSE 442 Software Engineering
One 300-level or higher MTH or STA course
Any two-course science and engineering sequence (from Biology, Chemistry, Geology, Physics, or any department in the School of Engineering and Applied Sciences, except CSE).

Graduate*:
CSE 505 Fundamentals of Programming Languages
CSE 521 Intro to Operating Systems
One of the following:
CSE 531 Analysis of Algorithms
CSE 596 Intro to the Theory of Computation
One of the following:
CSE 555 Intro to Pattern Recognition
CSE 563 Knowledge Representation
CSE 573 Intro to Computer Vision & Image Processing
CSE 574 Intro to Machine Learning
One of the following:
CSE 552 VLSI (Very Large Scale Integration) Testing
CSE 589 Modern Networking Concepts
CSE 590 Computer Architecture
CSE 593 Intro to VLSI Electronics
One additional 500-level CSE course (excluding CSE 501 Graduate Studies in CS I, CSE 503 Computer Science for Nonmajors I, CSE 504 Computer Science for Nonmajors II, or CSE 507 Object Oriented Applications & Systems Design (for nonmajors) and one additional 600-level CSE course**
Capstone event (MS Thesis or MS Project)***
Additional CSE graduate courses to ensure 30 credits hours at the graduate level****

Note: all courses are not offered every semester. Please check the undergraduate/graduate schedule ahead for planning.

Summary
Total required credit hours for the undergraduate portion: 58-60
Total required credit hours for the BS/MS: 88-90

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.

*Students in the BS/MS program must change status from undergraduate to graduate while completing the program. Student status will change to graduate after the completion of two graduate level courses. When the student changes status to graduate, all graduate school rules and policies apply; therefore, the 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.

**Core areas are defined in the CSE Graduate Handbook. The following courses cannot be counted towards the MS degree: CSE 501, CSE 503, CSE 504, CSE 507, CSE 699. At most, one credit of CSE 598 - Internship can be counted towards the MS degree. At most, one of the following can be counted towards the MS degree (CSE 519, CSE 522, CSE 523, CSE 525, CSE 539, CSE 553).

***Please refer to the CSE Graduate Handbook for further information about the MS Thesis or MS Project.

****Additional graduate-level courses are required to equal 30 or more credits. (Excludes CSE 501, CSE 503, CSE 504, and CSE 507). Courses outside of CSE can be counted towards a graduate degree, but there are limitations and restrictions. Refer to the CSE Graduate Handbook for further information.

Recommended Sequence of Program Requirements

FIRST YEAR
Fall CSE 115, MTH 141
Spring CSE 116, CSE 191, MTH 142

SECOND YEAR
Fall CSE 250, CSE 241, one science and engineering sequence course
Spring one calculus-based probability or statistics course (e.g., EAS 305, MTH 411), one science and engineering sequence course

THIRD YEAR
Fall CSE 331, one 3XX or 4XX MTH or STA course (approved by faculty advisor)
Spring CSE 396, CSE 341

FOURTH YEAR
Fall CSE 442, CSE 505
Spring CSE 521, one of: [CSE 555, CSE 563, CSE 573, CSE 574,] one 5XX or 6XX CSE course

FIFTH YEAR
Fall one of: [CSE 552, CSE 589, CSE 590, CSE 593], one CSE seminar, one 5XX or 6XX-level CSE course
Spring one of: [CSE 531 or CSE 596], two 5XX or 6XX level CSE courses
*Additional graduate-level courses are required to equal 30 or more credits (excludes CSE 501, CSE 503, CSE 504, and CSE 507).

Note: Exceptional accelerated students may be able to complete this program in 4 years with the consultation, guidance, and approval of CSE advisor.

Computer Science - B.A./M.B.A

Acceptance Criteria

Prior admission into the CS major and acceptance as a graduate student by the School of Management.

See School of Engineering and Applied Sciences Acceptance Information in the Undergraduate Catalog.

Advising Notes

In addition to university-wide graduation requirements, a minimum GPA of
2.5 is required in technical courses. This is the GPA among all CSE, MTH, STA, EAS and MGQ courses used below as required courses.

No required courses may be taken Pass-Fail or Satisfactory-Unsatisfactory.

Prerequisites are satisfied with a grade of C- or better.

Students apply directly to the School of Management during their junior year to be admitted to the MBA Program. The MBA courses shown below are representative of those currently required but may change prior to a student's acceptance into the MBA Program. Students should confirm MBA program requirements with the School of Management upon their application and acceptance to that program.

Required Courses

CSE 115 Intro to Computer Science for Majors I
CSE 116 Intro to Computer Science for Majors II
One of: MTH 121/MTH 122 Survey Of Calculus & Its Applications I & II; MTH 131 Mathematical Analysis for Management; or MTH 141/MTH 142 College Calculus I & II
CSE 191 Intro to Discrete Structures
CSE 241 Digital Systems
CSE 250 Data Structures
Two of: CSE 305 Intro to Programming Languages
CSE 321 Real-Time and Embedded Operating Systems
CSE 331 Intro to Algorithm Analysis and Design
CSE 341 Computer Organization
CSE 396 Intro to the Theory of Computation
Three CSE courses at the 300-level or above with minimum two at the 400-level (excludes CSE 494 - CSE 499, CSE 492)
Any two-course science and engineering sequence (from Biology, Chemistry, Geology, Physics, or any department in the School of Engineering and Applied Sciences, except CSE).
MGA 603 Financial Accounting for Managers
MGA 605 Accounting for Management Decision Making
MGB 610 Organizational Behavior
MGB 611 Team Skills
MGE 604 Business Economics
MGF 611 Financial Analysis for Managers
MGG 601 Corporate Social Responsibility/Sustainability
MGG 635 Management Communication
MGM 615 Marketing for Managers
MGO 620 Operations Management
MGO 640 Business Strategy
MGO 642 Integration of Business Functions
MGO 644 Business Practice
MGQ 608 Statistical Analysis for Managers
MGQ 609 Analytics for Managers
MGS 605 IT Management
Seven MGT electives (may include internship)

*MGQ 606 satisfies a requirement in the School of Management as well as the probability/statistics requirement in computer science.

Note: all courses are not offered every semester. Please check the undergraduate schedule ahead for planning.

Summary
Total required credit hours for the undergraduate portion: 79-84
Total required credit hours for the BA/MBA: 130-135

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

Refer to the School of Management's MBA handbook for requirements for MBA candidates.

Recommended Sequence of Program Requirements

FIRST YEAR
Fall CSE 115, one of: MTH 121, MTH 131 or MTH 141
Spring CSE 116, CSE 191, one of: MTH 122 or MTH 142 (unless completed MTH 131)

SECOND YEAR
Fall CSE 250, CSE 241, one science and engineering sequence course
Spring one of: CSE 305, CSE 321, CSE 331, CSE 341, or CSE 396; one science and engineering sequence course

THIRD YEAR
Fall one of: CSE 305, CSE 321, CSE 331, CSE 341, or CSE 396; one CSE 300 or 400-level or higher courses (min. 2 CSE 400-level)
Spring two CSE 300 or 400-level or higher courses (min. 2 CSE 400-level)

FOURTH YEAR
Fall MGA 603, MGB 610, MGB 611, MGF 611, MGG 601, MGG 635, MGM 615, MGQ 608, MGQ 609
Spring MGA 605, MGE 604, MGO 620, MGO 640, MGS 605

FIFTH YEAR
Fall four MGT electives
Spring MGO 642, MGO 644, three MGT electives

Computer Science - Minor

About the Minor

Six CSE courses (excluding CSE 494 - CSE 499, CSE 492), with at least two at the 300- level or above. A minimum GPA of 2.5 overall in those courses is required. At least three courses must be taken at UB. A maximum of two of these courses may be used for a student's major.

Admission into the computer science minor is based on completion of any three of the courses that constitute a minor in computer science with a minimum combined GPA of 2.5 in those courses. Applicants to the computer science minor should bring a copy of their current UB DARS report directly to the Department of Computer Science and Engineering during the semester after three of the six required courses are completed.

SAMPLE MINOR PROGRAMS
Software track: CSE 115, CSE 116, CSE 191, CSE 250, CSE 305, CSE 442
Hardware track: CSE 115, CSE 116, CSE 191, CSE 241, CSE 379, CSE 380

Updated: 13 Nov 2012 06:00:49 EST