Required for the Bachelor of Science in Computer Science: (128 semester hours)

Required Outside of the College of Engineering

  • 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)
  • Humanities electives (6 hrs)
  • Social sciences electives (6 hrs)
  • Humanities/social sciences/art electives (18 hrs)Note: Humanities and social sciences electives must be selected from a list of approved courses provided by the College of Engineering. One of the humanities/social sciences/art or free electives must be selected to meet the Cultural Diversity requirement. Choices for the lab science elective are below. Science/engineering and arts electives must be selected from a list of approved courses provided by the CS Department. More explanation of the science requirement is given below.
  • Total: (61 hrs)

Required in the College of Engineering

  • 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.
  • Total: (38 hrs)

Technical Electives

  • 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)
  • Total: (15 hrs)

Required Mathematics Courses

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), Stat 381 (Applied Statistical Methods), or Stat 401 (Introduction to Probability).

  • One of the following three courses must be chosen: (3 hrs)
    • IE 342–Probability and Statistics for Engineers (3 hrs)
    • Stat 381–Applied Statistical Methods (3 hrs)
    • Stat 401–Introduction to Probability (3 hrs)Students may take both Stat 381 and Stat 401, although students who take IE 342 will not receive credit for either Stat course.
  • 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 473–Game Theory (3 hrs)
  • Total: (9 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

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, orthe 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)
  • Total: (12 hrs)

Free Electives

5 semester hours.

Typical Schedule for the Computer Science Major


Fall semester – 15 hrs

Math 180–Calculus I (5)

Humanities/social sciences/arts elective (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)


Fall semester – 16 hrs


Math 210–Calculus III (3)

Humanities/social science/arts elective (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)

Humanities/social science/arts elective (3)


Fall semester – 17 hrs


CS 366–Computer Architecture II (4)

CS 340–Software Design (4)

Required mathematics course (3)

Humanities/social science/arts electives (6)

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)


Fall semester – 17 hrs

CS 335–Computer Ethics (2)

CS 401–Computer Algorithms (3)

Technical electives (6)

Humanities/social science/arts electives (6)

Spring semester – 16 hrs


Technical electives (9)

Humanities/social science/arts electives (6)

CS 376–Practicum in Oral Presentations (1)