Final Review
Final Exam: Sat. Apr 21 @ 12:00 noon - 3:00 pm, SWH 10041
The final exam will emphasize the following topics.
- Symbolic Computing techniques in Haskell
- Definition of symbolic data domains as algebraic data types.
- Recursive Haskell algorithms on symbolic data domains.
- Grammars of symbolic data domains and the relationship between concrete and abstract syntax.
- Parsing and unparsing
- Programming Languages as Symbolic Domains
- Environments, Evaluation and Interpretation
- Symbolic Logic and Theorem Proving
- Strongly-Typed Functional Programming with Haskell
- Polymorphic type signatures
- List processing with higher-order functions: map and friends
- Haskell Type Classes
Detailed familiarity with the following notes will be assumed.
Symbolic Computing Techniques, Regular Expressions, Algebraic Expressions
- Regular Expressions Introduction
- Simpleton Regular Expression Matching in Haskell
- Simpleton Regular Expression Matching (continued)
- Parsing: From Symbolic Text to ASTs
- Symbolic Data Domains: Concrete and Abstract Syntax
- The Inside-Out Simplification Method
- Modelling Programming Languages as Symbolic Data
- Lexical Analysis and Parsing
- Symbols and Environments
- The Small Lisp Interpreter in Small Lisp
- Lisp-in-Lisp Representation: Small Lisp
- Symbolic Logic
- Wang Algorithm
- Wang Algorithm Example
- Predicate Calculus: Conjunctive Normal Form
Functional Programming with Haskell
- List Processing with Polymorphism and Functionals
- List Processing Continued: Folds, Comprehensions and Beyond
- Haskell Type Classes
- Applying Functions to Wrapped Values
Assignments
You will be assumed to have thorough familiarity with the assignments and the instructor solutions for assignments 1 through 3.
Updated Mon April 09 2018, 12:22 by cameron.