Dana Vrajitoru

C311 Programming Languages

Final: Thursday, December 11, 2008.


Week Homeworks Labs Reading assignments / Slides
15. Introduction to Prolog
Topics on Languages
Semantics, attribute grammars, target code optimization
14. Homework 12 Lab 2 Compiler compilers
Lisp special functions, buffers
12. Homework 11 Parser implementation
11. Homework 10 Parsers
10. Homework 9 Regular Grammars, Scanner, DFA
Introduction to Formal Grammars
9. Homework 8 Lisp Type Checking, Optional Parameters, Function Invocation
General Transformation of Recursive Functions
7. Homework 7 Dynamic Programming
Transformation, deep recursion
6. Homework 6 Lisp Lambda expressions, map, function indirection
5. Homework 5 Tail Recursion
Lisp Arrays, Equality Predicates, Symbols, Associative Lists
4. Homework 4 Lisp conditional, mutators, while loop
Introduction to recursion
3. Homework 3 Lisp input-output, loops
Name, scope, binding
2. Homework 2 First Class Objects
Lisp variables, functions, conditional
1. Homework 1 Lab 1 Introduction to Lisp
Introduction
Sections 1.1, 1.2, 1.3 from the textbook.

Links
Emacs Lisp interface - quick reference and links


Fall 2008 schedule: TR 4 - 5:15 pm NS 225

Prerequisites: C243 Data Structures and C335 Computer Structures.

Textbook: Programming Language Pragmatics, 2nd edition, by M. L. Scott. Morgan Kaufmann, 2006.

Generic Syllabus

Course description:Design and implementation of programming languages: syntax; semantics; comparison of programming paradigms such as imperative, functional, logic, and object oriented. Implementation of concepts such as binding, scope, looping, branching, subprograms and parameter passing, tasks and concurrency, heap management, exception handling, templates, inheritance, overloading.

Grading system:

Guidelines for assignments:

Programming environment:


Last updated: August 25, 2008.
danav@cs.iusb.edu.