CS 580 Course Syllabus


Overview

This course lays the groundwork for the analytical study of modern computing. It covers the classic fundamentals of theoretical computer science. Topics from formal language and complexity theory are chosen to highlight the boundary between what can and cannot be effectively computed. Subjects in algorithmic and mathematical analysis are selected to showcase general techniques.

Prerequisite

Students must be able to reason logically and devise formal mathematical proofs. Commendable completion of a course such as Computer Science 311 or its equivalent should generally suffice. Students in doubt should talk to the instructor before enrolling.

Milestones

Grading

20% Homework
40% Exam I, to be held on October 1, 2025
40% Exam II, to be held on November 19, 2025