Course Calendar
Class meets TuesdayThursday from 9:40 to 10:55 in CSB 601.
Thurs, Jan 14
 Course organization and overview
 Introductions
 Office hours
 Bibliography
 Grading policy
 Programming assignments and related lab issues
 Course overview:
Motivation for
formal systems
 Assignments

Get lab account (see Marty in Rm. 735 CSB)
 Review background material on WWW and Unix
 Review material on data structures, algorithm analysis, and C++
 Read chapter 8.1, 8.2 in text
Tues, Jan 19
 Relations
 Motivation
 Definitions
 Implementation structures
 Assignments
Thurs, Jan 21
 Relations
 Indexes
 Operations that span relations
 Database design
 Assignments
Tues, Jan 26
 Relations
 Assignments
 Programming assignment 1, databases, Part I, due
 Read chapter 8.7, 8.8, 8.9
Thurs, Jan 28
 Relations
 Implementations of join
 Query optimization
 Assignments
 Read chapter 9.1, 9.2, 9.3
Tues, Feb 2
 Graphs
 Definitions
 Implementations
 Assignments
Thurs, Feb 4
Tues, Feb 9
Thurs, Feb 11
Tues, Feb 16
 Graphs
 Assignments
 Programming assignment 2, graphs and jug problem, due
Thurs, Feb 18

Finite Automata
 deterministic FA
 programs from FA
 nondeterministic FA
 Assignments
Tues, Feb 23
Thurs, Feb 25
Tues, Mar 2
 Midterm exam
 Assignments
 Exercises from chapter 10 due.
Thurs, Mar 4
 Context free grammars
 Assignments
Tues, Mar 16
Thurs, Mar 18
Tues, Mar 23
 First, Follow, and Predict sets
Thurs, Mar 25
Tues, Mar 30
Thurs, April 1
 Propositional Logic cont.
Tues, April 6
 Propositional Logic cont.
 Assignments
Thurs, April 8
 No Class due to National Undergraduate Research Conference. (But you get
to start looking at a programming assignment anyway.)
 Assignments
 Programming assignment:
Prolog
Tues, April 13
 Predicate Logic
 Assignments
 Resolution assignment due
Thurs, April 15
Tues, April 20
Thurs, April 22
 Computability cont.
 Assignments
Tues, April 27
Thurs, May 6
 Final Exam. 4:00 PM, CSB 601.