For students starting Fall 2007 or later but before Fall 2012 (For Fall 2012 Requirements, click here)

REQUIREMENTS FOR THE BACHELOR OF SCIENCE IN COMPUTER SCIENCE (128 SEMESTER HOURS)

Required Outside of the College of Engineering (61 semester hours)

  • Engl 160 English Composition I (3 hrs)
  • Engl 161 English Composition II (3 hrs)
  • Math 180 Calculus I (5 hrs)
  • Math 181 Calculus II (5 hrs)
  • Math 210 Calculus III (3 hrs)
  • (Lab) Science/Engineering Electives (described below) (12 hrs)
    • Lab Science Sequence (8-10 hrs)
    • Science/Engineering Electives (2-4 hrs)
  • General Education Core (15 hrs)
    • Exploring World Cultures (3 hrs)
    • Understanding the Creative Arts (3 hrs)
    • Understanding the Past (3 hrs)
    • Understanding the Individual and Society (3 hrs)
    • Understanding US Society (3 hrs)
  • Humanities/social sciences/art electives (15 hrs)

REQUIRED IN THE COLLEGE OF ENGINEERING (38 SEMESTER HOURS)

    • CS 101 Introduction to Computing (3 hrs)
    • CS 102 Introduction to Programming (3 hrs)
    • CS 201 Data Structures and Discrete Mathematics I (4 hrs)
    • CS 202 Data Structures and Discrete Mathematics II (3 hrs)
    • CS 266 Computer Architecture I: Logic and Computer Structures (4 hrs)
    • CS 301 Languages and Automata (3 hrs)
    • CS 335 Computer Ethics (2 hrs)
    • CS 340 Software Design (4 hrs)
    • CS 366 Computer Architecture II: Hardware-Software Interface (4 hrs)
    • CS 376 Practicum in Computer Science Oral Presentations (1 hrs)
    • CS 385 Operating Systems Concepts and Design (4 hrs)
    • CS 401 Computer Algorithms I (3 hrs)
    • Engr 100 Orientation (0 hrs)

Engr 100 carries one equivalent hour; does not carry credit towards graduation.

TECHNICAL ELECTIVES (15 SEMESTER HOURS)

Students must complete at least 15 hours from among the following technical elective courses, of which at most one may be from any department outside Computer Science.

  • CS 398 Undergraduate Design/Research (3 hrs)
  • CS 411 Artificial Intelligence I (3 hrs)
  • CS 415 Computer Vision I (3 hrs)
  • CS 421 Natural Language Processing (3 hrs)
  • CS 422 User Interface Design and Programming (3 hrs)
  • CS 424 Visualization and Visual Analytics (3 hrs)
  • CS 426 Video Game Design and Development (3 hrs)
  • CS 440 Introduction to Software Engineering (3 hrs)
  • CS 450 Introduction to Networking (3 hrs)
  • CS 455 Design and Implementation of Network Protocols (3 hrs)
  • CS 466 Advanced Computer Architecture (3 hrs)
  • CS 469 Computer Systems Design (3 hrs)
  • CS 472 Testing and Verification of Real-Time Software (3 hrs)
  • CS 473 Compiler Design (3 hrs)
  • CS 474 Object-Oriented Languages and Environments (3 hrs)
  • CS 476 Programming Language Design (3 hrs)
  • CS 480 Database Systems (4 hrs)
  • CS 485 Networked Operating Systems Programming (4 hrs)
  • CS 488 Computer Graphics I (3 hrs)
  • MCS 320 Introduction to Symbolic Computation (3 hrs)
  • MCS 471 Numerical Analysis (3 hrs)
  • MCS 481 Computational Geometry (3 hrs)
  • Stat 471 Linear and Non-Linear Programming (3 hrs)

REQUIRED MATHEMATICS COURSES (9 SEMESTER HOURS)

Students must complete at least 9 hours from among the following list of courses, with at least one course taken from IE 342 (Probability and Statistics for Engineers) or Stat 381 (Applied Statistical Methods) .

  • One of the following two courses must be chosen: (3 hrs)
    • IE 342 Probability and Statistics for Engineers (3 hrs)
    • Stat 381 Applied Statistical Methods (3 hrs)
    • Students who take IE 342 will not receive credit for Stat 381 or Stat 401. Students may take both Stat 381 and Stat 401.
  • Math 215 Introduction to Advanced Mathematics (3 hrs)
  • Math 220 Introduction to Differential Equations (3 hrs)
  • One of the following two courses may be chosen: (3 hrs)
    • Math 310 Applied Linear Algebra (3 hrs)
    • Math 320 Linear Algebra I (3 hrs)
  • Math 430 Formal Logic I (3 hrs)
  • Math 435 Foundations of Number Theory (3 hrs)
  • Math 436 Number Theory for Applications (3 hrs)
  • MCS 421 Combinatorics (3 hrs)
  • MCS 423 Graph Theory (3 hrs)
  • MCS 471 Numerical Analysis (3 hrs)
  • Stat 401 – Introduction to Probability (3 hrs)
  • Stat 473 Game Theory (3 hrs)

Note that students may choose to use MCS 471, Numerical Analysis, as either a CS technical elective (from outside the Computer Science Department) or as a required mathematics course, but not both.

LAB SCIENCE/ENGINEERING SCIENCE ELECTIVES (12 SEMESTER HOURS)

Every student must take one of the two-course lab sequences from Biological Sciences, Earth and Environmental Sciences, or Physics. (In Chemistry, either the sequence Chem 112, Chem 114, or the sequence Chem 116, Chem 118 may be chosen.) The choices are in the list below. Additionally, students must take a total of at least 12 credit hours, including that sequence, in the science and engineering science area. Additional courses may be other courses on this list, courses that have any of these courses as prerequisites, or other courses from a list maintained by the Computer Science Department of certain additional courses in Engineering, and quantitative social sciences.

  • BioS 100 Biology of Cells and Organisms (5 hrs)
  • BioS 101 Biology of Populations and Communities (5 hrs)
  • Chem 112 General Chemistry I (5 hrs)
  • Chem 114 General Chemistry II (5 hrs)
  • Chem 116 Honors General Chemistry I (5 hrs)
  • Chem 118 Honors General Chemistry II (5 hrs)
  • Phys 141 General Physics I (Mechanics) (4 hrs)
  • Phys 142 General Physics II (Electricity and Magnetism (4 hrs)
  • EaES 101 Introduction to Earth and Environmental Sciences I (5 hrs)
  • EaES 102 Introduction to Earth and Environmental Sciences II (5 hrs)

FREE ELECTIVES (5 SEMESTER HOURS)

Typical Schedule for the Computer Science Major

FIRST YEAR

Fall semester – 15 hrs

Math 180 – Calculus I (5)

General Education Core course (3)

Engl 160 – English Composition I (3)

CS 101 – Introduction to Computing (3)

Engr 100 – Orientation (1 hrs, 0 credits)

Spring semester – 15 hrs

Math 181 – Calculus II (5)

Engl 161 – English Composition II (3)

Lab Science Sequence I (4)

CS 102 – Introduction to Programming (3)

SECOND YEAR

Fall semester – 16 hrs

Math 210 – Calculus III (3)

General Education Core course (3)

CS 201 – Discrete Math/Data Structures I (4)

Lab Science Sequence II (4)

Free elective (2)

Spring semester – 17 hrs

CS 266 – Computer Architecture I (4)

CS 202 – Discrete Math/Data Structures II (3)

Required mathematics course (3)

Science/Engineering elective (4)

General Education Core course (3)

THIRD YEAR

Fall semester – 17 hrs

CS 366 – Computer Architecture II (4)

CS 340 – Software Design (4)

Required mathematics course (3)

Humanities/social science/arts electives (3)

General Education Core course (3)

Spring semester – 16 hrs

CS 301 – Languages and Automata (3)

CS 385 – Operating Systems Concepts (4)

Required mathematics course (3)

Humanities/social science/arts elective (3)

Free elective (3)

FOURTH YEAR

Fall semester – 17 hrs

CS 335 – Computer Ethics (2)

CS 401 – Computer Algorithms (3)

Technical electives (6)

Humanities/social science/arts electives (3)

General Education Core course (3)

Spring semester – 16 hrs

Technical electives (9)

Humanities/social science/arts electives (6)

CS 376 – Practicum in Oral Presentations (1)