Master of Science with a Major in Software Engineering

SOFTWARE ENGINEERING

Program Director: Mitch Thornton, Ph.D.

Introduction

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.

Students entering the program without an undergraduate degree in Computer Science must satisfy the following competency requirements in addition to the degree requirements listed above:

A.  The ability to write programs in a high level language such as Java, C++, Python, etc.
B.  Demonstrate competence in six core areas of computer science

Students may fulfill (A) by either:

i.   Demonstrating their programming ability in a departmental examination,
ii.  Successful completion of CSE 1341, Principles of Computer Science, or
iii. Obtaining a certificate of achievement from EDX (or comparable entity) in one of the high‐level programming languages (e.g. Java, C++, Python)

Students may fulfill (B) by demonstrating competence in the following core areas of Computer Science:

1)  Computer Architecture
2)  Programming Languages
3)  Data Structures and Algorithms
4)  Database Management Systems
5)  Operating Systems and Concurrency
6)  Networks and Distributed Systems 

Competence in core areas may be demonstrated by one of the following:

i.   Completing a course from an ABET accredited program that covers a core area.
ii.  Obtaining 70% or better on a departmental examination that covers a core area.Exams will be based on a set of specified
     readings published by the Computer Science and Engineering Department and should be taken prior to beginning the first semester.
iii. Completing and passing one or more of the following core-area courses:

CSE 7101 Foundations of Computer Architecture
CSE 7102 Foundations of Programming Languages
CSE 7103 Foundations of Data Structures and Algorithms 
CSE 7104 Foundations of Database Management Systems 
CSE 7105 Foundations of Operating Systems and Concurrency 
CSE 7106 Foundations of Networks and Distributed Systems

These courses are 1 credit hour each and are offered pass-fail and do not count toward the 30 hour degree requirement. The grade for the course will be based on several assignments and a final examination.

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