Computer Science 433
Programming Languages

Fall 2012, The College of Saint Rose

Course Schedule

"Sebesta" indicates readings from Concepts of Programming Languages, Tenth Edition, by Robert W. Sebesta. Additional readings will be given occasionally. Links will be added here to an outline for each lecture, the full text of each lab assignment, PDFs of my notes for each topic, and to copies of additional readings when available electronically. Note: all assignment and exam dates are subject to change, and are provided only as a general guideline until the actual lab assignment or exam is handed out in class.

Date

Topic and/or Event Readings
August 27 Lecture 1: Introduction and Overview Sebesta Ch. 1, Ch. 2; Topic Notes: Introduction and Overview
August 29 Lecture 2: Overview of Languages; Program/Problem Set 1: Unix Commands [HTML] [PDF] Topic Notes: Overview of Languages
September 3 No Class: Labor Day
September 5 Lecture 3: C and Unix Topic Notes: C
September 10 Lecture 4: More Advanced C; Program/Problem Set 2: C Programming [HTML] [PDF]
September 12 Lecture 5: More Advanced C
September 17 Lecture 6: Syntax and Semantics Sebesta Ch. 3; Topic Notes: Syntax and Semantics
September 19 Lecture 7: Syntax Analysis; Program/Problem Set 3: Syntax [HTML] [PDF]
September 24 Lecture 8: Lexical Analysis Sebesta Ch. 4
September 26 Lecture 9: Lexical Analysis and Parsing
October 1 Lecture 10: Parsing and Lexical Analysis Review; Program/Problem Set 4: Tokenizer for Little C [HTML] [PDF]
October 3 Lecture 11: Parsing Wrapup; Introduction to Functional Programming and Scheme Sebesta Ch. 15.5; Topic Notes: Functional Programming with Scheme
October 8 No Class: Columbus Day
October 10 Lecture 12: More Scheme; Program/Problem Set 5: Parser for Little C [HTML] [PDF]
October 15 Lecture 13: Recursion and More in Scheme
October 17 Lecture 14: More Advanced Scheme
October 22 Lecture 15: Scheme Wrapup
October 24 Lecture 16: Exam Review; Language Project Out: [HTML] [PDF]
October 29 Midterm Exam (part in class and take-home portion out)
October 31 Lecture 17: Names and Binding; Midterm take-home portion due; Language Project Group formation deadline Sebesta Ch. 5; Topic Notes: Names and Binding
November 5 Lecture 18: Exam Recap; Wrapup of Names and Binding; Program/Problem Set 6: Names and Data Types [HTML] [PDF]; Language Project Proposals Due
November 7 Lecture 19: Data Types Sebesta Ch. 6; Topic Notes: Data Types
November 12 Lecture 20: More Data Types
November 14 Lecture 21: Data Type Wrapup; Expressions and Assignments; Program/Problem Set 7: Data Types, Expressions, and Assignments [HTML] [PDF] Sebesta Ch. 7; Topic Notes: Expressions and Assignment Statements
November 19 Lecture 22: Assignment Statements; Control Structures; Language Project Progress Reports Due Sebesta Ch. 8; Topic Notes: Control Structures
November 21 No Class: Happy Thanksgiving!
November 26 No Class: Happy Monday After Thanksgiving!
November 28 Lecture 23: Control Structures; Subprograms Sebesta Ch. 9; Topic Notes: Subprograms
December 3 Lecture 24: More Subprograms; Language Project Drafts Due Sebesta Ch. 10
December 5 Lecture 25: Generics and Encapsulation Sebesta Ch. 11, Ch. 12; Topic Notes: Encapsulation
December 10 Lecture 26: Language Project Minisymposium; Language Project Final Submissions Due, 4:00 PM
December 14 Minisymposium Wrapup and Final Exam, 10:45-1:15

Notes include information from Concepts of Programming Languages, 10th edition, Sebesta, 2012; David Goldschmidt; Darren Lim; Neal M. Mazur.