| Week | Homeworks | Labs | Reading assignments / Slides |
| 9. | Homework 10 | Parser Regular grammars Grammars | |
| 9. | Homework 9 | General transformation Lisp Optional parameters, explicit function invocation | |
| 8. | Homework 8 Midterm | Dynamic Programming Transformations, deep recursion | |
| 7. | Homework 7 | Lambda expressions, mapc and mapcar copy_list.el | |
| 6. | Homework 6 | Tail Recursion Recursion Symbols, arrays, associative lists | |
| 5. | Homework 5 | While loop, mutators, complex conditional | |
| 4. | Homework 4 | Name, scope, binding | |
| 3. | Homework 3 | Lisp input, output, loops First class objects | |
| 2. | Homework 2 | 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
Prerequisites: C243 Data Structures and C335 Computer Structures.
Textbook: Programming Language Pragmatics, 3rd edition, by M. L. Scott. Morgan Kaufman, 2008.
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: