Texas Tech University

M.S. in Software Engineering Curriculum & Courses

Curriculum (since Summer 2013)

The Master of Science in Software Engineering program has both thesis and non–thesis plans. The requirements are as follows:

General Requirements

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 and defend a master's thesis successfully.
  • Take 3 core Software Engineering courses.
  • Take 4 electives from Software Engineering electives
  • Take 2 electives from Computer Science courses. (3 hours of CS 7000 may be substituted for 1 Computer Science elective course).

Non–Thesis–Based Plan

The non–thesis plan is a project option. The project option is application–oriented and includes the development of a software system. This is documented by a report. The student must complete the following requirements:

  • In the project option, the student is required to:
    • Take 2 core Software Engineering electives.
    • Take 5 Software Engineering electives
    • Take 4 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)
    • Complete, for the project, a software system with report.

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 Summer 2013)

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:
    • IE 5329 – Project Management
    • IE 5320 – Systems Theory
    • CS 5373 – Software Modeling & Architecture
    • CS 5374 – Software Verification & Validation
  • 15 hours of elective courses (chosen from the following list):
    • Computer Science Electives:
      • CS 5332 – Special Topics in Software Engineering
      • CS 5356 – Advanced Database Concepts
      • CS 5363 – Software Project Management
      • CS 5369 – Web–Based Software Systems
      • CS 5380 – Fault–Tolerant Computing Systems
    • 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)
    • CS 5358 – Software Studio I

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:
    • CS 5363 – Software Project Management
    • CS 5373 – Software Modeling & Architecture
    • CS 5374 – Software Verification & Validation
  • Computer Science Electives:
    • Chosen from any computer science graduate courses excluding leveling, research (non–thesis exam option), thesis, and dissertation courses.
  • Software Engineering Electives:
    • CS 5332 – Special Topics in Software Engineering
    • CS 5358 – Software Studio I (to be renamed Capstone Project)
    • CS 5369 – Web–Based Software Systems
    • CS 5380 – Fault–Tolerant Computer Systems
    • IE 5320 – Systems Theory

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 7000 with Thesis Advisor
  • Summer Semester
    • CS 6000 with Thesis Advisor (Thesis Proposal defense at the end of the semester)
  • Fall Semester
    • Software Engineering Elective Course
    • Software Engineering Elective Course
    • CS 6000 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 or CS 7000 with Project/Report Advisor
    • Computer Science Elective Course
  • Spring Semester
    • Computer Science Elective Course
    • Computer Science Elective Course
    • Computer Science Elective Course or CS 6001 with Project Advisor (Interview for jobs & Project Defense during this semester)

Department of Computer Science