Master of Science with a Major in Software Engineering


Program Director: Mitch Thornton, Ph.D.


Software engineering is the computer science discipline concerned with developing large applications. Software engineering covers not only the technical aspects of building software systems, but also management issues.

The SMU Master’s degree program in software engineering offers a balanced approach to management issues, such as directing programming teams, scheduling and budgeting and technical expertise necessary to succeed in this critically important field. Many of the courses are based upon those proposed by the Software Engineering Institute, specifically founded by the Department of Defense to assist in the development of a sound foundation for this rapidly emerging field. Centering on the problems of working professionals in this field, the SMU program in software engineering serves the needs of both the full- and part-time student.

Admission Requirements

In addition to meeting the Lyle School of Engineering admission requirements for an M.S. degree, applicants are required to satisfy the following:

  1. Bachelor’s degree in one of the quantitative sciences, mathematics, or computer science or in one of the engineering disciplines.
  2. A minimum of one year of college-level calculus.
  3. A minimum of two years of experience in software development and/or maintenance, or submission of official GRE graduate school admission test scores.

Degree Requirements

In addition to meeting the Lyle School of Engineering degree requirements for an M.S. degree, candidates are required to satisfy the following: 30 credit hours of coursework consisting of 12 credit hours of core courses and 18 credit hours of electives as follows:

1. Satisfactory completion of the core curriculum encompassing four courses: 

CSE 7314 Software Testing and Quality Assurance
CSE 7315 Software Project Planning and Management
CSE 7316 Software Requirements
CSE 7319 Software Architecture and Design

2. Satisfactory completion of three advanced elective courses from the following:

CSE 7111 Intellectual Property and Information Technology
CSE 7340 Service-Oriented Computing
CSE 7345 Advanced Application Programming
CSE 7347 XML and the Enterprise
CSE 7359 Software Security
CSE 8312 Software Generation and Maintenance
CSE 8313 Object-Oriented Analysis and Design
CSE 8314 Software Metrics and Quality Engineering
CSE 8315 Software Acquisition Practices, Legal, and Economic Issues
CSE 8316 User Interface Design
CSE 8317 Software Reliability and Safety
CSE 8340 Advanced Topics in Software Engineering

3. Satisfactory completion of three elective courses from available graduate-level course offerings.

Any deviation from the stated requirements must be approved in writing from the student’s adviser and department chair.


All students entering the program are expected to possess knowledge in the following CSE courses:

CSE 1341 Principles of Computer Science
CSE 1342 Programming Concepts
CSE 2341 Data Structures
CSE 2353 Discrete Computational Structures
CSE 3342 Programming Languages
CSE 3353 Fundamentals of Algorithms
CSE 4344 Computer Networks and Distributed Systems
CSE 4381 Digital Computer Design
CSE 5343 Operating Systems and System Software

These core topic areas form the basis of an undergraduate major in computer science. Students entering the program with an undergraduate degree other than computer science will be asked to take an articulation course, CSE 5311 Fundamentals of Computer Science to satisfy core competency in the core topic areas. CSE 5311 does not count toward the 30 credit hour degree requirement. Entering students without a background in object-oriented programming will be asked to take CSE 7345 Advanced Application Programming as one of their electives. CSE 7345 will count toward the 30 credit hour degree requirement. CSE 5311 assumes the ability to program in Java or C++. Students who are asked to take CSE 5311 and who do not have a background in Java or C++ are advised to take CSE 7345 concurrently or prior to taking CSE 5311. Students who do not have an undergraduate degree in computer science and who are asked to take CSE 5311 as an articulation course will receive conditional admission to the program. Students must receive a grade of B or better in CSE 5311 to continue in the program.

Residency and Level Requirements

A minimum of 30 graduate credit hours must be earned toward an M.S. degree, of which at least 24 must be earned in residency at SMU. Up to six credit hours may be transferred with departmental approval. Of the 30 credit hours needed for graduation, at least nine credit hours must be at the 8000-level CSE courses, with the remainder at the 7000 level or above. 

Degree Plan

Course Descriptions

Graduate Catalog

Graduate Catalog Archives

M.S. | Software Engineering Flyer (.pdf)

M.S. | Software Engineering + MBA