Topics

Topics
hopcroft2
hopcroft3
Web links
15 Jan R/1 Languages as syntax, Grammars, Intro to LaTeX
20 Jan T/2 Logic review, Proofs 1.2
22 Jan R/2 Sets review; set equivalence, Functions and relations 1.3.1
27 Jan T/3 Contradiction proofs, Intro to Racket 1.3.2-1.3.4
29 Jan R/3 More Racket
03 Feb T/4 Recursive definitions, Integer induction, Racket lists and recursive functions 1.4.1
05 Feb R/4 Structural induction, More recursive functions 1.4.3-1.4.4
10 Feb T/5 Racket first-class functions, Languages as sets of strings 1.5
12 Feb R/5 Finite automata 2.1-2.2.1
17 Feb T/6 Accepting languages, Alternative DFA representations, Basics of Perl 2.2.2-2.2.5
24 Feb T/7 Nondeterministic finite-state automata, Regular expressions and FSAs 2.3.1-2.3.2, 2.5.1-2.5.2
26 Feb R/7 Regular expressions, Perl-compatible regular expressions 3.1
03 Mar T/8 Applications of regular expressions, Tokenising LISP-family languages 3.3
05 Mar R/8
17 Mar T/10 More FA practice
19 Mar R/10 The pumping lemma, Context-free grammars 4.1, 5.1-5.1.3
24 Mar T/11 Backus-Naur form, Grammars for Scheme, C, Perl, CFG derivations, Parse trees, Intro to C# 5.1.4-5.2.2
26 Mar R/11 Parsers, Parsing to abstract syntax trees, Syntax-driven semantics 5.3-5.3.1
31 Mar T/12 Review language translation pipeline, Interpreting vs compiling, Case-based code generation, C# and polymorphism
02 Apr R/12 Code generation cont'd
07 Apr T/13 Decidability, Turing machines 8.1, 8.2-8.2.3
09 Apr R/13 Basics of Haskell
14 Apr T/14 Type inference in Haskell
16 Apr R/14 Static and dynamic type checking, Lazy evaluation and currying in Haskell
21 Apr T/15 Lambda calculus, Church-Turing thesis
23 Apr R/15 Recursively enumerable languages, The halting problem, Review Big-O notation, Complexity and P 9.1-9.2, 10.0-10.1.2
28 Apr T/16 Recurrence relations in analysis, The Master theorem
30 Apr R/16 Verifiability, NP, and NP-completeness 10.1.3-10.2.1