Introductory Courses
No Introductory Course may be substituted for any other course at any level.
Introductory courses may be waived for any of the following conditions based on faculty review:
- The student has the appropriate course work to satisfy an Introductory Course based on an official transcript review by faculty and successful grades, typically B or better.
- The student has appropriate and verified professional experience to satisfy an Introductory Course which is demonstrated through successful completion of a GAE exam.
- If a Graduate Assessment Examination (GAE) is available for the Introductory Courses, upon successfully completion of a GAE, a waiver will be issued.
- Plan accordingly prior to start of the term, faculty reviews for possible course waivers can take a few weeks. For newly admitted students, possible course waivers will not be initiated until an Intent to Enroll form has been submitted.
-
CSC 400 Discrete Structures for Computer Science
-
CSC 401 Introduction to Programming
-
CSC 402 Data Structures I
-
CSC 403 Data Structures II
-
IT 403 Statistics and Data Analysis
Foundation Courses
-
CSC 421 Applied Algorithms and Structures
-
CSC 480 Artificial Intelligence I
-
DSC 441 Fundamentals of Data Science
-
SE 433 Software Testing and Quality Assurance
OR
SE 441 Continuous Delivery and Devops -
SE 450 Object-Oriented Software Development
OR
SE 456 Architecture of Real-Time Systems -
SE 475 Managing Globally Distributed Software Development
Advanced Courses
-
DSC 478 Programming Machine Learning Applications
-
SE 488 Ai-Driven Software Development
-
SE 489 Machine Learning Engineering for Production (Mlops)
Major Elective Courses
Twelve (12) credit hours of Major Elective Courses are required. SE courses in the 421-699 range and courses from the list below qualify as Major Elective Courses.
Software Development
-
CSC 436 Web Applications
-
CSC 438 Framework for Web Application Development
-
CSC 453 Principles of Database Management Systems
-
CSC 461 Optimized C++
-
CSC 471 Mobile Application Development for iOS
-
CSC 472 Mobile Application Development for Android
-
CSC 552 Concurrent Software Development
-
CSC 562 Optimized C++ Multithreading
-
SE 452 Object-Oriented Enterprise Computing
-
SE 453 Architecture and Frameworks for Developing Client Applications
-
SE 459 Agile Software Development
-
SE 482 Requirements Engineering
-
SE 533 Software Validation and Verification
-
SE 560 Structured Document Interchange and Processing
Software Architecture
-
SE 456 Architecture of Real-Time Systems
-
SE 457 Service-Oriented Architecture
-
SE 480 Software Architecture I
-
SE 549 Model-Driven Software Development
-
SE 554 Enterprise Component Architecture
-
SE 581 Software Architecture II
Computer Security
-
CSC 439 Computer Security
-
CSEC 450 Digital Forensic Techniques
-
SE 525 Software Security Architecture
-
SE 526 Software Security Assessment
Data Science
-
CSC 453 Principles of Database Management Systems
-
CSC 555 Mining Big Data
-
CSC 575 Intelligent Information Retrieval
-
DSC 423 Data Analysis and Regression
-
DSC 424 Advanced Modeling and Analysis Techniques
-
DSC 425 Time Series Analysis and Forecasting
-
DSC 441 Fundamentals of Data Science
-
DSC 465 Data Visualization
-
DSC 478 Programming Machine Learning Applications
-
DSC 540 Advanced Machine Learning
Distributed Systems
Project Management
-
CSEC 533 Enterprise Security Infrastructure Controls and Regulatory Compliance
-
IS 468 Enterprise Systems (Formerly Is 560)
-
IS 535 Information Technology Investment Financial Analysis
-
IS 556 Agile Enterprise Project Management
-
IS 565 Sourcing for IT and Innovation
-
SE 475 Managing Globally Distributed Software Development
-
SE 529 Software Risk Management
-
SE 579 Analytics and Data Mining in Software Engineering
User Centered Development
-
HCI 430 Prototyping and Implementation
-
HCI 440 Introduction to User-Centered Design
-
SE 453 Architecture and Frameworks for Developing Client Applications
-
SE 546 Software Architecture and Design for Desktop Applications
Programming Languages and Compiler
-
CSC 447 Concepts of Programming Languages
-
CSC 448 Compiler Design
-
CSC 466 Program Analysis
-
CSC 535 Formal Semantics of Programming Languages
-
CSC 548 Advanced Compiler Design
-
SE 533 Software Validation and Verification
Gaming and Entertainment Technology
-
CSC 486 Real-Time Networking (Formerly GAM 490)
-
GAM 453 Tool Programming for Game Development
-
GAM 475 Real - Time Software Development
-
GAM 575 Real-Time Software Development II
-
SE 456 Architecture of Real-Time Systems
Software Engineering Research
-
SE 695 Master's Research (4 credits)
and SE 696 Master's Project (4 credits)
OR
SE 695 Master's Research (8 credits)
and SE 698 Master's Thesis (0 credits)
Capstone
The Master's Project or Thesis must represent an original contribution to the area, and may include system development, empirical studies, or theoretical work. The scope and the details of the research project will be determined by the research supervisor, and must be approved by the student's academic advisor.
Software Engineering Studio Substitution Policy