The Master of Science in Software Engineering

The Master of Science in Software Engineering consists of ten courses for a total of 30 credits. (six core and four advisor-directed electives)

Required Six Core Course:

Electives: Students are required to complete four advisor-approved electives, or any one of the four-course Graduate Certificates listed below. (Electives can be taken in other engineering or management disciplines with Faculty Advisor approval.)

 

 

To top

Graduate Certificates Options

NEW SOFTWARE ASSURANCE GRADUATE CERTIFICATE OFFERINGS


Development of Trusted Software Systems

Students can also apply courses taken from this Graduate Certificate toward a Master’s Degree in Software Engineering with a Concentration in Software Assurance pursuing Track Options in either Developing Trusted Systems or Managing Trusted Systems.

Acquisition and Management of Trusted Software Systems

Students can also apply courses taken from this Graduate Certificate toward a Master’s Degree in Software Engineering with a Concentration in Software Assurance pursuing Track Options in either Developing Trusted Systems or Managing Trusted Systems.


Dependable Systems

Financial Software Engineering

Software Acquisition and Integration

Software Design and Development

Software Engineering

In addition to, two of the following courses:

Software Engineering in Finance

Software Program Management

Systems-Centric Software Engineering

 

To top

Software Engineering Courses

SSW 555 - Agile Methods for Software Development

In software problem areas that require exploratory development efforts, those with complex requirements and high levels of change, agile software development practices are highly effective when deployed in a collaborative, people-centered organizational culture.  This course examines agile methods, including Extreme Programming (XP), Scrum, Lean, Crystal, Dynamic Systems Development Method and Feature-Driven Development to understand how rapid realization of software occurs most effectively.  The ability of agile development teams to rapidly develop high quality, customer-valued software is examined and contrasted with teams following more traditional methodologies that emphasize planning and documentation.  Students will learn agile development principles and techniques covering the entire software development process from problem conception through development, testing and deployment, and will be able to effectively participate in and  manage agile software developments as a result of their successfully completing this course.  Case studies and software development projects are used throughout.

Prerequisites:  Programming experience in an object-oriented language, preferably Java.


Cross-listed as:
CS 555 - Agile Methods for Software Development