Theory/Algorithms (TA) Area (3 credits)
- CSE 529 - Algorithms for Modern Computing Systems
- CSE 531 - Analysis of Algorithms I
- CSE 545 - Error Correcting Codes
- CSE 564 - Game Theory and Distributed Computing
- CSE 596 - Intro to the Theory of Computation
- 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 (3 credits)
- CSE 555 - Intro to Pattern Recognition
- CSE 556 - Introduction to Visualization
- CSE 563 - Knowledge Representation
- CSE 567 - Computational Linguistics
- CSE 568 - Robotics Algorithms
- CSE 573 - Intro to Computer Vision & Image Processing
- CSE 574 - Intro to Machine Learning
- CSE 610/676 - Special Topics/Deep Learning
- CSE 626 - Data Mining
- CSE 661 - Document Analysis and Recognition
- CSE 663 - Advanced Knowledge Representation and Reasoning
- CSE 666 - Introduction to 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 678 - Face and Gesture Recognition
Software and Information Systems (SW) Area (3 credits)
- CSE 505 - Fundamentals of Programming Languages OR
- CSE 521 - Introduction to Operating Systems OR
- CSE 512 - Operating System Internals (only one of these two courses can be used to satisfy the MS requirements in this area)
- CSE 535 - Information Retrieval
- CSE 560 - Data Model and Query Languages
- CSE 562 - Database Systems
- CSE 565 - Computer Security
- 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 (3 credits)
- CSE 524 - Real-time and Embedded Systems
- CSE 534 - Introduction to Multimedia Systems
- CSE 547 - High Performance Computing I
- CSE 552 - VLSI (Very Large Scale Integration) Testing
- CSE 566 - Wireless Networks Security
- CSE 586 - Distributed Systems
- CSE 589 - Modern Networking Concepts
- CSE 590 - Computer Architecture
- CSE 593 - Intro to VLSI Electronics
- 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)
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.
Notes
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.
*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.