Topics

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