Virginia Tech® home

Master of Science Thesis Option

Professor demonstrates technology with two students.

The Master of Science degree provides a solid foundation in computer science while still offering flexibility to meet the needs and interests of individual students. The MS Thesis option requires 30 credits of course work of which typically 21 credits must derive from graded courses. Students in good standing typically complete this option in two years.

Students taking a terminal MS degree are expected to complete the thesis. The MS coursework-only option is intended for PhD students who seek a "MS along-the-way".  Students who wish a coursework-only degree at the Master's level should enroll in the MENG degree program. You can see information that compares the two tracks here.

To fulfill requirements for the Thesis option, students must satisfy the breadth requirement, adhere to an appropriate credit distribution, enroll in the graduate seminar, comply with the ethics and diversity requirements, and complete an oral and written final exam (also known as a Master's Thesis).

Breadth Requirements

To encourage Masters graduates to exhibit sufficient breadth of computer science areas, MS Thesis students must take CS courses at the 5000 and 6000 levels that span four (4) different areas. The available courses and areas are listed here.

Graduate Seminar Requirement; Graduate School Ethics, Inclusion, and Diversity Requirements

The Graduate School requires that all graduate students satisfy two sets of requirements: one addressing training in Scholarly Ethics and Integrity, and one addressing Inclusion and Diversity. The CS Department also requires students to take a minimum number of instances of CS5944 Graduate Seminar.

Students entering the program in Summer 2019 or after must do the following.

  1. Take some course that makes an explicit part of its syllabus satisfaction of all aspects of both sets of Graduate School requirements (ethics training, and inclusion and diversity training). Within CS, starting with Fall 2019, both CS5014 Research Methods and CS5024 Ethics and Professionalism in Computer Science will include material to satisfy both requirements. CS students may seek approval to satisfy the requirement with another course whose syllabus explicitly addresses both Graduate School requirements.
  2. Take CS5944 Graduate Seminar twice.


Students entering the program prior to Summer 2019 may satisfy the requirements by using the rules listed above, or they may use the following rules. (Please note that if you want to use the rules above, you must have taken the appropriate course in Fall 2019 or after. Earlier instances of the courses do not cover the required training, and so cannot be used.)

  1. Participate in the orientation session offered by the GD. This orientation is done the week before classes start in the Fall and Spring semesters.
  2. Complete the following two courses offered by the Research Division through CITI training courses:
    • Responsible Conduct of Research
    • Conflict of Interest Training
  3. Take CS 5944 Graduate Seminar three times.
  4. Students will be required to submit evidence of completion of these milestones in their annual student activity report (see section Annual Evaluation).


Credit Distribution Requirements

Category of courses Min Credits Max Credits Notes
CS courses at 4000 level and above 21   Cannot include CS5944, CS5904 CS5974, or CS7994. All courses must be in CS except that at most one course outside CS may be used if it appears in the list of approved cognate courses.
Courses at 4000 level   6 4000-level courses on the cognate list and most CS4xxx courses can be used for graduate credit, except CS4944, CS4964, CS4974 and CS 4994. See here for a list of courses.
CS 5994 Research and Thesis 6 9  
CS courses at 6000 level 3   CS6444 and CS6524 do not count toward completing this requirement.
Minimum credits required 30    


Note: Each of the lines above must be interpreted as an individual, distinct, constraint so that all constraints have to be simultaneously satisfied. The columns are not meant to "add up", i.e., 30+6+3 is obviously not equal to 30.

A student satisfying the MS Thesis credit requirement typically uses seven graded CS courses to supply 21 credits with the remaining nine credits accrued from CS 5994 Research and Thesis. Student can choose to use eight CS courses to supply 24 credits with the remaining six credits from CS 5994 Research and Thesis. All courses must be in CS, except that one course outside CS may be used if it appears on the cognate course list.

Additional credit hours may be taken in any category, but do not count toward degree requirements. Substitutions for degree requirements are allowed only under rare or exceptional circumstances. Requests for substitutions must be made to the GD.

Observe that all courses must be at the 5000 level or above with possibly at most two 4000-level courses included. 4000-level courses must be from the list of CS 4000 level courses approved for graduate credit, or else from the approved cognate course liet. Credits from CS 5894 Final Examination, CS 5904 Project and Report, CS 5944 Graduate Seminar, CS 5974 Independent Study, and CS 7994 Research and Dissertation cannot be used to satisfy any MS Thesis credit requirements. Finally, at least one 6000 level course is required.

Advisor and Committee

All graduate students have access to a faculty advisor who can help with both academic advising (i.e., issues related to getting a degree) and career advising. PhD students, and MS students under the thesis option, should select a faculty member to act as their research and course advisor as early as possible in their academic career and definitely by the time their plan of study is due (see Plan of Study). The advisor must hold a Virginia Tech faculty position with either a tenured/tenure track, emeritus, collegiate faculty, or courtesy appointment in the Department of Computer Science, and hold a Ph.D. or equivalent terminal degree.

In place of a single advisor, PhD or MS Thesis students can instead choose an advisor and a co-advisor. In this case, at least one of these two must hold a Virginia Tech faculty position with either a tenured/tenure track, emeritus, collegiate faculty, or courtesy appointment in the Department of Computer Science, and hold a Ph.D. or equivalent terminal degree. The advisor chairs the student’s advisory committee.

The composition of an MS thesis advisory committee must be designed taking into account the following considerations:

  • The committee must have at least three members (including the advisor or co-advisors).
  • At least two members of the committee must hold a PhD or equivalent terminal degree. Any member without a PhD or equivalent terminal degree must have recognized expertise in their field and have research experience.
  • At least two members must hold tenured/tenure track, collegiate faculty, professor of practice (approved to serve on MS committees), or emeritus positions in the Department of Computer Science.
  • A person from outside the university can serve as an advisory committee member with the permission of the chair of the advisory committee. Potential committee members external to VT (i.e., not a VT faculty member/employee) will need to be approved by the CS Department and VT Graduate School in order to serve on your committee. Please ask the potential external member if they’ve ever served on a committee at VT before.
    • If the answer is yes, please inform your graduate coordinator to double check their status with VT.
    • If the answer is no, secure a copy of the potential external member’s current CV (websites are acceptable) and forward that information to your graduate coordinator.
    • Your graduate coordinator will then use that information to get the potential external member approved to serve on your committee.


The GD serves as the de-facto interim advisor for MS students who have not yet selected a research advisor or who need additional academic advising. The GD can provide signatures and other official approvals as required.

Typical Schedule

The table below shows a typical distribution of courses and other responsibilities over the 2 years that is typical for a student to complete an MS Thesis. Note that this assumes the student starts in the Fall. Also of note is that some of the order of courses shown is a recommendation, not a requirement. For example, whether you take the courses for breadth early in a program of study or later up to you.

Year Fall Spring
  • CS 5xxx (3cr) (First breadth area)
  • CS 5xxx (3cr) (Second breadth area)
  • CS 5944 Graduate Seminar (1cr)
  • CS 5994 Research Thesis (credits as needed)

Note: Recommended that a student who will do research take the CS5014: Research Methods in Computer Science course early in their studies.

Note: Student can take up to 2 4xxx. Doing it early in the program is a great way to fill a hole in your background.

Note: Visit several research groups and lab meetings to become acquainted with areas and faculty in department.

  • CS 5xxx (3cr) (Third breadth area)
  • CS 5xxx (3cr) (Fourth breadth area)
  • CS 5944 Graduate Seminar (1cr)
  • CS 5994 Research Thesis (credits as needed)

Note: Identify area of research interest and initiate conversations with possible Academic and Research Advisor.

Note: Student submits Student Activity Report in late Spring.

Note: Department evaluates all graduate students on Green Thursday.

Note: If a student is going on summer internship, there might be other requirements to be met in this semester. For example, international students must have a Plan of Study on file before going on internship. Check with GC for details.

  • CS xxxx (3cr)
  • CS xxxx (3cr)
  • CS 5994 Research Thesis (credits as needed)
Note: Could take a CS 6xxx.
  • CS xxxx (3cr)
  • CS 5994 Research Thesis (credits as needed)

Note: Schedule Final Exam

Note: Apply for Graduation

Note: Conduct Final Exam (defense of thesis)

Note: Submit ETD (no later than 2 weeks after defense date)

Note: Graduate!