Academic Programs Catalog

College of Engineering

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