Jul 21, 2024  
2021-2022 Graduate Catalog 
2021-2022 Graduate Catalog [ARCHIVED CATALOG]

Computer Science, M.S.

Return to {$returnto_text} Return to: Academic Programs

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. A bachelor’s degree in computer science, computer engineering or a closely related discipline. Applicants with undergraduate degrees in disciplines other than computer science may be admitted to the program and may be required to take articulation coursework and/or satisfy the competency requirement (see below).
  2. A minimum GPA of 3.000 on a 4.000 scale in the student’s junior and senior years.
  3. A reasonable level of mathematical maturity.

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:

  • Either 30 hours of coursework or 24 hours of coursework plus 6 hours of Master’s Thesis.
  • Six hours of core courses from a list of 4 courses: CS 7330 File Org., CS 7350 Algorithm Engineering, CS 7343 Operating Systems, and CS 7381 Computer Architecture
  • 12 hours of a CS Specialization. Specializations consist of 6 hours of specialization core classes with the remaining 6 hours taken from a list of depth specialization electives. Students electing a thesis may apply their 6 hours of thesis as depth specialization electives.
  • 12 hours of broadening electives. Broadening electives may be chosen from any CS graduate level course. Students may choose broadening electives outside of the CS department with advisor approval.
  • A minimum of two 8000 level courses must be listed on the degree plan.

The CS Department requires that the courses taken constitute a coherent program leading to mastery of computer science. These requirements are discussed in the subsequent subsections. 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:

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

Students may fulfill (1) by either:

  1. Demonstrating their programming ability in a departmental examination.
  2. Successful completion of CS 1341 - Principles of Computer Science.
  3. 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 (2) 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:
  • Completing a course from an ABET Accredited program that covers a core area.
  • 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 Department and should be taken prior to beginning of the first semester.
  • Completing CS 7311 - Foundations of Computing . (Note that this course doesn not count toward the 30 hour degree requirement.)

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 six credit hours must be at the 8000 level, with the remainder at the 7000 level or above.

Distribution of Courses

Courses are considered to be core, specialization or elective. Core courses cover material considered fundamental to graduate-level computer science and are required of all students. Each student is expected to specialize in some area of computer science. The specialization area is a mechanism by which a student can tailor a coherent program of study to their interests. Electives are courses taken to round out the 30 credit hour requirement. Transferred credit hours may be used to satisfy any of these requirements. The specific requirements are discussed in detail in the following subsections.

Course Requirements

A student who elects to take the nonthesis option must take six credit hours of core courses, 12 credit hours of specialization and 12 credit hours of electives. The electives may be selected from available graduate-level course offerings in the Lyle School of Engineering, subject to the residency and level requirements and adviser approval. Those who elect to take thesis option will substitute the specialization with thesis credit hours.

Core Courses

Choose two courses from the following:

Total: 12 Credit Hours


AI and Machine Learning

Software Engineering


Theory of Computation

Thesis Option

A student may elect to write a master’s thesis, which counts as the six credit hours of concentration. The student must register for at least six credit hours under CS 7(1–6)96. If the thesis option is chosen, all other requirements are the same. The six credit hours of thesis satisfy the six required credit hours for advanced courses.

A master’s thesis represents one or more of the following: synthesis of divergent ideas or a scholarly critique of current literature, a creative research activity or a significant design project, the results of which must be documented in a well-written thesis. The thesis should be of publishable quality, and it is recommended that it be submitted to an appropriate conference or journal before the thesis defense.

A thesis must be supervised by a faculty adviser selected by the student. Any full-time faculty member supporting the student’s concentration area may serve as the thesis adviser. It is the student’s responsibility to find an adviser willing to provide a thesis topic or willing to supervise a topic of the student’s choosing.

Once the student has found an adviser and a topic has been selected, the student and adviser should jointly form a thesis supervisory committee. This committee must consist of at least three members, two of whom must represent the concentration area. The adviser chairs this committee. The makeup of this committee must be approved by the chair of CS and the director of the Graduate Division.

The student must provide the members of the committee with a written thesis proposal. Typically, this will be done before faculty agrees to serve on the committee.

A thesis is judged by the supervisory committee based upon technical merit, originality and presentation. The thesis must be presented orally to the committee at a thesis defense. A copy of the thesis must be made available to each member of the committee at least two weeks before the planned defense. The defense must be scheduled with the CS department office and posted on appropriate bulletin boards. The defense is open to the public.

Return to {$returnto_text} Return to: Academic Programs