M.S. in Computer Science Requirements

Undergraduate Prerequisite Courses

The prerequisite courses required of all Master's students are the following and their prerequisites:

  • CSE 2383 Data Structures
  • CSE 6733 Operating Systems I
  • CSE 3813 Introduction to Formal Languages & Automata or CSE 4833 Introduction to Algorithms
  • MA 1723 Cal II, MA 3113 Linear Algebra, or CSE 2813 Discrete Structures

Candidates for the Master's degree must have completed all prerequisite courses or their equivalent. These courses may be completed after enrolling in the graduate program. A program of study for the Master's degree may include 6000-level prerequisite courses [effective Spring 2008].

Graduate Coursework Restrictions

All CSE graduate students must complete the seven required prerequisite courses prior to receiving a graduate degree from the Department of Computer Science and Engineering. Students who enter the graduate program in computer science with a deficiency of one or more of these courses should schedule at least one per semester until they are completed (unless otherwise authorized by their advisors). If not fulfilled prior to admission, graduate students in the Department of Computer Science and Engineering must take the split-level prerequisite courses (CSE 6713, CSE 6733, and CSE 6833) at the graduate level.

Graduate students must take at least nine hours of graduate-level hours each semester in order to maintain their status as full-time graduate students. Students who are required to take undergraduate courses as part of the prerequisites for the graduate program may substitute up to three credit hours of undergraduate prerequisite courses each semester in place of three hours of graduate coursework. The split-level prerequisite courses (CSE 6713, CSE 6733, and CSE 6833) will count as graduate courses for the purpose of maintaining full-time student status.

Students who are serving as Teaching Assistants for the Department of Computer Science and Engineering must enroll in at least 12 hours of graduate coursework or research. Students who are serving as Research Assistants should check with their advisors regarding course requirements.

Major Professor and the Graduate Committee

By the end of the second semester of study, the student must have selected a major professor (advisor) from his/her area of interest. The major professor will serve as the students advisor and must be a member of the Department of Computer Science and Engineering graduate faculty. Prior to developing a program of study, the students major professor will form a Graduate Committee consisting of at least three members of the graduate faculty. The Committee will be chaired by the major professor. The committee must include the minor professor if a minor is included in the program of study. The majority of the committee (including the major professor) must be non-adjunct graduate faculty in the Department of Computer Science and Engineering. Adjunct faculty in Computer Science and Engineering may serve as the project, or thesis director. The committee will have responsibility for approving the student's program of study and for examining the student regarding the completion of the degree, including project or thesis.

The membership of a students Graduate Committee shall not include (1) a member of that students immediate family, (2) anyone who is a former, current, or expected future supervisor of that student in a permanent job position, or (3) anyone who is funded on a grant or contract for which that student has supervisory responsibility or helps determine the award of the contract or grant. The restrictions regarding job supervisors do not include individuals who supervise that student as a graduate assistant, research assistant, or work/study employee.

Program of Study

The program of study is developed by the student in consultation with the major professor (and the minor professor if a minor field is being pursued) and is approved by the student's Graduate Committee and the Graduate Coordinator.

The program of study should be concentrated to support depth of study in the student's particular area of interest. Typical areas of interest are:

All students must complete a minimum of twenty-five hours of graduate course work exclusive of thesis that satisfies the following requirements:

  1. The program of study must include a minimum of twelve credit hours of full graduate computer science courses. A "computer science" course for this requirement has the symbol CSE, and a student may petition through his/her Graduate Committee to the Graduate Studies Committee for an exception.
  2. The program of study must include at least three of the following six Fundamental Areas courses:
    • CSE 6153 Data Communications and Computer Networks
    • CSE 6163 Designing Parallel Algorithms
    • CSE 6214 Introduction to Software Engineering
    • CSE 6413 Computer Graphics
    • CSE 6504 Database Management Systems
    • CSE 6633 Artificial Intelligence
    • A student who has taken any of these six courses for undergraduate credit may use the undergraduate course to meet the graduate Fundamental Areas requirement and substitute another graduate-level course approved by the students graduate committee.
  3. The program of study must include at least one of the following theory courses:
    • CSE 8813 Theory of Computation
    • CSE 8833 Algorithms
    • CSE 8843 Complexity of Sequential and Parallel Algorithms
    • CSE 8990 Special Topics in Computer Science on a topic which has been designated in advance by the Department as a theory course fulfilling this requirement.
  4. The program of study must include the departmental seminar (one credit hour):
    • CSE 8011 Graduate Seminar

Individual Studies Courses

A graduate student may take a directed individual studies course (CSE 7000) only if a written contract describing the course has been agreed upon by the instructor, the student, and the students major professor. Once the students committee has been formed, the contract must be submitted to the entire committee for approval. The contract must clearly state whether the course will count for 8000-level credit. Masters students may count no more than 3 hours of CSE 7000 courses on their formal program of study. The form to be used for CSE 7000 contracts is available from the Department's website.

Transfer of Coursework

Up to 9 credit hours of a student's graduate coursework from another university may be transferred for inclusion in the student's program of study, if approved by the student's committee. Only coursework for which grades of A or B have been received may be transferred.

A student who has been enrolled previously in a graduate program at MSU either may import all previous graduate work into their computer science graduate record, or may abandon all previous graduate work.

If the student's previous work is imported:

  • up to 9 credit hours of the work is available for inclusion in the student's program of study, as specified by the student's committee, and
  • the grades on all of the previous coursework must be used in computing the student's academic standing (GPA) in the computer science graduate program.

If the student's previous work is abandoned:

  • none of the work is available for inclusion in the student's program of study, and
  • the grades on the previous coursework are not used in computing the student's academic standing (GPA) in the computer science graduate program.