CS320/520N: Organization of Programming Languages
Winter 2010


Time and Location: Mon, Tue, Thu, Fri 9:10am &ndash 10:00am, ARC 315
Instructor: Razvan Bunescu
Office: Stocker 337
Office Hours: Mon, Thu 10am &ndash 12pm, or by email appointment
Email: bunescu @ ohio edu

Textbook:
  • Concepts of Programming Languages (9th edition) by Robert W. Sebesta. Addison-Wesley, 2009.

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

  • Prerequisites:
  • CS240B (Introduction to Computer Science)
  • CS300 (Discrete Structures)

  • Course description:
    This course introduces the fundamental syntactic and semantic concepts underlying modern programming languages. The imperative, object-oriented, 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: Resources: