The course will also cover applied algorithms in program syntax analysis,
graph theory, pattern matching, program data optimization, and artificial
intelligence. The technical topics will be organized around two themesprogramming
automation and program optimization. Through course projects, students
will use and improve these algorithms to produce software tools of
nontrivial practical or research value.
Finally, the course will use a third of its class time in invited lectures
from other faculty members in the department. They will introduce
students to current research in artificial intelligence, computer vision,
theory, and other areas of computer systems.

Textbooks. There is no single textbook for this course.
Selected chapters of the following books will be covered. They are
all onreserve at Carlson Library.