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 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
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
- 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.
- Orientation to Graduate Studies at UMUC (0 Credits, UCSP 615)
- Information Technology Foundations (3 Credits, ITEC 610)
- Computer Systems Architecture (3 Credits, ITEC 625)
- Information Systems Infrastructure (3 Credits, ITEC 626)
- Information Systems Analysis, Modeling, and Design (3 Credits, ITEC 630)
- Information Technology Project Management (3 Credits, ITEC 640)
- UCSP 615 must be taken within the first 6 credits of study.
- ITEC 610 must be taken in the first term of coursework.
This program is designed to help you prepare for work in the implementation of large software engineering projects.
Preparation Recommended for Success
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.
UMUC’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.
You could qualify for benefits that help you afford your education, including tuition assistance, an annual stipend, payments to cover loans, and more.