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 usability engineering, software design and implementation, software verification and validation, and more.

About the Information Technology Master's Degree with 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.

Information Technology Master's Degree with Software Engineering Specialization 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.

Master's - specialization Courses

Core Courses

  • UCSP 615
  • ITEC 625
  • ITEC 630
  • ITEC 640

Specialization Courses

  • SWEN 603
  • DBST 651
  • SWEN 645
  • SWEN 646
  • SWEN 647
  • SWEN 651
  • SWEN 656
  • SWEN 661
  • SWEN 670

UCSP 615 must be taken within the first 6 credits of study.

ITEC 610 and ITEC 626 are not required core courses for this specialization.

SWEN 670 must be taken in the last term of enrollment.

Other Requirements

SWEN 670 must be taken in the last term of enrollment.

Career Preparation

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

Experience Recommended for Success in the Program

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.

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 help improve writing skills.

Program Recognition

UMGC’s MS in Information Technology with a specialization in software engineering has been designated a Professional Science Master’s degree program through the Council of Graduate Schools.

Program Accreditation

UMGC’s MS in Information Technology with a specialization in software engineering has been designated a Professional Science Master’s degree program through the Council of Graduate Schools.