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:
- ANSI C:
- Ada:
- Scheme:
- Python:
- Ruby:
- Prolog: