Computer Science
Department of Computer Science and Engineering
School of Engineering and Applied Sciences
201 Bell Hall
North Campus
Buffalo, NY 14260-2000
Phone: 716.645.3180
Fax: 716.645.3464
Email: cse-uginfo@cse.buffalo.edu
Web: www.cse.buffalo.edu
Bharat Jayaraman
Chair
Chunming Qiao
Director of Undergraduate Studies
Helene Kershner
Assistant Chair
About the Program
Computer science is the systematic study of algorithmic methods for representing and transforming information, including their theory, design, implementation, application, and efficiency. The discipline emerged in the 1950s from the development of computability theory and the invention of the stored-program electronic computer. The roots of computer science extend deeply into mathematics and engineering. Mathematics imparts analysis to the field; engineering imparts design.
The main branches of computer science are:
Algorithms-the study of effective and efficient procedures for solving problems on a computer.
Theory of Computation-the meaning and complexity of algorithms, as well as the limits of what can be computed in principle.
Artificial Intelligence-the computational understanding of what is commonly called intelligent behavior, as well as the creation of artifacts that exhibit such behavior.
Computer Architecture-the structure and functionality of computers, as well as their implementation in terms of electronic language.
Multimedia-the study of the representation, communication, and effective use of data derived from multiple sources, including text, audio, graphics and video.
Software Systems-the study of the structure and implementation of large programs, including the study of programming languages and paradigms, programming environments, compilers, and operating systems.
Other important topics in computer science include computer graphics, databases, networks and protocols, numerical methods, operating systems, parallel computing, simulation and modeling, and software engineering.
Degree Options
The Department of Computer Science and Engineering offers a combined program permitting highly qualified students to graduate in four or five years with a combined BS/MS degree in computer science. In conjunction with the School of Management, the Department of Computer Science and Engineering offers a five-year program leading to a combined degree in computer science and business administration (BS/MBA) that reduces by one year the usual pattern of a four-year undergraduate degree and a two-year MBA program. A BS degree in computational physics is offered jointly with the Physics department.
The university offers a bachelor of science degree in bioinformatics and computational biology, with options for a concentration in biology, biophysics, computer science and engineering, or mathematics. Please refer to the bioinformatics and computational biology program for further details.
Advisement
Upon admission, the Department of Computer Science and Engineering writes to inform students of their faculty advisors. Students should make an appointment with their advisor as soon as possible to discuss a program of study and to choose between the BA and the BS program. Students must see their advisor at least once a semester thereafter. Under current departmental guidelines, students may freely switch degree programs (from B.A. to B.S. or from B.S. to B.A.) at any time, but must complete all appropriate courses.
Transfer Policy
Transfer students must first apply to the university and meet the university transfer-admission GPA requirements before consideration for admission to the Department of Computer Science and Engineering. 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 syllabus 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
Minimum GPA of 2.0 overall.
Minimum GPA of 2.5 in CSE 116 and MTH 142 (unless exempted by SAT score, Advanced Placement credits, or transfer credits).
Advising Notes
A minimum GPA of 2.5 in technical courses is required to graduate. This is the GPA among all CSE, EAS, MTH, and STA courses used below as required courses, except those courses taken to satisfy the science sequence requirement.
Students may apply for admission upon successful completion of prerequisite courses, or may be considered for provisional admission if 60 or more credit hours will be completed in the semester in which student is applying.
No required courses may be taken Pass-Fail or Satisfactory-Unsatisfactory.
Prerequisites are satisfied with a grade of C- or better.
Prerequisite Courses
CSE 115 Introduction to Computer Science for Majors I
CSE 116 Introduction to Computer Science for Majors II
MTH 141 College Calculus I
MTH 142 College Calculus II
Required Courses
CSE 191 Introduction to Discrete Mathematics
CSE 241 Digital Systems
CSE 250 Algorithms and Data Structures
CSE 305 Introduction to Programming Languages
CSE 341 Computer Organization
CSE 396 Introduction to the Theory of Computation
CSE 421 Introduction to Operating Systems
CSE 442 Software Engineering
One calculus-based probability or statistics course (e.g., EAS 305, MTH 411)
Two 400-level CSE courses (except internship, co-op, independent study and required CSE 400-level courses)
One 200-level or higher MTH or STA course
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).
Summary
Total required credit hours for the major: 75-76
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, MTH 142
SECOND YEAR
Fall CSE 191, CSE 241, one 200-level or higher MTH or STA course
Spring CSE 250, one calculus-based probability or statistics course (e.g., EAS 305, MTH 411)
THIRD YEAR
Fall CSE 305, CSE 341, one 300-level or higher MTH or STA course
Spring CSE 396, CSE 442
FOURTH YEAR
Fall One science and engineering sequence course, two 400-level CSE courses
Spring CSE 421, one science and engineering sequence course
Computer Science - B.A.
Acceptance Criteria
Minimum GPA of 2.0 overall.
Minimum GPA of 2.5 in CSE 116 and MTH 142*
*Unless exempted by SAT score, Advanced Placement credits, or transfer credits.
Advising Notes
A minimum GPA of 2.5 in technical courses is required to graduate. This is the GPA among all CSE, EAS, MTH, and STA courses used below as required courses, except those courses taken to satisfy the external concentration and science sequence requirements.
Students may apply for admission upon successful completion of prerequisite courses, or may be considered for provisional admission if 60 or more credit hours will be completed in the semester in which student is applying.
No required courses may be taken Pass-Fail or Satisfactory-Unsatisfactory.
Prerequisites are satisfied with a grade of C- or better.
Prerequisite Courses
CSE 115 Introduction to Computer Science for Majors I
CSE 116 Introduction to Computer Science for Majors II
MTH 141 College Calculus I
MTH 142 College Calculus II
Required Courses
CSE 191 Introduction to Discrete Mathematics
CSE 241 Digital Systems
CSE 250 Algorithms and Data Structures
CSE 305 Introduction to Programming Languages
CSE 341 Computer Organization
CSE 396 Introduction to the Theory of Computation
CSE 421 Introduction to Operating Systems
CSE 442 Software Engineering
One calculus-based probability or statistics course (e.g., EAS 305, MTH 411)
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 [a total of five courses (at least 3 credits each) from the same academic department, at least two of which must be at or above the 300 level, and which are not from CSE (excludes any required courses used above)].
Summary
Total required credit hours for the major: 74-82
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, MTH 142, one external concentration course
SECOND YEAR
Fall CSE 191, CSE 241, one science and engineering sequence course
Spring CSE 250, one calculus-based probability or statistics course (e.g., EAS 305, MTH 411), one science and engineering sequence course
THIRD YEAR
Fall CSE 305, CSE 341, one external concentration course
Spring CSE 396, CSE 442
FOURTH YEAR
Fall Two external concentration courses
Spring CSE 421, one external concentration course
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. Unlike the Department of Computer Science and Engineering’s other undergraduate programs, this degree is offered through the School of Engineering and Applied Sciences. 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 (http://undergrad-catalog.buffalo.edu/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 overall (five-year path), or a minimum GPA of 3.3 overall (four-year path) in all CSE and MTH courses.
Application must be accompanied by two letters of recommendation from our faculty.
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: all undergraduate CSE, EAS, MTH, and STA required courses; all graduate courses; CSE 505, CSE 521, one of [CSE 531, CSE 596], one of [CSE 563, CSE 573, CSE 574, CSE 655], one of [CSE 552, CSE 589, CSE 590, CSE 597].
No required courses may be taken Pass-Fail or Satisfactory-Unsatisfactory.
Prerequisites are satisfied with grade of C- or better.
The grade for each course must be a B- or higher.
A minimum of 30 graduate credits is required by the Graduate School to satisfy M.S. university requirements. A total of 134 credits (both undergraduate and graduate) is required for this program, which includes the university general education courses.
Prerequisite Courses
CSE 115 Introduction to Computer Science for Majors I
CSE 116 Introduction to Computer Science for Majors II
CSE 191 Introduction to Discrete Mathematics
CSE 241 Digital Systems
CSE 250 Algorithms and 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
CSE 341 Computer Organization
CSE 396 Introduction to the Theory of Computation
CSE 442 Software Engineering
One 200-level or higher MTH or STA course
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).
CSE 505 Fundamentals of Programming Languages
CSE 521 Introduction to Operating Systems
CSE 531 Analysis of Algorithms or CSE 596 Introduction to the Theory of Computation
One of the following: CSE 563 Knowledge Representation, CSE 573 Introduction to Computer Vision and Image Processing, CSE 574 Introduction to Machine Learning, CSE 655 Introduction to Pattern Recognition
One of the following: CSE 552 VLSI (Very Large Scale Integration) Testing, CSE 589 Modern Networking Concepts, CSE 590 Computer Architecture, CSE 597 Introduction to VLSI Electronics
One additional 500-level CSE course (but not CSE 503 Computer Science for Nonmajors I, CSE 504 Computer Science for Nonmajors II, or CSE 507 Object Oriented Applications and Systems Design (for nonmajors))
One additional 600-level CSE course
Capstone event (M.S. Thesis or M.S. Project)
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.
Recommended Sequence of Program Requirements
Four-Year Path
FIRST YEAR
Fall CSE 115, MTH 141
Spring CSE 116, CSE 191, MTH 142
SECOND YEAR
Fall CSE 241, CSE 250, one calculus-based probability or statistics course (e.g., EAS 305, MTH 411)
Spring CSE 396, CSE 341, one 200-level or higher MTH or STA course
THIRD YEAR
Fall CSE 505, one 300-level or higher MTH or STA course, one science and engineering sequence course
Spring CSE 442; one of: CSE 563, CSE 573, CSE 574, CSE 655; one science and engineering sequence course
FOURTH YEAR
Fall CSE 521; one of: CSE 531, CSE 596; one 600-level CSE course
Spring one of: CSE 552, CSE 589, CSE 590, CSE 597; one 500-level CSE course (but not CSE 503, CSE 504, or CSE 507), Capstone event (M.S. Thesis or M.S. Project)
Five-Year Path
FIRST YEAR
Fall CSE 115, MTH 141
Spring CSE 116, MTH 142
SECOND YEAR
Fall CSE 191, CSE 241
Spring CSE 250, calculus-based probability or statistics course (e.g., EAS 305, MTH 411)
THIRD YEAR
Fall CSE 396, one 200-level or higher MTH or STA course, one science and engineering sequence course
Spring CSE 341, one 300-level or higher MTH or STA course, one science and engineering sequence course
FOURTH YEAR
Fall CSE 505, CSE 521
Spring CSE 442, one 500-level CSE course (but not CSE 503, CSE 504, or CSE 507)
FIFTH YEAR
Fall One of: CSE 563, CSE 573, CSE 574, CSE 655; one of: CSE 552, CSE 589, CSE 590, CSE 597; one 600-level CSE course
Spring One of: CSE 531, CSE 596; Capstone Event (M.S. Thesis or M.S. Project)
Computer Science/Business Administration - B.A./M.B.A
Acceptance Criteria
Prior admission into the CS major and completion of the GMAT exam during the junior year. Application to the School of Management and to this program during the junior year is considered in light of requirement of generally superior performance.
Advising Notes
In addition to university-wide graduation requirements, a minimum GPA of 2.5 in technical courses is required. This is the GPA among all CSE, EAS, MTH, and STA courses used below as required courses.
Students may apply for admission upon successful completion of prerequisite courses, or may be considered for provisional admission if 60 or more credit hours will be completed in a given semester.
No required courses may be taken Pass-Fail or Satisfactory-Unsatisfactory.
Prerequisites are satisfied with a grade of C- or better.
Prerequisite Courses
CSE 115 Introduction to Computer Science for Majors I
CSE 116 Introduction to Computer Science for Majors II
MTH 141 College Calculus I
MTH 142 College Calculus II
Required Courses
CSE 191 Introduction to Discrete Structures
CSE 241 Digital Systems
CSE 250 Algorithms and Data Structures
CSE 305 Introduction to Programming Languages
CSE 341 Computer Organization
CSE 396 Introduction to the Theory of Computation
CSE 421 Introduction to Operating Systems
CSE 442 Software Engineering
One calculus-based probability/statistics course (e.g., EAS 305, MTH 411)
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 604 Financial Analysis and Reporting
MGB 601 Behavioral and Organizational Concepts of Management
MGE 601 Economics for Managers
MGF 631 Financial Management
MGM 625 Marketing Management
MGQ 606 Probability and Statistics for Managers
MGS 630 Operations and Service Management
MGS 641 Strategic Management
Ten MBA electives (a maximum of two of these electives may be taken from another department, e.g., CSE)
Two flex core courses
Summary
Total required credit hours for the undergraduate portion: 58-60
Total required credit hours for the BS/MBA: 118-120
See Baccalaureate Degree Requirements for general education and remaining university requirements.
Contact the School of Management for flex core course and electives options.
Refer to the School of Management’s MBA handbook for requirements for MBA candidates.
Recommended Sequence of Program Requirements
FIRST YEAR
Fall CSE 115, MTH 141
Spring CSE 116, MTH 142
SECOND YEAR
Fall CSE 191, CSE 241, one science and engineering sequence course
Spring CSE 250, one calculus-based probability/statistics course (e.g., EAS 305, MTH 411), one science and engineering sequence course
THIRD YEAR
Fall CSE 305, CSE 341
Spring CSE 396, CSE 421, CSE 442
FOURTH YEAR
Fall MGA 604, MGB 601, MGE 601, MGQ 606, one flex core course
Spring MGF 631, MGM 625, MGS 630, one M.B.A. elective, one flex core course
FIFTH YEAR
Fall Five MBA electives
Spring MGS 641, four MBA electives
Computer Science - Minor
About the Minor
Six CSE courses (excluding CSE 202, CSE 444-CSE 446, CSE 498-CSE 499), 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
Course Descriptions
CSE 101 Computers: A General IntroductionCredits: 4 | CSE 111 Great Ideas in Computer ScienceCredits: 4 | |
CSE 113 Introduction to Computer Programming ICredits: 4 | CSE 114 Introduction to Computer Programming IICredits: 4 | |
CSE 115 Introduction to Computer Science for Majors ICredits: 4 | CSE 116 Introduction to Computer Science for Majors IICredits: 4 | |
CSE 182 Computers and SocietyCredits: 3 | CSE 191 Introduction to Discrete MathematicsCredits: 4 | |
CSE 202 Programming in LispCredits: 1 | CSE 241 Digital SystemsCredits: 4 | |
CSE 250 Algorithms and Data StructuresCredits: 4 | CSE 305 Introduction to Programming LanguagesCredits: 4 | |
CSE 337 Introduction to Scientific ComputingCredits: 4 | CSE 341 Computer OrganizationCredits: 4 | |
CSE 379 Introduction to Microprocessors and MicrocomputersCredits: 3 | CSE 380 Introduction to Microprocessors LabCredits: 3 | |
CSE 396 Introduction to the Theory of ComputationCredits: 4 | CSE 410 Special TopicsCredits: 4 | |
CSE 411 Introduction to Computer Systems AdministrationCredits: 4 | CSE 416 E-Commerce TechnologyCredits: 4 | |
CSE 421 Introduction to Operating SystemsCredits: 4 | CSE 422 Operating Systems InternalsCredits: 4 | |
CSE 431 Algorithms Analysis and Design ICredits: 4 | CSE 437 Introduction to Numerical Analysis ICredits: 4 | |
CSE 438 Introduction to Numerical Analysis IICredits: 4 | CSE 442 Software EngineeringCredits: 4 | |
CSE 443 Introduction to Language ProcessorsCredits: 4 | CSE 444 Co-op Program, Work Session ICredits: 1 | |
CSE 445 Co-op Program, Work Session IICredits: 1 | CSE 446 Co-op Program, Work Session IIICredits: 1 | |
CSE 451 Program DevelopmentCredits: 4 | CSE 452 VLSI TestingCredits: 4 | |
CSE 453 Hardware/Software Integrated Systems DesignCredits: 4 | CSE 462 Database ConceptsCredits: 4 | |
CSE 463 Introduction to Knowledge Representation and ReasoningCredits: 4 | CSE 467 Computational LinguisticsCredits: 4 | |
CSE 472 Introduction to Artificial IntelligenceCredits: 4 | CSE 473 Introduction to Computer Vision and Image ProcessingCredits: 4 | |
CSE 474 Introduction to Machine LearningCredits: 4 | CSE 475 Modern Computer SystemsCredits: 4 | |
CSE 480 Computer GraphicsCredits: 4 | CSE 486 Large Scale Distributed SystemsCredits: 4 | |
CSE 487 Information StructuresCredits: 3 | CSE 489 Modern Networking ConceptsCredits: 4 | |
CSE 490 Computer ArchitectureCredits: 4 | CSE 497 Introduction to VLSI ElectronicsCredits: 4 | |
CSE 498 InternshipCredits: 1 - 5 | CSE 499 Independent StudyCredits: 1 - 4 | |
Updated: Nov 16, 2005 10:48:00 AM