Non-Computer Science Backgrounds

Most of our graduate students have a bachelor’s degree in one of the following majors:

  • Computer science
  • Software engineering
  • Computer engineering

Can I get a graduate degree in Computer Science if my previous degree was in another field?

Yes. However, you may need to take additional courses to fulfill degree and course prerequisites. The set of specific additional courses depends on each person’s background.

Degree Prerequisites

The prerequisites for the M.S. and Ph.D. degrees are the following:

  • MA 2733 Calculus III (third semester of calculus for science majors)
  • CSE 2383 Data Structures and Analysis of Algorithms (third semester of C++ programming)
  • ECE 3724 Microprocessors (hardware)
  • CSE 3813 Introduction to Formal Languages (computer science theory)
  • CSE 4833/6833 Introduction to Algorithms (computer science theory)
  • CSE 4713/6713 Programming Languages (introduction to compilers)
  • CSE 4733/6733 Operating Systems I (how operating systems are designed)

All candidates for graduate degrees in Computer Science must have completed all prerequisite courses or their equivalent. The above prerequisite courses are normally fulfilled when someone earns a bachelor degree majoring in computer science or a closely related major. For those who do not have these courses in their undergraduate background, these courses may be completed after enrolling in the graduate program. A graduate student’s program of study may include 6000-level prerequisite courses [effective Spring 2008]. This means that undergraduate prerequisite courses (1000 to 4000-level) do not count toward the degree, but graduate-level (6000-level) courses can count toward the degree.

It is common for a new graduate student to lack one or two prerequisite courses. Such students take the required courses early in their graduate studies.

Some students must take more elementary courses that lead up to a lacking prerequisite course. The following link is a chart showing the prerequisite chain for the graduate degree prerequisites.

Mathematics. Significant mathematical sophistication is necessary to be successful in computer science. Consequently, as shown on the chart, MA 2733 Calculus III is a degree prerequisite. It is the third semester of the sequence of calculus for science and engineering majors. Students whose bachelor degrees are in management information systems, business, or liberal arts often do not have equivalent mathematics in their backgrounds, and therefore, must take the calculus sequence.

Programming skill. Most graduate computer-science courses require substantial programming skill to be successful in those courses. Thus, CSE 2383 Data Structures is in the prerequisite chain for most graduate computer-science courses. CSE 2383 is the third semester of the C++ programming sequence.

Students who do not yet have strong programming skills must take the three-semester sequence of programming courses before they can take most graduate computer-science courses. This delays progress toward a graduate degree. Consequently, for prospective graduate students who do not yet have strong programming skills, we recommend that they take the undergraduate programming sequence of courses before enrolling in our graduate program. These courses may be taken at MSU or another university.

Course Prerequisites

Each course has prerequisite course(s), as listed in the course catalog, that indicate the background that is needed to be successful in that course. The following link is a chart showing the course prerequisite chain for 6000-level courses.

Course prerequisites for 8000-level courses are typically the related 6000-level courses.

This chart shows how CSE 2383 Data Structures is in the prerequisite chain of most graduate computer-science courses.

Interdisciplinary courses have special prerequisites for non-computer-science backgrounds. Instructors can waive course prerequisites for individual students due to special circumstances.

Detailed Degree Requirements