Academic Programs Catalog

College of Engineering

Department of Computer Science and Engineering

Abdol H. Esfahanian, Chairperson

Computer science encompasses the broad areas of problem-solving and information processing using digital computers. Students learn to analyze, design and build integrated software and hardware systems that process, transmit, and reason about information to solve problems. Graduates of the Computer Science and Computational Data Science programs are employed in essentially all areas of industry, government, and education. They serve as project managers, designers, analysts, and developers involved with problems in commercial software development, data analysis, business and research, process and production control software systems, and computer components and systems.

 


Undergraduate Programs

The Department of Computer Science and Engineering offers two Bachelor of Science degree programs, one in Computer Science and one in Computational Data Science. Students in both programs are provided with a theoretical foundation in computer science, required for continued success in these rapidly changing fields, as well as practical experience with current tools and techniques. To achieve these goals, students take courses that span a spectrum of knowledge ranging from theoretical foundations, which enable a rigorous analysis of data and computational problems and solutions, to applied design and engineering methods. At the upper level, students choose from a wide range of elective courses focusing on computer networks, big data, artificial intelligence, database systems, computer security, software engineering, and computer graphics. The senior year in both programs culminates with a team-oriented design course building on much of what one has learned throughout the undergraduate experience. Students with interests in other areas can consult and work with interested faculty from a wide range of academic disciplines.

The Bachelor of Science in Computer Science prepares students to be professionals in software design and development.  The Bachelor of Science in Computational Data Science prepares students for careers where the central focus is manipulating and deriving understanding from large volumes of data.
 


Computational Data Science

The Bachelor of Science degree in Computational Data Science focuses on the computational foundations of data science, providing an in-depth understanding of the algorithms and data structures for storing, manipulating, visualizing, and learning from large data sets. Students in the program have unique access to a wide range of fundamental computer science courses in topics ranging from mobile application and web development to theory of computation and fundamental algorithms. Students can tailor their degree to their unique interests and requirements, with an emphasis on computational foundations.

Requirements for the Bachelor of Science Degree in Computational Data Science

  1. The University requirements for bachelor's degrees as described in the Undergraduate Education section of this catalog; 120 credits, including general elective credits, are required for the Bachelor of Science degree in Computational Data Science.

    The University's Tier II writing requirement for the Computational Data Science major is met by completing Computational Mathematics, Science and Engineering 495, referenced in item 3. b. below.

    Students who are enrolled in the College of Engineering may complete the alternative track to Integrative Studies in Biological and Physical Sciences that is described in item 1. under the heading Graduation Requirements for All Majors in the College statement.
  2. The requirements of the College of Engineering for the Bachelor of Science degree.

    The credits earned in certain courses referenced in requirement 3. below may be counted toward College requirements as appropriate.
    1. The following requirements for the major:
      a. Bioscience (4 to 6 credits)
      (1) One of the following courses:
      BS   161 Cell and Molecular Biology  3
         ENT  205 Pests, Society and Environment  3
      IBIO   150 Integrating Biology: From DNA to Populations  3
            MMG  141 Introductory Human Genetics  3
            MMG   201 Fundamentals of Microbiology  3
            PLB   105 Plant Biology  3
            PSL  250 Introductory Physiology  4
      (2) One of the following courses:
      BS  171 Cell and Molecular Biology Laboratory  2
            CEM  161 Chemistry Laboratory I  1
            CEM  162 Chemistry Laboratory II  1
            PHY  191 Physics Laboratory for Scientists, I  1
            PHY  192 Physics Laboratory for Scientists, II  1
            PLB  106 Plant Biology Laboratory 1
      b.  All of the following courses (47 credits):
      CMSE  201 Computational Modeling and Data Analysis I 4
         CMSE  381 Fundamentals of Data Science Methods  4
         CMSE  382 Optimization Methods in Data Science  4
         CMSE  495 Experiential Learning in Data Science (W) 4
      CSE  232 Introduction to Programming II  4
      CSE 300 Social, Ethical, and Professional Issues in Computing 1
         CSE  331 Algorithms and Data Structures  3
      CSE 380 Information Management and the Cloud 3
         CSE  404 Introduction to Machine Learning  3
         CSE  482 Big Data Analysis  3
         CSE  480 Database Systems  3
      MTH  314 Matrix Algebra with Computational Applications 3
      STT  180 Introduction to Data Science  4
         STT  380 Probability and Statistics for Data Science  4
      c.  Two courses selected from the following (6 credits): 
      CSE  402 Biometrics and Pattern Recognition  3
         CSE  415 Introduction to Parallel Computing  3
         CSE  431 Algorithm Engineering  3
         CSE  440 Introduction to Artificial Intelligence  3
      Computer Science and Engineering 415 and Computational Science, Mathematics and Engineering 401 may not be used to fulfill both requirements c. and d.
      d.  Two courses selected from the following (6 credits):
      CMSE  401 Methods for Parallel Computing  4
         CMSE  402 Data Visualization Principles and Techniques 3
      CSE  402 Biometrics and Pattern Recognition  3
         CSE  415 Introduction to Parallel Computing  3
         CSE  431 Algorithm Engineering  3
         CSE  440 Introduction to Artificial Intelligence  3
         CSE  471 Media Processing and Multimedia Computing  3
         CSE  472 Computer Graphics  3
         MTH  451 Numerical Analysis I  3
         MTH  468 Predictive Analytics 3
         STT  464 Statistics for Biologists  3
         STT  465 Bayesian Statistical Methods  3
      Computer Science and Engineering 415 and Computational Science, Mathematics and Engineering 401 may not be used to fulfill both requirements c. and d.


 

Computer Science

The Bachelor of Science degree in Computer Science focuses on the analysis, design, and development of software and hardware computer systems. Computer Science applies creativity, logic, and computational thinking to solve problems important to science, healthcare, education, business, entertainment, government, and all aspects of modern life. Students develop the fundamental programming skills for building software systems and are introduced to a wide range of algorithms, data structures, and patterns that can be applied to problem-solving. A range of elective courses allows a student to customize the degree in this expansive field to their interests. Complementing these major areas, the cognate provides an excellent opportunity to develop an individually selected area of interest.

Students who are enrolled in the Bachelor of Science degree program with a major in computer science may elect a Minor in Game Design and Development. For additional information, refer to the Minor in Game Design and Development statement in the Department of Media and Information section of this catalog.

The Bachelor of Science degree program in Computer Science is accredited by the Computing Accreditation Commission of ABET, www.abet.org under the General Criteria and the Computer Science and Similarly Named Computing Programs Program Criteria.

Requirements for the Bachelor of Science Degree in  Computer Science

  1. The University requirements for bachelor's degrees as described in the Undergraduate Education section of this catalog; 120 credits, including general elective credits, are required for the Bachelor of Science degree in Computer Science.
    The University's Tier II writing requirement for the Computer Science  major is met by completing Computer Science  and Engineering 498, referenced in item  3. b.  below.

    Students who are enrolled in the College of Engineering may complete the alternative track to Integrative Studies in Biological and Physical Sciences  that is described in item 1. under the heading Graduation Requirements for All Majors in the College statement.
  2. The requirements of the College of Engineering for the Bachelor of Science degree.

    The credits earned in certain courses referenced in requirement 3. below may be counted toward College requirements as appropriate.
    1. The following requirements for the major:
      a. Bioscience - Courses may not be used to satisfy both (1) and (2) below (4 to 6 credits):
      (1) One of the following courses:
      BS  161 Cell and Molecular Biology 3
      ENT  205 Pests, Society and Environment 3
      IBIO 150 Integrating Biology: From DNA to Populations 3
      MMG 141 Introductory Human Genetics 3
      MMG  201 Fundamentals of Microbiology 3
      PLB  105 Plant Biology 3
      PSL 250 Introductory Physiology 4
      (2) One of the following courses: 4
      BS 171 Cell and Molecular Biology Laboratory 2
      CEM 161 Chemistry Laboratory I 1
      CEM 162 Chemistry Laboratory II 1
      PHY 191 Physics Laboratory for Scientists, I 1
      PHY 192 Physics Laboratory for Scientists, II 1
      PLB 106 Plant Biology Laboratory
      b. All of the following courses (32 credits):
      CSE 232 Introduction to Programming II 4
      CSE 260 Discrete Structures in Computer Science 4
      CSE 300 Social, Ethical, and Professional Issues in Computing 1
      CSE 320 Computer Organization and Architecture 3
      CSE 325 Computer Systems 3
      CSE 331 Algorithms and Data Structures 3
      CSE 335 Object-Oriented Software Design 4
      CSE 380 Information Management and the Cloud 3
      CSE 498 Collaborative Design (W) 4
      STT 351 Probability and Statistics for Engineering 3
      Students must have a minimum grade of 2.0 in each of the following courses: CSE 300, CSE 320, CSE 325, CSE 331, CSE 335, CSE 380.
      c. One of the following courses (3 or 4 credits):
      MTH 314 Matrix Algebra with Computational Applications 3
      MTH 317H Honors Linear Algebra 4
      d. An additional five courses selected from the following (15 credits):
      CSE 402 Biometrics and Pattern Recognition 3
      CSE 404 Introduction to Machine Learning 3
      CSE 410 Operating Systems 3
      CSE 415 Introduction to Parallel Programming 3
      CSE 420 Computer Architecture 3
      CSE 422 Computer Networks 3
      CSE 425 Introduction to Computer Security 3
      CSE 431 Algorithm Engineering 3
      CSE 434 Autonomous Vehicles 3
      CSE 435 Software Engineering 3
      CSE 440 Introduction to Artificial Intelligence 3
      CSE 450 Translation of Programming Languages 3
      CSE 460 Computability and Formal Language Theory 3
      CSE 471 Media Processing and Multimedia Computing 3
      CSE 472 Computer Graphics 3
      CSE 476 Mobile Application Development 3
      CSE 477 Web Application Architecture and Development 3
      CSE 480 Database Systems 3
      CSE 482 Big Data Analysis 3
      CSE 491 Selected Topics in Computer Science 1 to 4
      MTH 451 Numerical Analysis I 3
      e. Required Cognate (12 credits):
      Cognates in the following areas are available to students in Computer Science: business, communication arts and sciences, foreign language, mathematics, the natural sciences, philosophy, psychology, the social sciences, and telecommunication.  Students may complete cognates in other areas with the approval of the Department of Computer Science and Engineering academic advisor. The cognate should enhance the student’s ability to apply analytical procedures in a specific subject area.
      The cognate requires a minimum of four courses totaling 12 or more credits outside the College of Engineering selected from (1) or (2) below. The academic advisor of the Department of Computer Science and Engineering must pre approve both the cognate and the cognate courses.
      (1) A minimum of four courses totaling 12 or more credits. At least 6 of the 12 credits must be in courses at the 300-400 level.
      (2) Cognate in The Eli Broad College of Business consisting of this specific set of courses: ACC 230, FI 320, GBL 323 and MKT 327. 
      (3) A sequence of at least three courses in a foreign language totaling at least 12 credits.

Concentrations in Computer Science

The Department offers the following concentrations to students wishing an area of specialization in their degree. The concentrations are available to, but not required of, any student enrolled in the Bachelor of Science degree program in Computer Science. NOTE: Completing the Bachelor of Science degree in Computer Science with a concentration may require more than 120 credits. Upon completion of the required courses for a concentration, certification will appear on the student’s official transcript. Students may select no more than one concentration.

For any concentration, 3 credits of CSE 499 Undergraduate Research related to the subject area may be applied with approval of the Department of Computer Science and Engineering.

Artificial Intelligence
To complete a Bachelor of Science degree in Computer Science with an artificial intelligence concentration, students must complete the requirements for the bachelor’s degree, including the following:
Two of the following courses (6 credits):
CSE 404 Introduction to Machine Learning 3
CSE 440 Introduction to Artificial Intelligence 3
CSE 482 Big Data Analysis 3
Three of the following courses not taken above (9 to 12 credits):
CSE 402 Biometrics and Pattern Recognition 3
CSE  404 Intro to Machine Learning 3
CSE 434 Autonomous Vehicles 3
CSE 440 Introduction to Artificial Intelligence 3
CSE 482 Big Data Analysis 3
CSE 803 Computer Vision 3
ADV 401 Neuromarketing and Consumer Decisions 3
LIN 401 Introduction to Linguistics 4
LIN 424 Introduction to Phonetics and Phonology 3
LIN 427 Laboratory Phonetics 3
LIN 431 Introduction to Morphology 3
LIN 434 Introduction to Syntax 3
LIN 437 Introduction to Semantics and Pragmatics 3
LIN 463 Introduction to Cognitive Science 3
LIN 471 Sociolinguistics 3
MI 484 Human Robot Interaction (W) 3
MTH 468 Predictive Analysis 3
NEU 301 Introduction to Neuroscience I 3
NEU 302 Introduction to Neuroscience II 3
PHL 330 Formal Deductive Reasoning 4
PHL 331 Formal Practical Reasoning 4
PHL 432 Logic and its Metatheory 4
PSY 301 Cognitive Neuroscience 3
  
Computer Systems
To complete a Bachelor of Science degree in Computer Science with a computer systems concentration, students must complete the requirements for the bachelor’s degree, including the following:
All of the following courses (9 credits):
CSE 410 Operating Systems 3
CSE 422 Computer Networks 3
CSE 450 Translation of Programming Languages 3
Two of the following courses (6 credits):
CSE 415 Introduction to Parallel Programming 3
CSE 420 Computer Architecture 3
CSE 425 Introduction to Computer Security 3
CSE 434 Autonomous Vehicles 3
CSE 472 Computer Graphics 3
CSE 480 Database Systems 3
Cybersecurity
To complete a Bachelor of Science degree in Computer Science with a cybersecurity concentration, students must complete the requirements for the bachelor’s degree, including the following:
All of the following courses (6 credits):
CSE 402 Biometrics and Pattern Recognition 3
CSE 425 Introduction to Computer Security 3
Three of the following courses (9 credits):
CSE 410 Operating Systems 3
CSE 422 Computer Networks 3
CSE 431 Algorithm Engineering 3
CSE 434 Autonomous Vehicles 3
CSE 480 Database Systems 3
CSE 482 Big Data Analysis 3
MI 239 Digital Footprints: Privacy and Online Behavior 3
MTH 416 Introduction to Algebraic Coding 3
Multimedia and Graphics
To complete a Bachelor of Science degree in Computer Science with a multimedia and graphics concentration, students must complete the requirements for the bachelor’s degree, including the following:
Two of the following courses (6 credits):
CSE 471 Media Processing and Multimedia Computing 3
CSE 472 Computer Graphics 3
CSE 476 Mobile Application Development 3
CSE 477 Web Application Architecture and Development 3
Three of the following courses not taken above (8 or 9 credits):
CSE 471 Media Processing and Multimedia Computing 3
CSE 472 Computer Graphics 3
CSE 476 Mobile Application Development 3
CSE 477 Web Application Architecture and Development 3
CSE 803 Computer Vision 3
CMSE 402 Data Visualization Principles and Techniques 3
FLM 230 Introduction to Film 3
FLM 260 Introduction to Digital Film and Emergent Media 3
MI 231 Game and Interactive Media Development 3
MI 247 Three-Dimensional Graphics and Design 3
MI 337 Compositing and Special Effects 3
MI 347 Advanced Three-Dimensional Computer Animation 3
MI 350 Evaluating Human-Centered Technology 3
MI 377 Advanced 3D Modeling 3
MI 445 Game Design and Development I 3
MI 450 Creating Human-Centered Technology 3
MI 455 Game Design and Development II 3
MI 462 Social Media and Social Computing 3
MI 482 Building Virtual Worlds (W) 3
MI 497 Game Design Studio 3
STA 380 Electronic Art 3
STA 384 Experiments in Digital Video 3
THR 205 Media Acting I 2
THR 419 Projection Design for Live Performance 3
Software Engineering
To complete a Bachelor of Science degree in Computer Science with a software engineering concentration, students must complete the requirements for the bachelor’s degree, including the following:
The following course (3 credits):
CSE 435 Software Engineering 3
Four of the following courses (12 credits):
CSE 431 Algorithm Engineering 3
CSE 476 Mobile Application Development 3
CSE 477 Web Application Architecture and Development 3
CSE 480 Database Systems 3
CSE 870 Advanced Software Engineering 3
MI 350 Evaluating Human-Centered Technology 3
MI 420 Interactive Prototyping 3
MI 450 Creating Human-Centered Technology (W) 3
Theory
To complete a Bachelor of Science degree in Computer Science with a theory concentration, students must complete the requirements for the bachelor’s degree, including the following:
The following course (3 credits):
CSE 460 Computability and Formal Language Theory 3
One of the following courses (3 credits):
CSE 431 Algorithm Engineering 3
CSE 830 Design and Theory of Algorithms 3
Three of the following courses (9 or 10 credits):
CSE 835 Algorithmic Graph Theory 3
CSE 860 Foundations of Computing 3
MTH 299 Transitions 4
MTH 416 Introduction to Algebraic Coding 3
MTH 417 Topics in Number Theory 3
MTH 880 Combinatorics I 3
MTH 882 Combinatorics II 3

Minor in Computer Science

The Minor in Computer Science and Engineering is administered by the Department of Computer Science and Engineering. This minor will provide students with a foundation in computer science that applies to many disciplines. This will also provide opportunities for students in industry or government, as well as prepare students for graduate-level study in computer science.

The minor is available as an elective to students who are enrolled in bachelor’s degree programs at Michigan State University other than the Bachelor of Science Degree in Computer Science or the Bachelor of Science Degree in Computer Engineering or the Bachelor of Science Degree in Computational Data Science, or the Bachelor of Science Degree in Data Science.  With the approval of the department and college that administers the student’s degree program, the courses that are used to satisfy the minor may also be used to satisfy the requirements for the bachelor’s degree.

Students who plan to complete the requirements for the minor must apply to the Department of Computer Science and Engineering. The minimum criteria for acceptance are the completion of Computer Science and Engineering 231 and 260 with a combined grade-point average in those two courses of 3.0. Enrollment may be limited. Application forms are available at www.cse.msu.edu.

Requirements for the Minor in Computer Science

Complete a minimum of 18 credits in the Department of Computer Science and Engineering from the following:

1. All of the following courses (13 credits):
CSE 231 Introduction to Programming I 4
CSE 232 Introduction to Programming II 4
CSE 260 Discrete Structures in Computer Science 4
CSE 300 Social, Ethical, and Professional Issues in Computing  1
2. Two of the following courses (6 or 7 credits):
CSE 320 Computer Organization and Architecture 3
CSE 325 Computer Systems 3
CSE 331 Algorithms and Data Structures 3
CSE 335 Object-Oriented Software Design 4
CSE 380 Information Management and the Cloud 3
CSE 402 Biometrics and Pattern Recognition 3
CSE 404 Introduction to Machine Learning 3
CSE 420 Computer Architecture 3
CSE 431 Algorithm Engineering 3
CSE 434 Autonomous Vehicles 3
CSE 440 Introduction to Artificial Intelligence 3
CSE 460 Computability and Format Language Theory 3
CSE 471 Media Processing and Multimedia Computing 3
CSE 472 Computer Graphics 3
CSE 476 Mobile Application Development 3
CSE 477 Web Application Architecture and Development 3
CSE 480 Database Systems 3
CSE 482 Big Data Analysis 3

Linked Bachelor's-Master's Degree in Computer Science

Bachelor of Science Degree in Computer Engineering

Master of Science Degree in Computer Science

 

The department welcomes applications from Michigan State University Computer Engineering undergraduate students in their junior and senior year.  Admission applications must be made during the prior spring semester for an anticipated spring graduation or the prior fall semester for an anticipated fall graduation to allow admission before the final semester as a Computer Engineering undergraduate.  Admission to the program requires a minimum undergraduate grade-point average of 3.5 and an approved program of study for the Master of Science degree in Computer Science at the time of admission. Admission to the Linked Bachelor’s-Master’s program allows the application of up to 9 credits toward the master's program for qualifying 400-level and above course work taken at the undergraduate level at Michigan State University or an external accredited institution. The number of approved credits, not to exceed 9, are applied toward the credit requirement of the master's degree. Credits applied to the Linked Bachelor's-Master's program are not eligible to be applied to any other graduate degree program.


Linked Bachelor's-Master's Degree in Computer Science

Bachelor of Science Degree in Computer Science
Master of Science Degree in Computer Science
 
The department welcomes applications from Michigan State University Computer Science undergraduate students in their junior and senior year.  Admission applications must be made during the prior spring semester for an anticipated spring graduation or the prior fall semester for an anticipated fall graduation to allow admission before the final semester as a Computer Science undergraduate.  Admission to the program requires a minimum undergraduate grade-point average of 3.5 and an approved program of study for the Master of Science degree in Computer Science at the time of admission. Admission to the Linked Bachelor’s-Master’s program allows the application of up to 9 credits toward the master's program for qualifying 400-level and above course work taken at the undergraduate level at Michigan State University or an external accredited institution. The number of approved credits, not to exceed 9, are applied toward the credit requirement of the master's degree. Credits applied to the Linked Bachelor's-Master's program are not eligible to be applied to any other graduate degree program.
 
 
 
 
 

Graduate Study

The Department of Computer Science and Engineering offers programs leading to the Master of Science and Doctor of Philosophy degrees.  Advanced study is available in a variety of computer science research areas such as algorithms, computer security, databases, data mining, machine learning, natural language processing, networking, pattern recognition and image processing, and software engineering, as well as many interdisciplinary research areas such as bioinformatics, cognitive science, and digital evolution.

Students who are enrolled in master’s or doctoral degree programs in the Department of Computer Science and Engineering may elect an Interdepartmental Specialization in Cognitive Science. For additional information, refer to the statement on Interdepartmental Graduate Specializations in Cognitive Science in the College of Social Science section of this catalog. For additional information, contact the Department of Computer Science and Engineering.


Computer Science - Master of Science

In addition to meeting the requirements of the university and of the College of Engineering, students must meet the requirements specified below.

Admission

Applicants for admission should possess a bachelor's degree in computer science or a related field such as mathematics, physics, or electrical engineering.  All applicants are encouraged to submit their scores from the Graduate Record Examination (GRE) General Test.  Additional information is available on the Department's Web site at http://cse.msu.edu.

Requirements for the Master of Science Degree in Computer Science

The student must complete a total of 30 credits for the degree under either Plan A (with thesis) or Plan B (without thesis) and meet the requirements specified below:

Requirements for Both Plan A and Plan B: 

The student must complete a minimum of 18 credits in courses listed below with at least one course from each breadth area:

System Design and Analysis
CSE 812 Distributed Systems 3
CSE 820 Advanced Computer Architecture 3
CSE 822 Parallel Computing 3
CSE 824 Advanced Computer Networks and Communications 3
CSE 825 Computer and Network Security 3
CSE 870 Advanced Software Engineering 3
Theory and Algorithms
CSE 814 Formal Methods in Software Development 3
CSE 830 Design and Theory of Algorithms 3
CSE 835 Algorithmic Graph Theory 3
CSE 836 Probabilistic Models and Algorithms in Computational Biology 3
CSE 860 Foundations of Computing 3
Data Analysis and Applications
CSE 802 Pattern Recognition and Analysis 3
CSE 803 Computer Vision 3
CSE 840 Computational Foundations in Artificial Intelligence 3
CSE 841 Artificial Intelligence 3
CSE 842 Natural Language Processing 3
CSE 843 Language and Interaction 3
CSE 845 Multidisciplinary Research Methods for the Study of Evolution 3
CSE 847 Machine Learning 3
CSE 848 Evolutionary Computing 3
CSE 849 Deep Learning 3
CSE 872 Advanced Computer Graphics 3
CSE 881 Data Mining 3


Additional Requirements for Plan A:

The student must complete:

  1. A minimum of 21 credits in 800-900 level courses chosen in consultation with the student's advisor, excluding Computer Science and Engineering 801, 890, 898, and 899.
  2. At least 6, but not more than 8, credits of CSE 899 Master's Thesis Research.

Additional Requirements for Plan B:

  1. Complete a minimum of 24 credits in 800-900 level courses chosen in consultation with the student's advisor, excluding Computer Science 801, 890, 898, and 899.

Computer Science - Doctor of Philosophy

In addition to meeting the requirements of the university and of the College of Engineering, students must meet the requirements specified below.

Admission

Applicants should be in the top 25 percent of their master's degree classes and should have a grade–point average of at least 3.50 on a scale of 4.0. 

Applicants are encouraged to submit their scores on the Graduate Record Examination General Test.

Applicants who have a Bachelor of Science degree and who demonstrate exceptional potential for graduate study may be accepted for admission to the doctoral program.

Additional information is available on the Department's Web site at http://cse.msu.edu.

Requirements for the Doctor of Philosophy Degree in Computer Science

1. Students must complete a minimum of 30 credits beyond the research requirements in CSE 999. Students must maintain a cumulative grade-point average of at least 3.00 in all courses counted towards the 30 credits. The student’s guidance committee reserves the right to require additional course work beyond the minimum. Students should contact the graduate director for approval of any courses outside the Department of Computer Science and Engineering. 
2. Students may receive credit for 24 credits of course work taken during a prior completed Master of Science degree or equivalent. In the case where the master’s degree was obtained from the Department of Computer Science and Engineering at Michigan State University, the Ph.D. students is only required to complete 24 to 36 credits of CSE 999 Doctoral Dissertation Research.
3. As part of the total credit requirements, students must complete a minimum of 18 credits in courses listed below with at least one course from each breadth area. If a student has completed a Master of Science degree and receives a waiver, then the corresponding breadth area requirement will also be waived.
System Design and Analysis
CSE 812 Distributed Systems 3
CSE 820 Advanced Computer Architecture 3
CSE 822 Parallel Computing 3
CSE 824 Advanced Computer Networks and Communications 3
CSE 825 Computer and Network Security 3
CSE 870 Advanced Software Engineering 3
Theory and Algorithms
CSE 814 Formal Methods in Software Development 3
CSE 830 Design and Theory of Algorithms 3
CSE 835 Algorithmic Graph Theory 3
CSE 836 Probabilistic Models and Algorithms in Computational Biology 3
CSE 860 Foundations of Computing 3
Data Analysis and Applications
CSE 802 Pattern Recognition and Analysis 3
CSE 803 Computer Vision 3
CSE 840 Computational Foundations in Artificial Intelligence 3
CSE 841 Artificial Intelligence 3
CSE 842 Natural Language Processing 3
CSE 843 Language and Interaction 3
CSE 845 Multidisciplinary Research Methods for the Study of Evolution 3
CSE 847 Machine Learning 3
CSE 848 Evolutionary Computing 3
CSE 849 Deep Learning 3
CSE 872 Advanced Computer Graphics 3
CSE 881 Data Mining 3
4. Complete a minimum of 24 credits in 800-900 level courses chosen in consultation with the student’s advisor, excluding Computer Science 801, 890, 898, and 899.
5. Pass a qualifying examination consisting of a written and an oral part, generally within two years of beginning the Ph.D. program.
6. Pass the comprehensive examination that includes a program statement presenting the student’s learning and professional background and goals, and provides a rationale for the students declared focus areas.
7. Complete 24 credits of CSE 999 Doctoral Dissertation Research and successfully defend the dissertation. Present the results of the research in a public seminar during the final oral examination.