Introduction
The Master of Science in Software Engineering (MSSE) degree program is designed to give recent college graduates, or college graduates who have had several years of professional life, an opportunity to enhance their careers and work on the leading-edge of modern software development. Software engineers who complete this program can rapidly assume positions of substantial responsibility in a software development organization.
The degree program achieves its purpose by providing students not only with the technical tools and techniques of the field but also with skills in communication, group interaction, management, and planning. The program emphasizes a process-centered quantitative approach to the engineering of software systems. The goal of the program is to give graduates an in-depth understanding of the tools, techniques, and appropriate processes for the management of software development, elicitation and analysis of requirements, architecture and design, implementation, and verification and validation of software systems. In addition, the program pays special attention to the issues related to communication and teamwork.
The program emphasizes real-time embedded software systems such as encountered in the FAA’s air traffic control computer systems, aircraft avionics, spacecraft electronics, and other safety-critical systems such as medical devices and automotive control. The MSSE curriculum incorporates key practices from the Software Engineering Institute’s Capability Maturity Model (CMM) throughout the program.
The curriculum for the program is structured into three groups of courses: core courses (18 credits), specified electives (6 to 9 credits), and a capstone experience (3 to 6 credits). The capstone experience is obtained by one of the two following options: a) the student must complete a 6 credit Graduate Thesis, SE 700 or b) the student must complete a 3 credit capstone experience which entails a major project that involves applications of the theory, practices, and technology studied in the other core courses. Students choosing the second option may take a project development practicum, SE 697, to satisfy the capstone experience or the capstone experience can be satisfied by completing a graduate research project (GRP), SE 690. If the GRP is chosen, prior to registering for SE 690 a faculty member must agree to be a GRP advisor and the student must obtain approval of a GRP research area.
Courses available as specified electives include metrics and statistical methods for software engineering, performance analysis of software systems, concurrent and distributed systems, software safety, and formal methods for software engineering.
A combined undergraduate and graduate program leading to an MSSE can be viewed on the Any B.S. in Engineering to M.S. in Software Engineering page.
Admissions Criteria
Degree Requirements
Students must complete 18 credit hours of core courses.
CS 532 | Software Security Assessment | 3 |
SE 510 | Software Project Management | 3 |
SE 525 | Software Quality Engineering and Assurance | 3 |
SE 530 | Software Requirements Engineering | 3 |
SE 610 | Software Systems Architecture and Design | 3 |
SE 650 | Current Trends in Software Engineering | 3 |
Total Credits | 18 |
Non-Thesis Option
SE 690 | Graduate Research Project | 3 |
or SE 697 | Software Engineering Practicum |
| 9 |
Total Credits | 12 |
Thesis Option
Specified Software Engineering Electives
DS 544 | Data Visualization | 3 |
DS 615 | Data Modeling | 3 |
DS 625 | Data Compression for Image and Signal Processing | 3 |
SE 500 | Software Engineering Discipline | 3 |
SE 505 | Model-Based Verification of Software | 3 |
SE 520 | Formal Methods for Software Engineering | 3 |
SE 535 | User Interface Design and Evaluation | 3 |
SE 545 | Specification and Design of Real-Time Systems | 3 |
SE 555 | Object-Oriented Software Construction | 3 |
SE 590 | Graduate Seminar | 3 |
SE 599 | Special Topics in Software Engineering | 3 |
SE 696 | Graduate Internship in Software Engineering | 1-3 |
SE 699 | Special Topics in Software Engineering | 3 |
CS 527 | System Exploitation and Penetration Testing | 3 |
CS 528 | Multi-Agent Systems | 3 |
CS 529 | Computer Security | 3 |
CS 538 | Applied Cryptography | 3 |
CS 540 | Database and Information Retrieval | 3 |
CS 602 | Big Data Analytics for Cybersecurity | 3 |
SYS 505 | System Safety and Certification | 3 |
Note: Other electives may be authorized based on the student’s background, program of study, performance during the MSSE, and approval of the MSSE program coordinator.