Lecture Notes for
Com Sci 221,
Programming Languages
Department of Computer Science
The University of Chicago
In addition to my standard
copyright statement, please
note that many of the ideas in these lecture notes are taken from the
textbook, Programming Languages: Concepts and Constructs, by
Ravi Sethi.
Last modified: Tue Mar 28 21:36:54 1995
General comments on the notes
(most comments belong with particular installments of the notes)
Special anchor symbols:
-
Technical note
-
Amusing anecdote, technical or just fun
-
Date of class lecture
The funny ruled line
indicates an approximate break from one class lecture to the next.
Table of Contents
The lectures
Introduction
Basic definitions regarding computers
and programming languages (Read 1.1-1.3 of the text)
Basic structural concepts in
programming languages (Read 1.4 of the text)
Specifying programming language
syntax (Read 1.5-1.6 and 10.1-10.2 of the text)
Evaluating expressions (Read
2.1-2.5 of the text; 11.1 is related optional reading)
Conventional programming languages based on assignment commands
(Read 3.1-3.3, 3.5-3.6 of the text)
Datatypes (Read 2.7, 3.4, 3.7-3.8, 4.7-4.8)
Procedure activations (Read 4.1-4.6)
Functional programming (Read 7.1-7.4, 7.7; Chapter 11 is related
optional reading)
Polymorphic typing (Read 7.5; Chapter 12 is related optional
reading)
Maintained by Michael J. O'Donnell, email:
odonnell@cs.uchicago.edu