Curriculum & Courses
Curriculum (since Fall 2011)
The Master of Science in Software Engineering program has the following curriculum requirements:
General Requirements
The Master of Science in Software Engineering requires a minimum of 30 graduate credit hours, consisting of:
- 12 hours of interdisciplinary core courses:
- 15 hours of elective courses (chosen from the following list):
- Computer Science Electives:
- Industrial Engineering Electives:
- IE 5301 − Usability Engineering
- IE 5302 − Bayesian Analysis
- IE 5308 − Risk Assessment
- IE 5319 − Risk Modeling & Assessment
- IE 5324 − Advanced Economics of Systems
- IE 5332 − Experimental Investigation in Advanced Industrial Engineering Applications
- IE 6304 − Control Theory
- ENGR 5392 − Ethics in Engineering Research
- Final Project (The final project is conducted as a team effort)
Leveling Requirements
Students who do not hold a bachelor's or master's degree in computer science or a related field may be required to complete undergraduate leveling work.
Without mathematics background
- Statistics
- Calculus I
- Discrete Math
- Data Structures
- Algorithm Analysis
- Software Engineering
With mathematics background
- Data Structures
- Algorithm Analysis
- Software Engineering
Curriculum (prior to Fall 2011)
The Master of Science in Software Engineering program has both thesis and non−thesis plans. The requirements are as follows:
General Requirements
- Software Engineering Core Courses:
- Computer Science Electives:
- Chosen from any computer science graduate courses excluding leveling, research (non−thesis exam option), thesis, and dissertation courses.
- Software Engineering Electives:
Thesis−Based Plan
In the thesis−based plan, the student is required to:
- Take at least 6 hours of CS 6000 (Master’s Thesis).
- Complete & defend a master’s thesis successfully.
- Take 3 electives from Software Engineering electives.
- Take 2 electives from Computer Science electives (3 hours of CS 7000 may be substituted for 1 computer science elective course).
Non−Thesis−Based Plan
In the non−thesis plan, the student may choose from the project/report or exam options. The project option is application−oriented and includes the development of a software system. In the report option, a theoretical investigation is performed, such as proof of concept, algorithm development and/or analysis, a study to gather and analyze data, and logic proofs. Both are documented by a report. The exam option requires passing a written comprehensive examination. The student must complete the following requirements:
- Take 5 Software Engineering Electives.
- In the project/report option, the student is required to:
- Take 3 computer science electives (3 hours of CS 7000 may be substituted for 1 computer science elective course).
- Take at least 3 hours of CS 6001 (Project) or CS 6002 (Report).
- Complete, for the project, a software system with report or, for the report, an investigation with report.
- Complete an oral examination at the completion of the project or report.
- In the exam option, the student is required to:
- Take 4 computer science electives.
- NOT take CS 6000 or CS 7000 for credit towards his/her degree.
- Pass a written comprehensive examination near the end of his/her studies.
Example Plan of Full−Time Study (Thesis−Based)
Fall Semester
- Software Engineering Core Course
- Software Engineering Elective Course
- Software Engineering Elective Course
Spring Semester
- Software Engineering Core Course
- Software Engineering Core Course
- CS 7300 with Thesis Advisor
Summer Semester
- CS 6300 with Thesis Advisor (Thesis Proposal defense at the end of the semester)
Fall Semester
- Software Engineering Elective Course
- Computer Science Elective Course
- CS 6300 with Thesis Advisor (Interview for jobs & Final Examination during this semester)
Example Plan of Full−Time Study (Non−Thesis−Based)
Fall Semester
- Software Engineering Core Course
- Software Engineering Elective Course
- Software Engineering Elective Course
Spring Semester
- Software Engineering Core Course
- Software Engineering Core Course
- Software Engineering Elective Course (Interview for internships at College of Engineering job fair)
Summer Semester
- Possible Internship
Fall Semester
- Software Engineering Elective Course
- Software Engineering Elective Course
- Computer Science Elective Course or CS 7300 with Project/Report Advisor
Spring Semester
- Computer Science Elective Course
- Computer Science Elective Course
- Computer Science Elective Course or CS 6301/6302 with Project/Report Advisor (Interview for jobs & Final Examination during this semster)



