Requirements
Freshman Year
| CS 161 | Introduction to Programming and Problem-Solving | 4 |
| CS 162 | Introduction to Computer Science | 4 |
| Mth 251Z | Differential Calculus | 4 |
| Mth 252Z | Integral Calculus | 4 |
| | Approved Laboratory Science | 15 |
| | First Year Inquiry | 15 |
| Total Credit Hours: | 46 |
Sophomore Year
| CS 163 | Data Structures | 4 |
| CS 205 | System Programming and Architecture | 4 |
| CS 250 | Discrete Structures I | 4 |
| CS 251 | Discrete Structures II | 4 |
| Mth 261 | Introduction to Linear Algebra | 4 |
| | Sophomore Inquiry | 8 |
| | Free electives | 16 |
| Total Credit Hours: | 44 |
Junior Year
| CS 302 | Programming Methodologies and Software Implementation | 4 |
| CS 314 | Elements of Software Engineering | 4 |
| CS 350 | Algorithms and Complexity | 4 |
| CS 441 | Classical Artificial Intelligence | 4 |
| | Approved upper-division AI elective | 12 |
| Wr 227Z | Technical Writing | 4 |
| | Upper-division cluster | 12 |
| Total Credit Hours: | 44 |
Senior Year
| CS 305 | Social, Ethical, and Legal Implications of Computing | 4 |
| CS 430P | Internet, Web, & Cloud Systems | 4 |
| CS 445 | Machine Learning | 4 |
| CS 459 | Artificial Intelligence Capstone I | 4 |
| CS 460 | Artificial Intelligence Capstone II | 4 |
| | Approved upper-division AI elective | 4 |
| | Approved upper-division computer science electives | 8 |
| Stat 451 | Applied Statistics for Engineers and Scientists I | 4 |
| | Approved Math electives | 3 |
| | Free electives | 7 |
| Total Credit Hours: | 46 |
Upper Division Credits
Approved upper-division Computer Science electives
This total may include any regular 300- and 400-level computer science course, and any of the courses:
except that no more than a total of 4 credits may be taken from:
Other 410/510 CS electives may also be used to satisfy the requirement with prior written approval from the Computer Science Undergraduate Adviser.
Approved Artificial Intelligence upper-division electives
Students must complete 16 or more credits of approved Artificial Intelligence electives. The current list of approved courses includes:
| CS 427 | Introduction to Visual Computing | 4 |
| CS 437 | Introduction to Data Mining | 4 |
| CS 439 | Introduction to Computational Imaging | 4 |
| CS 440 | Deep Learning: Computational Structures and Programming | 4 |
| CS 442 | Advanced Artificial Intelligence: Combinatorial Games | 4 |
| CS 444 | Natural Language Processing | 4 |
| CS 446 | Reinforcement Learning | 4 |
| CS 466 | Voice Assistants | 4 |
| CS 475 | Generative Security Application Engineering | 4 |
Other 410/510 CS electives in Artificial Intelligence may also be used to satisfy the requirement with prior written approval from the Computer Science Undergraduate Adviser.
Approved Laboratory Science
Students must select 3 courses from the following, including their associated laboratories:
Physics
| Ph 211 | General Physics (with Calculus) I | 4 |
| Ph 212 | General Physics (with Calculus) II | 4 |
| Ph 213 | General Physics (with Calculus) III | 4 |
| | With | |
| Ph 214 | Lab for Ph 201 or Ph 211 or Ph 221 or Ph 231 | 1 |
| Ph 215 | Lab for Ph 202 or Ph 212 or Ph 222 or Ph 232 | 1 |
| Ph 216 | Lab for Ph 203 or Ph 213 or Ph 223 or Ph 233 | 1 |
Chemistry
| Ch 221Z | General Chemistry I | 4 |
| Ch 222Z | General Chemistry II | 4 |
| Ch 223Z | General Chemistry III | 4 |
| | With | |
| Ch 227Z | General Chemistry I Laboratory | 1 |
| Ch 228Z | General Chemistry II Laboratory | 1 |
| Ch 229Z | General Chemistry III Laboratory | 1 |
Biology
| Bi 221Z | Principles of Biology: Cells | 5 |
| Bi 222Z | Principles of Biology: Organisms | 5 |
| Bi 223Z | Principles of Biology: Ecology and Evolution | 5 |
Approved Mathematics electives
Students must complete 3 or more credits of approved mathematics electives. The current list of approved courses includes:
| CS 311 | Computational Structures | 4 |
| Mth 261 | Introduction to Linear Algebra | 4 |
| Mth 311 | Introduction to Mathematical Analysis I | 4 |
| Mth 343 | Applied Linear Algebra | 4 |
| Mth 344 | Introduction to Group Theory and Applications | 4 |
| Mth 346 | Number Theory | 4 |
| Mth 356 | Discrete Mathematics | 4 |
| Mth 457 | The Mathematical Theory of Games I | 3 |
| Mth 458 | The Mathematical Theory of Games II | 3 |
| Mth 461 | Graph Theory I | 3 |
| Mth 462 | Graph Theory II | 3 |
| Stat 366 | Introduction to Experimental Design | 4 |
| Stat 452 | Applied Statistics for Engineers and Scientists II | 3 |
| Stat 464 | Applied Regression Analysis | 3 |
| Stat 467 | Applied Probability I | 3 |
| Stat 468 | Applied Probability II | 3 |
Other upper-division mathematics or statistics courses may be used to satisfy the requirement with prior written approval from the Computer Science Undergraduate Adviser.