CS 558 - Programmin Languages - Daily Record - Winter Term 2016

Basic Course Information

CRN:         41014
Course No.   CS558
Course Name. Programming Languages (3 cr)
Department   course description.
Class        Syllabus
Times:       Monday & Wednesday  08:15-9:30 AM
Place:       Neuberger Hall 341
Textbook:    Programming Language Pragmatics (3rd edition), by Michael L. Scott, ISBN 13:978-0-12-374514-9
Professor:   Tim Sheard
Office:      FAB 120-04
Phone:       503-725-2410
Office Hrs   Thursday 10-12 am.   I am also availiable by appointment, just email and set one up.
Email:        ?


TA: 		Clarissa Littler <>
Email:  	clarissa.littler@gmail.com
Office Hrs	Monday and Wednesday 2:00 pm til 4:00 pm


Language Resources


Daily Record

    Week 1
  1. Monday Jan 4, 2016
    Due Today:
            No homework due today.
            No reading worksheet due today.
    Announcements:
    	Due to bad weather, the opening of PSU is delayed til 10:00 AM.
    	We will meet for the first time Wednesday Jan 6.
    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 8:00 AM, Monday, Jan 11, 2016
            Reading worksheet #0 Chapters 1 (pp 5-39), and 2.1 (pp 41-48), Due wednesday, Jan 6.
    
    
  2. Wednesday Jan 6, 2016
    Due Today:
            Reading worksheet #0 due today.
    Announcements:
    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
  3. Monday Jan 11, 2016
    Due Today:
            Homework #1.
            Reading worksheet #1 for Chapter 6 (pp 217-287).
    Announcements:
    	CS department Town Hall, Thursday Jan 14, 3:00-4:00PM, Room 86-01, News and Q.A witht the Dept. Head.
    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 8:00 AM, Wednesday, Jan 20, 2016
    
  4. Wednesday Jan 13, 2016
    Due Today:
    Announcements:
    	Tomoorow! CS department Town Hall, Thursday Jan 14, 3:00-4:00PM, Room 86-01, News and Q.A witht the Dept. Head.
    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
  5. Monday Jan 18, 2016
    Martin Luther King Holiday. No class today.
    
  6. Wednesday Jan 20, 2016
    Due Today:
            Homework #2. Due 8:00 AM, Wednesday, Jan 20, 2016
            Reading worksheet #2 for Chapter 3.1-3.5 (pp 111-148).
    Announcements:
    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 8:00 AM, Monday, Jan 25, 2016
            Reading worksheet #3 for Chapter 8.1-8.3  and 8.5  (pp 383-408  and  417-425).
    
    Week 4
  7. Monday Jan 25, 2016
    Due Today:
            Homework #3. Due date extended to Wed Jan 27.
            Reading worksheet #3 Due today
    Announcements:
    	The due date foir HW3 has been extended til Wednesday Jan 27.
    	HW 4 is still due Monday Feb 1.
    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 8:00 AM, Monday, Feb 1, 2016
            Reading worksheet #4 for Chapters 3.6, 10, and 13  (pp 151-177;  503-543; and  649-724).
    
  8. Wednesday Jan 27, 2016
    Due Today:
    	Homework #3. 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
  9. Monday Feb 1, 2016
    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 8:00 AM, Monday Feb 15 2016.
               But, recall issues covered in this homework are fair game on the exam.
    
    
  10. Wednesday Feb 3, 2016
    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
  11. Monday Feb 8, 2016
    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.
    
    
  12. Wednesday Feb 10, 2016
    Due Today:
    Announcements:
    Readings:
    Class Topic:
            Go over Midterm Exam.
                    Midterm statistics.
            Discuss the language E5.
    Assigned today:
            Reading worksheet #5 due Monday Feb 15.
            Recall Homework #5 is also due Feb 15.
    
    
    Week 7
  13. Monday Feb 15, 2016
    Due Today:
            Homework #5 due today.
            Reading worksheet #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 22 2016.
            Reading worksheet #6 for Chapters 8.4  (pp 410-417)
    
    
  14. Wednesday Feb 17, 2016
    Due Today:
    Announcements:
    Readings:
    Class Topic:
            Type systems; Type checking; Polymorphism continued.
            Examine the code from Homework #6.
            Additional notes using Haskell syntax.
    Assigned today:
    
    Week 8
  15. Monday Feb 22, 2016
    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 Feb 29 (Leap day) 2016.
            Reading worksheet #7 for Chapter 9 (pp 449-499)
    
    
    Week 9
  16. Monday Feb 29 (Leap day), 2016
    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 7 2016.
            Reading worksheet #8 Chapter 7.7.3 pp 357-367
    
    
    
  17. Wednesday March 2, 2016
    Due Today:
    
    
    Announcements: Summer Intern opportunity.
    Readings:
    Class Topic:
            Object oriented languages
            Notes on OO principles with E8.
    Assigned today:
    
    Week 10
  18. Monday March 7, 2016
    Due Today:
            Homework #8 due today
            Reading worksheet #8 due today
    Announcements:
    	Course questionaires now available online.
    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.
            	Here is last years exam.
            Final exam Study Guide.
    Assigned today:
            No homework assigned today
    
    

  19. Monday March 14, 2016
    Final Exam period 8:00-9:50  AM
    NOTE, the University final exam schedule is not the same as normal class hours!
    Final exam statistics.  Cumulative course average statistics.
    
    

Back to the class web-page.