Information Technology Master's Degree with Software Engineering Specialization

Earn your master’s degree in information technology with a specialization in software engineering to build large, complex systems—as well as an executive-track career.

The software engineering specialization provides software developers with advanced software methodology, design, and coding techniques. You’ll learn aspect-oriented programming, object-oriented programming, and the principles and techniques to lead a software development team.

Gain hands-on experience performing all functions of building software and develop job-relevant expertise in implementing large software engineering projects within cost and on schedule. The software engineering courses include systems engineering, usability engineering, software design and implementation, software verification and validation, and more.

About the Software Engineering Specialization

The software engineering curriculum features projects sponsored by real clients, so you can build software engineering skills to apply immediately on the job.

What You’ll Learn

Through your coursework, you will learn how to

  • Write a software requirements document
  • Design software using UML models
  • Develop and test software
  • Apply advanced knowledge in computer systems architecture
  • Manage the schedule of a complex project on time and within budget, solving conflicts as they arise
  • Analyze, design, and implement information systems
  • Plan projects, build teams, and create and modify effective control mechanisms

Coursework Examples

In past projects, students have had the opportunity to

  • Complete the development of a corporate-sponsored project through its entire life cycle
  • Build software products using object-oriented programming and aspect-oriented programming
  • Evaluate user interfaces using contextual inquiry, task analysis, and usability testing
  • Required Academic Preparation
  • The software engineering specialization is designed for students with a degree and/or professional experience in software development and programming languages.

Software Engineering Requirements

Our curriculum is designed with input from employers, industry experts, and scholars. You'll learn theories combined with real-world applications and practical skills you can apply on the job right away.

Specialization Courses

  • Modern Software Methodologies (3 Credits, SWEN 603)
  • Relational Database Systems (3 Credits, DBST 651)
  • Software Requirements (3 Credits, SWEN 645)
  • Software Design and Implementation (3 Credits, SWEN 646)
  • Software Verification and Validation (3 Credits, SWEN 647)
  • Usability Engineering (3 Credits, SWEN 651)
  • Advanced Software Design and Implementation (3 Credits, SWEN 656)
  • User Interface Implementation (3 Credits, SWEN 661)
  • Software Engineering Project (3 Credits, SWEN 670)
  • SWEN 670 must be taken in the last term of enrollment.

Core Courses

  • UCSP 615 must be taken within the first 6 credits of study.
  • UCSP 615 may be waived if you previously earned a graduate degree from a regionally accredited institution. For more information, contact your academic advisor.

Career Preparation

This program is designed to help you prepare for work in the implementation of large software engineering projects.

Preparation Recommended for Success

Expectations

The software engineering specialization is designed for students with a degree and/or professional experience in software development and programming languages. This background may be acquired through noncredit preparatory coursework, listed below.

Recommendations

If you have not had any recent programming coursework or have experience in old programming languages such as COBOL or RPG, you are strongly encouraged to take UCSP 635 and UCSP 636 before taking any SWEN courses. Taking UCSP 605 is recommended to improve writing skills.