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

*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) |