Master of Science in Software Engineering
The software engineering master’s program combines a deep core in software engineering principles and practices with application to a series of increasingly complex systems challenges drawn from the real world. Our students are trained in all aspects of software creation: from specification through analysis and design, to testing, maintenance and evaluation of the product. They are equipped with advanced knowledge in software architecture, project management, technical planning, risk management and software assurance – areas that are essential in implementing and overseeing software-intensive projects of high technical complexity.
The master’s degree requires ten courses (30 credits): seven core required courses and three elective courses.
Software Engineering Curriculum
Required Core Courses
SSW 540 | Fundamentals of Software Engineering | 3 |
SSW 555 | Agile Methods for Software Development | 3 |
SSW 564 | Software Requirements Analysis and Engineering | 3 |
SSW 565 | Software Architecture and Component-Based Design | 3 |
SSW 567 | Software Testing, Quality Assurance and Maintenance | 3 |
SSW 533 | Cost Estimation and Metrics | 3 |
SSW 695 | Software Engineering Capstone Studio | 3 |
Elective Courses
Electives must be approved by an advisor and can be chosen from software engineering, engineering management, system engineering, or computer science. Students with extensive experience in software engineering may be able to substitute additional elective courses for some required courses, with the approval of their graduate studies advisor. Most students in the master’s program come with a solid foundation in software programming and discrete mathematics, but students may also use their electives to take ramp courses in these areas.