Academic Programs Catalog

College of Engineering

Department of Computer Science and Engineering

Matt W. Mutka, Chairperson

Computer science encompasses the broad areas of information processing and problem solving using digital computers. Students learn to analyze, design, and build integrated software and hardware digital systems that process, transmit, and reason about information in order to solve problems. Computer science graduates are employed in essentially all areas of industry, government, and education. They serve as system analysts involved with problems in business and research, designers and planners of process and production control software systems, computer component and system designers, programmers, and teachers.


Undergraduate Program

The Bachelor of Science program provides both a theoretical foundation in computer science, required for continued success in this rapidly changing field, 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 rigorous analysis of 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, computer architecture, artificial intelligence, database systems, computer security, software engineering, and computer graphics. The senior year culminates with a team-oriented design course building on much of what one has learned throughout the undergraduate experience. Complementing these major areas, the cognate provides an excellent opportunity to develop an individually selected area of interest.

Students majoring in computer science with interests in other areas have the opportunity to consult and work with interested faculty from a wide range of academic disciplines.

Students who are enrolled in the Bachelor of Science degree program with a major in computer science may elect a Specialization in Game Design and Development. For additional information, refer to the Specialization in Game Design and Development statement in the Department of Telecommunication, Information Studies and Media 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.

 


Computer Science

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.
  3. 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
    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 (33 credits):
    CSE 100 Computer Science as a Profession 1
    CSE 231 Introduction to Programming I 4
    CSE 232 Introduction to Programming II 4
    CSE 260 Discrete Structures in Computer Science 4
    CSE 320 Computer Organization and Architecture 3
    CSE 331 Algorithms and Data Structures 3
    CSE 335 Object-Oriented Software Design 4
    CSE 410 Operating Systems 3
    CSE 498 Collaborative Design (W) 4
    STT 351 Probability and Statistics for Engineering 3
    c. An additional five courses selected from the following (15 credits):
    CSE 402 Biometrics and Pattern Recognition 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 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 484 Information Retrieval 3
    CSE 491 Selected Topics in Computer Science 1 to 4
    MTH 451 Numerical Analysis I 3
    d. Required Cognate (15 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 15 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) At least 6 of the 15 credits must be in courses at the 300-400 level.  The cognate in The Eli Broad College of Business requires a specific set of courses: ACC 230, EC 201, FI 320, GBL 323, and MKT 327. 
    (2) A sequence of at least four courses in a foreign language.


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 basic foundation in computer science that is applicable 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 .  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 is 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 (12 credits):  
  CSE 231 Introduction to Programming I 4
  CSE 232 Introduction to Programming II 4
  CSE 260 Discrete Structures in Computer Science 4
2. Two of the following courses (6 or 7 credits):  
  CSE 320 Computer Organization and Architecture 3
  CSE 331 Algorithms and Data Structures 3
  CSE 335 Object-Oriented Software Design 4
  CSE 410 Operating Systems 3
  CSE 420 Computer Architecture 3
  CSE 422 Computer Networks 3
  CSE 425 Introduction to Computer Security 3
  CSE 435 Software Engineering 3
  CSE 440 Introduction to Artificial Intelligence 3
  CSE 450 Translation of Programming Languages 3
  CSE 460 Computability and Format Language Theory 3
  CSE 471 Media Processing and Multimedia Computing 3
  CSE 472 Computer Graphics 3
  CSE 473 Fundamentals of 3D Game Development 3
  CSE 476 Mobile Application Development 3
  CSE 477 Web Application Architecture and Development 3
  CSE 480 Database Systems 3
  CSE 484 Information Retrieval 3

Teacher Certification Option

A computer science disciplinary minor is available for teacher certification.

Students who elect the computer science disciplinary minor must contact the Department of Computer Science and Engineering.

For additional information, refer to the statement on TEACHER CERTIFICATION in the Department of Teacher Education section of this catalog.

 


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 must 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:

  1. The breadth requirement as described in the Graduate Handbook which is available on the Department's Web site at http://cse.msu.edu.
  2. At least 18 credits in courses eligible to satisfy the breadth requirement as approved by the student's academic advisor.

Additional Requirements for Plan A:

The student must complete:

  1. A minimum of 21 credits in 800-900 level courses excluding Computer Science and Engineering 801, 890, 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 excluding Computer Science 801, 890, 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 must 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

In addition to meeting the requirements of the university and of the College of Engineering, students must meet the requirements specified by the department in the Graduate Handbook available at http://cse.msu.edu as well as requirements specified by their guidance committees.  All courses that are used to satisfy the requirements for the degree must have been completed under the numerical grading system.