M.S. Degree Program


On-line Application Thesis option
Graduate Advisor of Record Non-thesis Option I
Admission Requirements Non-thesis Option II
Financial Support The Comprehensive examination
Degree Requirements The Two-year Plan
Course Descriptions The Program of Study
M.S. Program Guidelines The Advisor and Supervisory Committee
The Graduate Studies Committee



The Department of Computer Science offers advanced coursework and several options leading to the Master of Science degree in Computer Science. Successful M.S. candidates must demonstrate an in-depth knowledge of computer science.


Graduate Advisor of Record


Dr. Weining Zhang
Office: NPB 3.326
Phone: (210) 458-5557
Email: Weining DOT Zhang AT utsa DOT edu

Admission Requirements


Applicants must meet University-wide graduate admission requirements. The Master of Science in Computer Science admission requires the rough equivalent of a Bachelor’s undergraduate degree majoring in computer science or equivalent training from a foreign institution.


Applicants whose previous academic training has been in non-Computer Science course work may be admitted to the CS program but are required, as a condition of admission, to complete (in total or in part, depending upon the background of each applicant) the Computer Science background course work. Roughly half of the undergraduate computer science background courses are required for consideration of MS- Computer Science admission consideration. In practice, other factors will be taken into account during admission consideration.


The following UTSA undergraduate courses or their equivalents are required of all prospective graduate students:

CS    1063           Introduction to Computer Programming I
CS    1713, 1711  Introduction to Computer Programming II and Recitation
CS    2123, 2121  Data Structures and Recitation
CS    2233, 2231  Discrete Mathematical Structures and Recitation
CS    3333, 3331  Mathematical Foundations of Computer Science and Recitation
CS    3343, 3341  Analysis of Algorithms and Recitation
CS    3423, 3421  Systems Programming and Recitation
CS    3443           Application Programming
CS    3723, 3721  Programming Languages and Recitation
CS    3733, 3731  Operating Systems and Recitation
CS    3843, 3841  Computer Organization and Recitation
CS    3853, 3851  Computer Architecture and Recitation
MAT  1214           Calculus I  (The student who is not prepared for MAT 1214 must take MAT 1093 Precalculus.)
MAT  1224           Calculus II


Detailed course descriptions are provided on the Undergraduate Catalog: www.utsa.edu/ucat/

The courses MAT 1214 and 1224 are standard calculus courses for mathematics and engineering majors. CS 1063 is a Java-based introductory programming course. CS 1713 is a C-based  introductory programming course. CS 2123 is a C-based introductory data structures course. CS 2233 covers logic, automata, Boolean algebra, and various mathematically oriented topics. CS 3333 covers introductory probability and statistics. CS 3423 has a C/Unix emphasis. CS 3443 is a Java-based advanced programming course. CS 3843  covers assembler programming as well as various topics from computer systems organization.


A conditional admission to the graduate program will include a list of course deficiencies, based on the above minimal background course list, and possibly grade conditions based on the student's grades in undergraduate course work. In case a student is denied even conditional admission, he or she may apply for and be admitted as a special undergraduate student. Such a student may take undergraduate courses, or a graduate course with permission from the graduate advisor and the course instructor.


M.S. Program Guidelines


The guidelines listed here are meant to supplement the Master's Degree Regulations and Graduate Program Requirements listed in the UTSA Graduate Catalog and to assist admitted students in meeting the requirements of the program. All general requirements listed in the catalog must be satisfied in addition to the requirements listed here which are specific to the Master of Science Degree in Computer Science. It is the student's responsibility to know and satisfy all relevant requirements.


Steps towards Graduation

  • Be admitted to the program as a degree seeking graduate student
  • Remove conditions of admission
  • Select an academic advisor
  • Establish an M.S. Supervisory Committee
  • Have an approved Program of Study
  • Complete 30 hours of courses
  • Choose one of the three options below and complete its requirements
  • Apply for the degree. From the graduate catalog ... "It is the student's responsibility to apply officially for his or her degree at the Office of Admissions and Registrar no later than October 1 for the Fall Semester, February 1 for the Spring Semester, or June 15 for the Summer Session."

Steps to Take at Each Semester

  • Decide on the courses you would like to take.
  • Update your 2-year plan or follow your approved Program of Study.
  • Update your Plan for Removal of Conditions if you still have conditions which have not been satisfied.
  • Meet with your advisor to discuss your progress. (This may be done electronically.)

The Thesis option

Requirements of this option include:


  • Choose a thesis topic and write a thesis proposal
  • Have thesis proposal approved by M.S. Supervisory Committee
  • Complete 6 hours of thesis
  • Successfully defend the thesis
  • Formally submit the thesis to the university

Students who intend to write an M.S. thesis should develop a thesis proposal in conjunction with their advisor that outlines the topics, scope, and objectives of the proposed thesis. The thesis topic will normally be in a common interest area to both the student and the advisor. The thesis proposal should be discussed with and approved by the student's M.S. Supervisory Committee before the student begins the research and writing of the thesis. A signed copy of the proposal must be placed in the student's permanent file prior to registering for CS6983 Master's Thesis. Please note that the Thesis Director and Thesis Committee referred to in the UTSA Graduate Catalog are the student's advisor and M.S. Supervisory Committee, respectively, in these guidelines. The student may apply up to a maximum of 6 hours of CS 6983 Master's Thesis toward the master's degree. Under the thesis option, the student can also will apply up to 6 hours of CS5971-6 Directed Research and/or CS 6953 Independent Study (normally in the same area of the thesis research) in the required course work.


The Non-thesis Option I

Requirements of this option include:


  • Choose a project topic and write a project proposal
  • Have project proposal approved by M.S. Supervisory Committee
  • Complete 6 hours of directed research
  • Successfully defend project
  • Submit project output to the Department

Students who choose the non-thesis option must either complete a project or complete a program of course work. The option I may involve a project of a large programming or hardware development effort which is usually done over two semesters and includes a report or user's manual submitted as a UTSA CS Technical Report. Alternatively, Option I may involve producing a research paper or technical report which is to be submitted for publication with at least the student and advisor as co-authors. The project topic will normally be in a common interest area to both student and advisor. The project should be discussed with and approved by the student's M.S. Supervisory Committee before the student begins work associated with the project. A signed copy of the proposal must be placed in the student's permanent file. The student may apply up to a maximum of 6 hours of CS5973 Directed Research toward the master's degree. Under the non-thesis option I, the student will typically not apply any hours of CS6983 Master's Thesis toward the master's degree. Note that this is automatic since the only way to get a grade in CS6983 Master's Thesis is to complete a thesis. In addition, although the student may apply hours of CS 6953 Independent Study towards the M.S. degree under this option, the total number of hours of CS 6953 and CS 5973 is limited to 6 hours.


The Non-thesis Option II

Requirements of this option include:


  • Complete additional 6 hours of formal (class-room taught) courses
  • Choose a topic and a list of (typically 3) papers on the topic
  • Have topic and papers approved by the M.S. Supervisory Committee
  • Give an oral presentation followed by an oral examination

The non-thesis option II involves earning 36 credit hours of formal graduate course work. This option requires that the student select a topic, read a list of papers in this topic, which were not discussed in any of the student's courses, and do a formal oral presentation as an open seminar. The topic and list of papers should be discussed with and approved by the student's M.S. Supervisory Committee before the student begins reading the papers and preparing a presentation. A signed copy of the topic and list of papers must be placed in the student's permanent file. Under the non-thesis option II, the student will typically not apply any hours of CS5973 Directed Research, CS6983 Master's Thesis or CS 6953 Independent Study toward the master's degree.


The Comprehensive Examination

The university-wide comprehensive examination requirement is satisfied by computer science students by either the oral thesis defense or the oral examination taken as part of the non-thesis option. In all the cases, the student will make a formal public presentation followed by an oral examination. Please note that University policy requires students to have completed all conditions of admission before taking the comprehensive examination. The student must register for CS6961 Comprehensive Examination if no other course is taken in the student's final semester. The Comprehensive Examination is conducted by the student's M.S. Supervisory Committee. The format of the oral examination will consist of an open presentation of the student's thesis, project, or topic/papers followed by a closed period of questioning based on the content of the presentation and the student's proposed Program of Study.


The Two-year Plan

Each student, in consultation with the student's advisor must develop a two-year plan of study which includes courses that the student plans to take during each semester for the next two years. This plan will be revised each semester and contain as much detail as possible. The plan will be kept in the student's permanent file. Each student who is admitted with conditions must, in consultation with the student's advisor, formulate a plan for removing these conditions by the end of the first year. The plan must be updated at the beginning of each semester in which the student is enrolled. The plan will contain a list of all conditions not yet fulfilled and for each condition a method and time frame for removing that condition. The plan will be signed by the student and the student's advisor and reviewed by the Graduate Advisor of Record. Conditions are not officially removed until the Graduate Studies Committee has reviewed the student's record and certifies that all conditions have been met.

For full-time students this plan will contain a complete tentative Program of Study. It is recommended that the student use the Program of Study form and Computer Science approval form as templates since the two-year plan will evolve into the student's Program of Study. The following information is included on these forms:


  • Name of student and advisor
  • List of graduate courses already completed which will be applied toward the degree
  • Catalog of graduation
  • A checklist with the following information

-Admission conditions satisfied?
-Program of Study approved?
-Option chosen: thesis or non-thesis?
-M.S. Supervisory Committee approved?
-Comprehensive examination completed?

  • A list of courses/credits (by semester) planned to be taken/earned over the next 2 years
  • Date and signatures of the student and advisor

The Program of Study

The student in consultation with his/her advisor must complete a Program of Study consisting of at least 36 semester hours of graduate work including at least 8 formal graduate courses which will be applied to the degree.The student must submit a Program of Study prior to the completion of 18 semester hours of graduate work that will be applied to the degree. The Program of Study specifies the courses and options chosen by the student, indicates which catalog the student will be graduating under, and must be approved by the student's M.S. Supervisory Committee and the Graduate Studies Committee. The Program of Study cannot be submitted to the Office of the Associate Dean of Academic Affairs for approval if there are unsatisfied admission conditions.

The form Program of Study for the Master\'s Degree should be submitted by the student. This form must be accompanied by the "Approval Form for Computer Science Program of Study" which is available from the Department Office.


The Advisor and Supervisory Committee

Upon the admission into the program, each student is assigned a faculty member as the student's academic advisor who will guide the student through the program. The student must (at least electronically) contact with the advisor each semester to discuss the progress towards the completion of the degree program.

Each student must have an M.S. Supervisory Committee, which will provide any necessary direction to the student as well as be responsible for approving the Program of Study and administering the final oral examination. The student's academic advisor serves as the chair of this committee. In conjunction with this advisor, the student must invite at least two other graduate faculty members to serve as M.S. Supervisory Committee members. To establish the committee, the student must fill out the form Recommendation for Appointment of Supervisory Committee for Master\'s Degree Candidate.

A students may change the academic advisor at any time by filling out the Change of Advisor Form, which is also available in the Department Office. The student is encouraged to change the advisor if the student finds a graduate faculty member whose research interests have a better match with his/her own. If a student is supported on a research project, the faculty mentor would normally be the student's advisor.


Graduate Studies Committee

The Graduate Studies Committee is in charge of the operation of the program. Responsibilities of the committee include the following.


  • Review of applications for admission to the masters program
  • Approval of Programs of Studies and changes
  • Certification of removal of conditions of admission
  • Review of graduate student progress
  • Approval of M.S. Supervisory Committees
  • Assignment of graduate advisors
  • Approval of student petitions to deviate from the usual requirements including:
  • Undergraduate courses taken for graduate credit (very rare);
  • Graduate courses taken from another discipline at UTSA (rare);
  • Transfer of graduate credit from another institution;
  • Approval of outdated UTSA credits earned prior to six years immediately preceding the date the degree is awarded.