Dana Vrajitoru     Office Hours

C311 Programming Languages


Week Homeworks Class Notes Textbook reading
assignments
Tests Due Dates
13. Homework 13 Parser Implementation
Compiler compiler
Sections 2.2 and 2.3 4/26/23
12. Homework 12 Parsers
Sections 2.2 and 2.3 Quiz 12 4/19/23
11. Homework 11 Regular grammars
Sections 2.2 and 2.3 Quiz 11 4/12/23
10. Homework 10
Class Exercise 3
Formal grammars
General recursive transformation
Sections 2.1 and 2.2 Quiz 10 4/5/23
9. Homework 9 Deep Recursion
Dynamic Programming
Catch-throw
Optional & unlimited function parameters
Sections 10.2, 10.5, 10.6 Quiz 8
Midterm: Wednesday, March 22
3/13/23
8. Homework 8
Class Exercise 2
Tail Recursion
Symbols in Lisp
Sections 10.2, 10.5, 10.6 Quiz 8
Midterm: Wednesday, March 22
3/8/23
7. Homework 7 Recursion
Symbols in Lisp
Sections 10.2, 10.5, 10.6 Quiz 7 3/1/23
6. Homework 6 Scope
Symbols in Lisp
Sections 10.2, 10.5, 10.6 Quiz 6 2/22/23
5. Homework 5 Scope
Mutator functions
Sections 10.2, 10.5, 10.6 Quiz 5 2/15/23
4. Homework 4 First class objects
Loops: while
Sections 10.2, 10.5, 10.6 Quiz 4 2/8/23
3. Homework 3 First class objects
Loops: dotimes and dolist
Sections 1.6, 10.2 Quiz 3 2/1/23
2. Homework 2 Introduction
Variables and functions in Lisp
Sections 1.1, 1.2, 1.3 Quiz 2 1/25/23
1. Lab 1
Homework 1
Common Emacs key bindings
Introduction to Lisp
Sections 1.1, 1.2, 1.3 Quiz 1 1/18/23

Links
Emacs Lisp interface - quick reference and links


Spring 2023 schedule: hybrid: asynchronous lecture, and W 10:00 - 11:15 am on Zoom and in person.

Prerequisites: C243 Data Structures and C335 Computer Structures.

Textbook: Programming Language Pragmatics, 3rd edition, by M. L. Scott. Morgan Kaufman, 2009.

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:

Course Objectives
The student who completes this course:


Last updated: January 2020.
dvrajito @ iusb . edu.