Students pursuing the bachelor of science (B.S.) degree program in computer science must complete the requirements listed below.
1. General Curricular Requirements
All students must satisfy the general curricular requirements listed in the Degree Requirements chapter of this catalog. Some of the general curricular requirements are automatically satisfied by fulfilling the natural science and mathematics requirements of the B.S. program. The following guidelines should be used:
A. 6 credits of the B.S. natural science requirements may be used to satisfy the general curricular requirement of 6 credits from the offerings of the natural science disciplines.
B. 6 credits of the B.S. mathematics requirements may be used to satisfy the general curricular requirement of 3 credits in mathematics and 3 credits in mathematics, computer science, or statistics.
2. Natural Science Requirements
Either
50:750:131-132 Elements of Physics I,II (3,3) and
50:750:133-134 Elements of Physics Laboratory I,II (1,1)
OR
50:750:233-234 Electric Circuits I,II (3,3) and
50:750:235-236 Electric Circuits Laboratory I,II (1,1)
A minimum of 4 additional credits of natural science electives in the biological sciences, chemistry, or physics; courses designed for nonscience majors may not be used to satisfy this requirement.
3. Mathematics Requirements
50:640:121,122 Unified Calculus I,II (4,4)
50:640:250 Linear Algebra (3)
50:960:336 Applied Statistics (3) or 50:960:283,284 Introduction to Statistics I,II (3,3)
Minimum of 3 additional credits in mathematics or statistics at the 200 level or higher (excluding 50:640:237 Discrete Mathematics and 50:640:250 Linear Algebra).
4. Computer Science Core
50:198:111 Programming Fundamentals (3)
50:198:112 Software Laboratory I (1)
50:198:113 Object-Oriented Programming (3)
50:198:171 Mathematical Foundations of Computer Science (3)
50:198:213 Data Structures (3)
50:198:231 Introduction to Computer Organization (3)
50:198:321 Programming Language Concepts (3)
50:198:323 Software Methodology and Engineering (3)
50:198:371 Design and Analysis of Algorithms (3)
50:198:443 Operating Systems (3)
50:198:476 Introduction to the Theory of Computation (3)
50:198:493 Senior Design Project (3)
5. Computer Science Electives
At least 12 credits of computer science electives at the 300 or 400 level. At most, 3 credits of 50:198:494 Independent Study and, at most, 3 credits of 50:198:497 Computer Science Internship may be counted toward fulfillment of this requirement.