Table of Contents

The official schedule for the semester is found on BYU Learning Suite. Here is the general template for the schedule for fall semester with the Thanksgiving break.

Week Topic and Reading Due
Week 1 Course overview, sets, strings, languages, and expressiveness (2.1, 2.2, 2.3, and 13.2)
Sets, functions, and finite state machines with outputs Homework 0
Week 2 Finite state machines, multiple outputs, no output, and regular expressions (13.2 and 13.3) Homework 1
Regular expressions and the Lexical Analyzer See scanner-algorithm.pptx (13.1 and 13.4)
Week 3 Grammars, derivations, and parse trees (13.1) Homework 2
Top-down parsing (recursive descent, removing left-recursion, LL(1)) See top-down-parsing.pptx
Week 4 Top-down parsing and the Datalog Parser Homework 3
Propositional logic, logical equivalences, tautologies, and contradictions (1.1, 1.2, and 1.3) Lexical Analyzer
Week 5 Predicates, quantifiers, and predicate logic equivalences (1.4) Homework 4
Validity, equivalences, locgical implications, and derivations (1.6) Datalog Parser Part 1
Week 6 Inference and resolution with predicate calculus and derivations (1.6 and 1.7) Homework 5
Solving Datalog queries with resolution and proof by contradiction Datalog Parser Part 2
Week 7 Resolution and inference
Relational Algebra (9.1, 9.2, and 9.3) See relational-algebra.pptx Midterm 1
Week 8 Closures, equivalence relations, and relational algebra (9.4, 9.5, 9.6) Homework 6
Relational algebra, relational databases, and Datalog Interpreter (9.5 and 9.6) Relational Database Part 1
Week 9 Equivalence relations and partial orders Homework 7
Graphs, adjacency lists, matrices, Warshall's algorithm, Floyd's algorithms (10.1 and 10.3) Relational Database Part 2
Week 10 Depth-first search, breadth first search, strongly connected components (10.4) Homework 8
Strongly connected components (section 3.4 of this chapter), and Optimizing Rule Evaluation
Week 11 Dijkstra's Algorithm (10.6)
Trees and tree traversal (11.1, 11.2, and 11.3) Midterm 2 and Datalog Interpreter Part 1
Week 12 Spanning trees and minimal spanning trees (11. 4 and 11.5) Homework 9
Minimal spanning trees (11.5) Datalog Interpreter Part 2
Week 13 Thanksgiving Break
Week 14 Induction (5.1, 5.2, 5.3) Homework 10
Induction (5.4 and 5.5) Optimizing Rule Evaluation Part 1
Week 15 Induction Homework 11
Course Wrap-up and Review Optimizing Rule Evaluation Part 2
Week 16 Finals Final

Spring 2019 Schedule

The schedule for Spring 2019, taught by Professor Aldous, can be found at Spring 2019 Schedule.

Fall 2018 Schedule

The schedule for Fall 2018, taught by Professors Woodfield and Aldous, can be found at Fall 2018 Schedule.

Winter 2014 Schedule

Winter 2013 Schedule

For reference, here is the Winter 2013 schedule used by Dr. Embley and Dr. Goodrich.