Algorithmic Foundations Track Fall 2023 and Forward
Objectives
The Algorithmic Foundations track gives students a broad education on foundational concepts, tools, and techniques underlying existing and future areas of computer science.
All major required courses, all track requirements and track selectives, and their pre-requisites, regardless of department, must be completed with a grade of C or better.
| Course | Title |
|---|---|
|
or |
Compilers: Principles and Practice
Operating Systems |
|
or |
Data Mining and Machine Learning
Introduction to Artificial Intelligence |
| CS 38100 | Introduction to the Analysis of Algorithms |
| Course | Title |
|---|---|
|
and |
Competitive Programming 2 and 3 The combination of (CS31100 and CS41100) satisfy one elective |
| CS 31400 | Numerical Methods |
| CS 33400 | Fundamentals of Computer Graphics |
| CS 35300 | Principles of Concurrency and Parallelism |
| CS 35500 | Introduction to Cryptography |
| CS 44800 | Introduction to Relational Database Systems |
| CS 45600 | Programming Languages |
| CS 45800 | Introductions to Robotics |
| CS 48300 | Introduction to the Theory of Computation |
|
One of the following |
One 3-credit computer science course at the 300, 400, 500 level* OR An independent study course approved by the track chair OR A math course from the following list; MA 34100, MA 35301, MA 36200, MA 36600, MA 38500, MA 42100, MA 45300 |
*Note: One of CS 37300 or CS 47100 is needed as a required course; the other cannot be used to satisfy an elective.
No course can be counted both for required and elective credit. This is true for all tracks.
Detailed BS in Computer Science: Algorithmic Foundations Description from the University Catalog