Week 1
-
Monday Jan 5, 2015
Due Today:
No homework due today.
No reading worksheet due today.
Announcements:
Readings:
Chapters 1 (pp 5-39), and 2.1 (pp 41-48)
Class Topic:
Inventory: Languages, types, features.
What makes a good language?
Introduction; Concrete & abstract syntax; Interpretation & Compilation.
Thanks to Andrew Tolmach for these notes (also in 4 up format).
Discussion of Reading exercises
Discussion of homework
Assigned today:
Homework #1. Due 4:00 PM, Monday, January 12, 2015
Reading worksheet #0 Chapters 1 (pp 5-39), and 2.1 (pp 41-48), Due wednesday, Jan 7.
-
Wednesday Jan 7, 2015
Due Today:
Reading worksheet #0 due today.
Announcements:
The D2L page for the class is now active.
Readings:
Chapter 6 (pp 217-287)
Class Topic:
Installing Python and Haskell (see guide to installing new languages).
Reading Ex0 discussion.
Finish introductory notes.
Assigned today:
Reading worksheet #1 for Chapter 6 (pp 217-287).
Week 2
-
Monday Jan 12, 2015
Due Today:
Homework #1.
Reading worksheet #1 for Chapter 6 (pp 217-287).
Announcements:
Winter 2015 Career Workshops.
Readings:
Chapter 6 (pp 217-287). Read this for Reading worksheet #1.
Class Topic:
Summary discussion about homework # 1.
Tim Sheards Haskell resource page.
Reading worksheet #1 discussion.
Imperative languages; Structured programming.
Thanks to Andrew Tolmach for these notes (also in 4 up format). Pages 1-22.
Assigned today:
Homework #2. Due 4:00 PM, Monday, January 19, 2015
-
Wednesday Jan 14, 2015
Due Today:
Announcements:
Class Topic
Axiomatic Semantics, pages 23 - 39 in notes (also in 4 up format).
Some additional reading material on Axiomatic semantics (Hoare Triples)
Wikipedia, Anders Moller.
Assigned today:
Reading worksheet #2 for Chapter 3.1-3.5 (pp 111-148).
Week 3
-
Monday Jan 19, 2015
Martin Luther King Holiday. No class today.
-
Wednesday Jan 21, 2015
Due Today:
Homework #2. Due 4:00 PM, Monday, January 19, 2015
Reading worksheet #2 for Chapter 3.1-3.5 (pp 111-148).
Announcements:
Intel Challenge. Join us for the Intel NUC Challenge @ PSU Kick-Off Event on Saturday, January 31 from 10am to 12pm in the EB Atrium.
Readings:
Chapter 3.1-3.5 (pp 111-148)
Class Topic:
Reading discussion.
Notes on environments, stores, and interpreters.
Binding; Scope; Storage; Operational semantics; Procedure
Thanks to Andrew Tolmach for these notes (also in 4 up format).
Assigned today:
Homework #3. Due 4:00 PM, Monday, January 26, 2015
Reading worksheet #3 for Chapter 8.1-8.3 and 8.5 (pp 383-408 and 417-425).
Week 4
-
Monday Jan 26, 2015
Due Today:
Homework #3. Due today.
Reading worksheet #3 Due today
Announcements:
Readings:
Chapter 8.1-8.3 and 8.5 (pp 383-408 and 417-425)
Class Topic:
On the structure of interpreters.
Discussion of reading.
Parameter Passing mechanism code(CBV, CBR, CBVR)
Assigned today:
Homework #4. Due 4:00 PM, Monday, Feb 2, 2015
Reading worksheet #4 for Chapters 3.6, 10, and 13 (pp 151-177; 503-543; and 649-724).
-
Wednesday Jan 28, 2015
Due Today:
Announcements:
Readings:
Chapter 8.1-8.3 and 8.5 (pp 383-408 and 417-425)
Class Topic:
Finish looking at parameter Passing mechanism code for call be value return.
Look over solution to Homework #3.
Thanks to Andrew Tolmach for these notes (also in 4 up format)
on Stacks; Calling conventions; Recursion; Exceptions.
Assigned today:
Week 5
-
Monday Feb 2, 2015
Due Today:
Homework #4 due today.
Reading worksheet #4 due today.
Announcements:
A practice exam is now available here.
See also the midterm from Andrew Tolmachs CS558 class,
especially question 8 on operational semantics!
Readings:
Chapters 3.6, 10, and 13 (pp 151-177; 503-543; and 649-724)
Class Topic:
Continue with notes on exceptions from last weeks notes (pp 27-35).
Discussion of reading.
The role of environments in scoping.
Functional languages; Scripting languages.
Thanks to Andrew Tolmach for these notes (also in 4 up format).
Here are some companion notes where the examples are in Haskell.
Assigned today:
Homework #5 due Feb 16 2015.
But, recall issues covered in this homework are fair game on the exam.
-
Wednesday Feb 4, 2015
Due Today:
Announcements:
Another practice exam (last years midterm) is now available here.
Readings:
Class Topic:
Discussion of the language with exceptions. Look at the code.
Thanks to Andrew Tolmach for these notes (also in 4 up format).
Here are some companion notes where the examples are in Haskell.
Assigned today:
Week 6
-
Monday Feb 9, 2015
Due Today:
Announcements:
Each student is allowed one (8.5 x 11.0 inch) page of notes at the midterm.
Other than that one page, the exam is closed book.
Readings:
Class Topic:
Open Question and Answer session.
Midterm Exam
Assigned today:
Nothing, but recall Homework #5 is due next week.
-
Monday Feb 11, 2015
Due Today:
Announcements:
Readings:
Class Topic:
Go over Midterm Exam.
Midterm
statistics.
Discuss the language E5.
Assigned today:
Nothing, but recall Homework #5 is due Feb. 16.
Week 7
-
Monday Feb 16, 2015
Due Today:
Homework #5 due today.
Announcements:
Readings:
Chapters 3.5 and 3.7 (pp 144-148; 159-161), Chapters 7.1 and 7.2 (pp 289-316)
Class Topic:
Return exam.
Type systems; Type checking; Polymorphism.
Thanks to Andrew Tolmach for these notes (also in 4 up format).
Assigned today:
Homework #6 due Feb 23 2015.
Reading worksheet #6 for Chapters 8.4 (pp 410-417)
-
Wednesday Feb 18, 2015
Due Today:
Announcements:
On monday I forgot the link to reading exercise 5. Everyone will
get 1 point for this exercise. You might want to review it.
Readings:
Class Topic:
Type systems; Type checking; Polymorphism continued.
Examine the code from Homework #6.
Additional notes using Haskell syntax.
Assigned today:
Week 8
-
Monday Feb 23, 2015
Due Today:
Homework #6 due today.
Reading worksheet #6 due today.
Announcements:
Readings:
Chapters 8.4 (pp 410-417)
Class Topic:
User defined types. Abstract data types. Modules; Separate compilation.
Notes on implementing user defined types.
Thanks to Andrew Tolmach for these notes (also in 4 up format).
Assigned today:
Homework #7 due March 2 2015.
Reading worksheet #7 for Chapter 9 (pp 449-499)
Week 9
-
Monday March 2, 2015
Due Today:
Homework #7 due today.
Reading worksheet #7 due today.
Announcements:
Readings:
Chapter 9 (pp 449-499)
Class Topic:
Object oriented languages
Thanks to Andrew Tolmach for these notes (also in 4 up format).
Assigned today:
Homework #8 due March 9 2015.
Reading worksheet #8 Chapter 7.7.3 pp 357-367
-
Wednesday March 4, 2015
Due Today:
Announcements:
Google summer of code. PSU website.
Readings:
Class Topic:
Object oriented languages
Notes on OO principles with E8.
Assigned today:
Week 10
-
Monday March 9, 2015
Due Today:
Homework #8 due today
Reading worksheet #8 due today
Announcements:
Readings:
Chapter 7.7.3 pp 357-367
Class Topic:
Garbage Collection
Some notes on Garbage Collection
Questions from the audience
The final Exam next week. Here is a practice Final Exam.
Course questionaires at final exam
Final exam Study Guide.
Assigned today:
No homework assigned today
-
Monday March 16, 2015
Final Exam period 1730-1920 (5:30 pm -> 7:20 pm)
NOTE, the University final exam schedule is not the same as normal class hours!