[back]

Midterm Exam 2 Prep Material

Practice Exams

Topics

  • everything from the Midterm 1 topics list
  • Higher-order programming
    • anonymous functions
    • functions as arguments
    • map, filter, fold
    • the abstraction principle
  • formal grammar
    • parse trees
    • precedence
    • associativity
    • grammatical ambiguity
    • S-expressions
    • concrete vs. abstract syntax
  • formal semantics
    • small-step semantics
    • multi-step semantics
    • big-step semantics
    • semantic judgments
    • semantic derivations
    • traces
    • deterministic vs. non-deterministic semantics
  • λ-calculus
    • β-reduction
    • capture-avoiding substitution
    • α-equivalence
    • free & bound variables
    • normalization vs. non-normalization
  • Evaluation strategies
    • parameter passing
    • small-step CBV semantics
    • big-step CBV semantics
    • small-step CBN semantics
    • big-step CBN semantics
    • benefits and downsides to CBV and CBN
  • STLC
    • typing judgments
      • contexts
    • typing derivations
    • basic properties of STLC
      • type uniqueness
      • well-scopedness