Readings Schedule for Winter 2016
From the course outline:
- Course Materials
What the reading pace has been this semester:
- The course textbook is: The Anatomy of Programming Languages by
Alice E. Fischer and Frances S. Grodzinsky. It can be found online
Other useful information will be made available online thru the course
announcements web page. Material that we have access to through the
university's digital library subscriptions may require using
the library's proxy server as publishers frequently use IP addresses to
determine access rights.
- Course web page: The course web page can be found at:
On it are links to this course
outline and a frequently updated page of announcements relating to the course.
Marking is done on the assumption that people check
the announcements page of the course web page on a regular basis
(in particular, the day before anything is due).
So 1 - 11 and 13 will be the scope
of the final exam. There is more good stuff in the book that I encourage
you to read, but it looks like most of it relies on you first having
covered the material we are covering this semester; so this is what
we are doing with the time alotted for us to study programming languages
together. As the midterm should have indicated, there is lots of potential
questions related to using the languages we have practiced this semester
material in light of these languages (of which only Prolog gets much discussion
in the textbook, and not nearly as much as it deserves). As the textbook
author indicates in the preface to the book, quote:
- [W1] Tuesday 5 Jan 2016: Chapter 1 (announcements page 5 Jan) -- up to and including 1.3.6; highlights: Addresses the fundamental nature of language vis a vis the differences and similarities between programming languages and natural
- [W2] Tuesday 12 Jan 2016: Chapter 2 (announcements page 7 Jan) highlights: introduces the main themes of representation and abstraction that are frequently revisited throughout the text; also discusses how languages are designed and classified
- [W3] Tuesday 19 Jan 2016: Chapter 3 (announcements page 14 Jan) highlights: lays the groundwork for the discussion of syntax in Chapter 4
- [W4] Tuesday 26 Jan 2016: Chapter 4 (log file, 19 Jan) -- 12 Jan 2016 log mentions 4.4.1 skippable ; highlights: grammars, lambda calculus and The Abstract Machine
- [W5] Tuesday 2 Feb 2016: Chapter 13 (log file, 28 Jan 2016) highlights: automatic theorem proving and Prolog
- [W6] Tuesday 9 Feb 2016: Chapter 5 (announcements page 4 Feb) highlights: type as abstraction, history of type declarations
- 15 Feb 2016 -- 19 Feb 2016: Reading Week
- [W7] Tuesday 23 Feb 2016: Chapter 6 (announcements page 4 Feb) highlights: semantics of pointer assignment, the storage model
- [W8] Tuesday 1 Mar 2016: Chapter 7 (announced here 25 Feb) highlights: allocation and binding, implications for compilers and interpreters.
- [W9] Tuesday 8 Mar 2016: Chapter 8 (announced here 25 Feb) highlights: parsing rules and lazy versus strick evaluation
- [W10] Tuesday 15 Mar 2016: Chapter 9 (announced here 25 Feb) highlights: various ways parameters can be handled, higher-order functions
- [W11] Tuesday 22 Mar 2016: Chapter 10 (announced here 25 Feb) highlights: the iteration element, implicit iteration, and backtracking
- [W12] Tuesday 29 Mar 2016: Chapter 11 (announced here 25 Feb) highlights: continuations and exception processing.
- [W13] Tuesday 5 Apr 2016: --- no new reading for this part of a week
- Wednesday, 6 Apr 2016: Last day of classes for this term
- It is the belief of the authors that the student who has a good grasp of the structure of computer
languages will have the tools to master new languages easily.
- The specific goals of this book are to help students learn:
- To reason clearly about programming languages.
- To develop principles of communication so that we can evaluate the wisdom and utility of the decisions made in the process of language design.
- [pages xiii and xiv of our textbook]