Prerequisites
The Computer Science Department utilizes a system of prerequisites to ensure that students are adequately prepared to succeed in their classes.
Computer Science Curriculum
Most students start by taking either Introduction to Computer Science (CSCI 1101) or placement into more advanced courses (visit our requirements page for more information). Most advanced electives are categorized into three topic areas: Systems, Algorithms and Theory, and Artificial Intelligence (see table below). Students from all departments are welcome in Computer Science. Should you be interested in taking a course, but are not sure how it might fit in with your studies, please feel free to contact any of our faculty with your questions.
Prerequisite Structure
Courses by Topic Area
Catalogue Number |
Course Title |
|
| Algorithm and Theory Area | 2210 | Theory of Computation |
| 3210 | Computational Game Theory | |
| 3225 | GIS Algorithms and Data Structures* | |
| 3240 | Computational Complexity | |
| 3250 | Computational Geometry | |
| 3260 | Quantum Computation | |
| Artificial Intelligence Area | 2400 | Artificial Intelligence |
| 3465 | Financial Machine Learning | |
| 3485 | Deep Learning for Computer Vision | |
| 3725 | Computational Creativity* | |
| Systems Area | 2320 | Principles of Programming Languages |
| 3310 | Operating Systems | |
| 3325 | Distributed Systems* | |
| 3330 | Cybersecurity |
* Denotes a Projects Course