Academic Programs Catalog

College of Engineering

Department of Computer Science and Engineering

Undergraduate Programs
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