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 what cannot be effectively computed. Subjects in
algorithmic analysis are selected to showcase general techniques.
Prerequisite
Mathematical maturity commensurate with the successful
completion of Computer Science 380 or its equivalent.
Milestones
Regular sets and context-free languages (review)
Rice's Theorem and decidability (review?)
Reducibility and complexity theory
Cook's Theorem and NP-completeness
Decision, search, optimization and self-reduction
Algorithmic asymptotics and order statistics
Selected topics, including mathematical programming, graph algorithms, parallel algorithms and others as time permits
Grading
10% Homework
30% Exam I, to be held on September 27, 2005
30% Exam II, to be held on November 3, 2005
30% Exam III, to be held on December 13, 2005