Hi There!

I'm Dan Schlegel, an Associate Professor in the Computer Science Department at SUNY Oswego

Final Exam Study Guide

  • Concepts
    • Syntax
      • BNF
    • Object orientation
      • Concepts in Python
      • Traits
      • Case classes
      • Information hiding
        • Nested functions, classes, modules
      • Multiple inheritance
        • Diamond problem
        • Approaches taken by different languages
    • Type systems
      • Type conversion
      • Type equivalence
      • Determining types (type inference)
      • Optional type
    • Dynamic vs static
      • Scope
      • Method binding
      • Typing
    • Logic programming concepts
      • Unification
      • Backtracking, derivation trees [We drew a couple of them on the board, see the Prolog tutorial for more]
    • Functional programming concepts
      • Lambdas
      • Closures
      • Code is data is code
    • Scripting Languages
      • Characteristics / uses
  •  Languages
    • All of them we’ve used – focus on Scala, Prolog, Python