At the present time the CS department is not able to predict a schedule of course offerings into future semesters. We expect (but are not able to guarantee) to offer the following courses or course types each semester. In particular, we will strive to offer at least five upper-level courses each semester, and at leaset one upper-level course from each group. Precisely what we offer and who teaches each course will depend on hiring, student interest, and other staffing considerations.
Note that our upper-level courses are categorized into three groups: G1 Theory, G2 Systems, and G3 Applications. If no group designation is given, then a course can serve as an elective, but it will not satisfy a group requirement.
This is our tentative partial two-year schedule (it will be modified as our staffing changes, and filled in with more details as we know them):