CS 3200/5200N: Organization of Programming Languages
Spring 2016

Time and Location: Tue, Thu 12:00pm – 1:20pm, WALT 245
Instructor: Razvan Bunescu
Office: Stocker 341
Office Hours: Tue, Thu 10:30 – 11:30am, or by email appointment
Email: bunescu @ ohio edu

Teaching Assistant: Sadegh Mirshekarian (sm774113 @ ohio edu)
Office: Stocker 285
Office Hours: Mon, Wed 9:00 – 10:30am, or by email appointment

  • Programming Language Pragmatics (3rd edition) by Michael L. Scott. Elsevier/Morgan Kaufmann, 2009.

  • Recommended Supplementary Text:
  • Compilers: Principles, Techniques, & Tools (2nd edition) by Aho, Lam, Sethi, and Ullman. Addison-Wesley, 2007.

  • Prerequisites:
  • CS 2650 and (CS 3000 or MATH 3050) and C or better in CS 2401

  • Course description:
    This course introduces the fundamental syntactic and semantic concepts underlying modern programming languages. The imperative, functional and logic programming paradigms will be discussed, with illustrative examples in C/C++, Java, Ada, Scheme, Python, and Prolog.
    Major topics include:
  • Context Free Grammars, Lexical Analysis and Syntactic Parsing.
  • Bindings, Type Checking and Scopes.
  • Expressions, Control Structures and Functions.

  • Lecture notes:
    Sample Exams: Resources: