| CSCI 201 | Computer Programming I | 3 |
| CSCI 221 | Computer Programming II | 3 |
| CSCI 312 | Computer Organization and Architecture I | 3 |
| CSCI 313 | Computer Organization and Architecture II | 3 |
| CSCI 315 | Information Structures | 3 |
| CSCI 325 | Organization of Programming Languages | 3 |
| CSCI 401 | Software Engineering | 3 |
| CSCI 435 | Operating Systems and Computer Architecture | 3 |
| CSCI 422 | Introduction to Computation Theory | 3 |
| or | ||
| CSCI 423 | Analysis of Algorithms | 3 |
| ONE COURSE from | ||
| CSCI 427 | Introduction to Artificial Intelligence | 3 |
| CSCI 437 | Introduction to Data and Computer Communications | 3 |
| CSCI 450 | Topics | 3 |
| CSCI 455 | Introduction to Database Systems | 3 |
| TWO ADDITIONAL COURSES from | ||
| CSCI 305 | Functional Programming | 3 |
| CSCI 422 | Introduction to Computation Theory | 3 |
| CSCI 423 | Analysis of Algorithms | 3 |
| CSCI 427 | Introduction to Artificial Intelligence | 3 |
| CSCI 437 | Introduction to Data and Computer Communications | 3 |
| CSCI 450 | Topics | 3 |
| CSCI 455 | Introduction to Database Systems | 3 |
|
CSCI 350 and 450 Topics classes may be taken more than once for
credit, as long as the topics are different. With consent of the Department Chair, they can be counted towards the major, generally in the same categories as CSCI 427, 437, and 455. |
||
| Cognates | ||
| MATH 200 | Finite Mathematics for Computer Science | 4 |
| MATH 212 | Calculus I | 4 |
| or | ||
| MATH 200 | Finite Mathematics for Computer Science | 4 |
| MATH 247 | Calculus: A Short Course | 3 |
| or | ||
| MATH 212 | Calculus I | 4 |
| MATH 436 | Discrete Mathematics | 3 |
| IT IS RECOMMENDED that students also take Communications 208; English 230; Mathematics 209, 212, 213, 315. | ||
| Total Credit Hours |
|
|