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 540Fundamentals of Software Engineering

3

SSW 555Agile Methods for Software Development

3

SSW 564Software Requirements Analysis and Engineering

3

SSW 565Software Architecture and Component-Based Design

3

SSW 567Software Testing, Quality Assurance and Maintenance

3

SSW 533Cost Estimation and Metrics

3

SSW 695Software Engineering Capstone Studio

3

Elective Courses

Electives must be approved by an advisor and can be chosen from software engineering, engineering management 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.