Master of Science Software Engineering

The master's in Software Engineering provides students with skills that are widely applicable, highly in demand, and richly rewarded. Software engineering is a discipline concerned with the processes, methodologies, techniques, and tools of developing high-quality software systems in a cost-effective manner. The Software Engineering program emphasizes the best software engineering practices, current methodologies, emerging technologies, and their applications in various industries. It also emphasizes the development of communication and presentation skills in a team-based software development environment. The curriculum encompasses all important aspects of software engineering, including: requirements engineering, software architecture and design, software construction, software testing and quality assurance, software maintenance, and software project management.

For international students: this is a STEM-designated program.


Entrepreneurship & Technology Leadership

This concentration offers students with strong background in software development and a keen interest in business the opportunity to become entrepreneurs or business leaders in the software development industry. This concentration addresses the foundations and methodologies of software development combined with knowledge of business environment and finance to prepare for career paths in entrepreneurship or senior technology leadership positions in businesses.

Real Time Game Systems

This concentration addresses the principles and foundations of the complex field of real-time interactive game systems. Students will gain experiences in system and architectural design, computer graphics and animation, game physics, artificial intelligence, networking, tools and game systems engine development. Students will also gain experiences in the optimization of real-time computer systems used for electronic trading, defense work and mobile development technology. Besides the game industry, students can apply these highly specialized and valuable skills in other industries that use interactive simulations such as architecture, medicine, and law.

Software Architecture

This concentration offers students with prior experience in software development the opportunity to sharpen their skill set and broaden their knowledge base in software development. This concentration addresses the management and design of large-scale software systems with a focus on critical technical decisions with global impacts on large systems. Students will be exposed to the unique challenges, issues, and methods in dealing with the architectural aspect of complex and large-scale software systems. Students in this concentration will be prepared to take technical leadership roles in software development teams that are responsible for large-scale software projects.

Software Development

This concentration addresses the foundations, methodologies, and tools for developing high quality large-scale software systems, with an emphasis on the technical issues of software development. Students in this concentration will gain technical expertise and experiences to become competent and successful members of software development teams in a wide range of development environments and application domains.


Learning Outcomes

Students will be able to:

  • Correctly create a model of the structure and behavior of a software system.
  • Design and implement, in a programming language, an executable solution to a given problem using common software principles and best practices.
  • Apply appropriate software testing techniques and evaluate the quality of a software product at module, integration, and system granularity levels.
  • Select and adapt suitable elements from among conventional and evolving software development life-cycle processes and apply the resulting process to a software project.
  • Collaborate in teams to develop a significantly sized software system from conceptualization to completion.
  • Communicate effectively design and development decisions through written and graphical demonstration.

Career Outcomes

$95,000median salary reported by program graduates six months after degree completion

Faculty Research

faculty member with two students

Software Engineering faculty engage in a number of interesting research projects covering areas as broad as safety-critical software development, software architectural design, model-driven development, and software traceability. In recent years projects have been funded and/or sponsored by the National Science Foundation, the Food and Drug Administration, as well as a range of industries such as Siemens Corporate Technology, Microsoft, and Lockheed Martin.

four students working meeting  

Student Research Opportunities

Students who are looking for hands-on experience and the opportunity to collaborate with faculty in their field of study are encouraged to pursue research and creative projects at CDM. There are several opportunities at our specialized labs and centers, as well as through research assistantship programs.


Team-based Education

Students in the program learn about software engineering the same way the work is done by professionals: in a collaborative environment that includes team members from around the world. In software engineering, skills in communication, project management, quality assurance and customer relationship management also are important, and you’ll gain them here.

man working on laptop at coffee shop 

Online Learning

This degree can be completed entirely online. One hundred percent of the program’s lectures—from audio and video to whiteboard writing and supplemental materials—are captured and available online.

Application Deadlines

Enrollment QuarterDomestic Student DeadlineInternational Student Deadline
FallAugust 1June 15
WinterDecember 1October 15
SpringMarch 1January 1
SummerMay 1April 15

Admission Process

The graduate application process involves completing an online application, sending in your transcripts and submitting any supplemental material (e.g., letters of recommendation, certifications, etc.). To learn more about your program specific requirements, visit our Graduate Admission page.

Admission Requirements

Contact Graduate Admission

Request Information


Ask a Student Ambassador

Kehinde Abioye
MS in Software Engineering