Overview
Software engineering covers both technical and management issues related to the planning, development, marketing, and evolution of large software systems used in society today, covering techniques, models, and processes from the initial market analysis and product planning, through product requirements gathering, system architecture and product design, product implementation, verification and validation, product release, and all the way to post-release product support, maintenance, and evolution. Issues related to software products and systems specific to different problem domains, such as software used in information processing, aerospace, telecommunications, financial services, etc., are also the subjects of study of software engineering.
The Doctor of Engineering, major in Software Engineering, (DE/SE) program is motivated by the need for technical leaders who have both a solid foundation in software engineering as well as breadth across a range engineering disciplines. It aims to simultaneously achieve the following educational goals:
- Provide a solid foundation and depth in software engineering practice.
- Provide breadth across engineering disciplines.
- Provide a significant and industrially-relevant engineering innovative experience through the DE/SE praxis.
The majority of the DE/SE students are expected to be full time working professionals. Additional financial aid for full-time graduate students is available through research or teaching assistantships
Admission Requirements
Applicants must meet the following requirements:
- A Master’s degree in software engineering, computer science, computer engineering, engineering management, or a related discipline.
- Submission of official GRE test results.
- Submission of official scores of Test of English as a Foreign Language (TOEFL) if English is not the native language.
- Approval of the program Director of the Software Engineering Program.
Degree Requirements
DE/SE requires successful completion of the School of Engineering requirements for Doctor of Engineering. Specific credit, course, and praxis requirements are described below.
Credit Requirements:
- Twenty-four (24) credit hours of core software engineering courses. These hours must come from graduate-level courses in software engineering, as specified below.
- Twelve (12) credit hours of core engineering management courses. These hours must come from graduate-level courses in engineering management, as specified below.
- Fifteen (15) credit hours in a technical specialty. These hours must be taken in software engineering, computer science, computer engineering, engineering management, systems engineering, or other technical area consistent with anticipated doctoral work demands.
- Fifteen (15) credit hours of electives. All elective hours must come from graduate-level courses and must be approved by the advisory committee. These courses should, in some way, complement and strengthen the student’s degree plan. They should broaden the student’s understanding of the issues and problems relating to the application of software technologies to different engineering disciplines.
- Twelve (12) credit hours of Praxis. These hours must be taken in residence. The student enrolls for these hours in the course of preparing the praxis project.
Core Courses in Software Engineering
The following courses, or their equivalents, must be included in the degree plan:
- CSE 7316 Software Requirements
- CSE 7319 Software Architecture and Design
- CSE 7314 Software Testing and Quality Assurance
- CSE 7315 Software Project Planning and Management
In addition, at least 4 of the following courses:
- 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
Core Courses in Engineering Management
The following courses, or their equivalents, must be included in the degree plan:
- EMIS 7370 Probability and statistics for Scientists and Engineers
- EMIS 7377 Design and Analysis of Experiments
In addition, at least 2 of the following courses:
- EMIS 8360 Operations Research Models
- EMIS 8361 Economic Decision Analysis
- EMIS 8364 Management for Engineers
- EMIS 8378 Optimization Models for Decision Support
Praxis
The student must perform a suitable engineering praxis proposed by the student and approved by the praxis advisor and the supervisory committee. The praxis must include a significant and industrially-relevant engineering innovative experience, typically revolving around a well-defined project relevant to current software engineering practice. Good scholarship and the significance of the student’s praxis could be demonstrated by relevant technical publications, patents (or patent applications), or invention disclosures. As a culmination of the doctoral program, the student must submit an acceptable written praxis report and pass the oral praxis presentation and defense.
Sample Doctoral Degree Plans
The courses comprising a degree plan for a DE/SE student in the program will be determined by the student’s supervisory committee. The plans will vary among students depending on their background and praxis topics. Sample degree plans cover both basic degree requirements above and technical specialties. In particularly, sample technical specialty tracks are shown below:
Technical Specialty
All students must select a technical specialty track approved by their committee that relates to their praxis topic. The following are examples of technical specialty tracks appropriate for DE in SE candidates:
Security
- CSE 7339 Computer System Security
- CSE 7349 Data and Network Security
- CSE 7359 Software Security
- CSE 8349 Advanced Network and System Security
- CSE 8352 Cryptography and Data Security
- CSE 7348 Internetworking Protocols and Programming
Networks/Distributed Computing
- CSE 7344 Computer Networks and Distributed Systems II
- CSE 7346 Java Distributed Enterprise Computing
- CSE 7348 Internetworking Protocols and Programming
- CSE 8344 Computer Networks
- CSE 8377 Fault-Tolerant Computation
- CSE 8380 Parallel and Distributed Processing
Data Management
- CSE 7330 File Organization and Data Management
- CSE 7347 XML & the Enterprise
- CSE 8330 Advanced Database Management Systems
- CSE 7331 Introduction to Data Mining
- CSE 8331 Data Mining
- CSE 8337 Information Retrieval
Embedded Systems
- CSE 7380 VLSI Algorithms
- CSE 7385 Microprocessor Architecture and Interfacing
- CSE 8317 Software Reliability and Safety
- CSE 8357 Design of CAD/CAE Tools
- CSE 8387 CAD Methods in VLSI
- CSE 8388 Embedded Systems
High-Performance Applications Engineering (e.g. for Computer Gaming)
- CSE 7350 Algorithm Engineering
- CSE 7381 Computer Architecture
- CSE 7382 Computer Graphics
- CSE 8355 Graph Theory: Algorithms and Applications
- CSE 8351 Computer Arithmetic
- CSE 8383 Advanced Computer Architecture
Recognition of Previous Post-Baccalaureate Course Work
Students with an MS in Software Engineering, Engineering Management, and other related areas, may apply up to 30 hours of their MS degree credits toward their DE/SE, subject to approval of their supervisory committee.
Faculty
- Sukumaran V.S. Nair, Ph.D.
Professor and Chair
Univ. of Illinois/Urbana
214-768-2856
- Frank P. Coyle, Ph.D.
Senior Lecturer
Southern Methodist Univ.
214-768-3086
- James G. Dunham, Ph.D.
Assoc Prof
Stanford
214-768-3112
- Margaret H. Dunham, Ph.D
Prof
Southern Methodist Univ.
214-768-3087
- LiGuo Huang
Asst Prof
Univ. of Southern California
214-768-3709
- Fatih Kocan, Ph.D.
Asst Prof
Case Western Reserve
214-768-3937
- David W. Matula, Ph.D.
Prof
Univ. of California-Berkeley
214-768-3089
- Yuhang Wang, Ph.D.
Asst Prof
Dartmouth College
214-768-3716
- Stephen A. Szygenda, Ph.D.
Prof
Northwestern Univ.
214-768-3959
- Mitchell A. Thornton, Ph.D.
Prof
Southern Methodist Univ.
214-768-1371
- Jeff Tian, Ph.D.
Assoc Prof
Univ. of Maryland
214-768-2861