Computer Science 433
Programming Languages

Fall 2014, 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 25 Lecture 1: Introduction and Overview Sebesta Ch. 1, Ch. 2; Topic Notes: Introduction and Overview
August 27 Lecture 2: Overview of Languages; Program/Problem Set 1: Unix Commands [HTML] [PDF] Topic Notes: Overview of Languages
September 1 No Class: Labor Day
September 3 Lecture 3: Syntax and Semantics Sebesta Ch. 3; Topic Notes: Syntax and Semantics
September 8 Lecture 4: Syntax Analysis; Lexical Analysis; Program/Problem Set 2: Syntax [HTML] [PDF] Sebesta Ch. 4
September 10 Lecture 5: Lexical Analysis
September 15 Lecture 6: Parsing; Program/Problem Set 3: Tokenizer for Little C [HTML] [PDF]
September 17 Lecture 7: Parsing Wrapup; Program/Problem Set 4: Parser for Little C [HTML] [PDF]
September 22 Lecture 8: Functional Programming with Scheme Topic Notes: Functional Programming with Scheme
September 24 Lecture 9: More Scheme
September 29 Lecture 10: Recursion and More Advanced Scheme
October 1 Lecture 11: Scheme Wrapup; Program/Problem Set 5: Scheme [HTML] [PDF]
October 6 Lecture 12: Backtracking in Scheme; Names and Binding; Program/Problem Set 5: Backtracking [HTML] [PDF] Sebesta Ch. 5; Topic Notes: Names and Binding
October 8 Lecture 13: Names and Binding
October 13 No Class: Columbus Day
October 15 Lecture 14: Exam Review; Language Project Out: [HTML] [PDF]
October 20 Midterm Exam
October 22 Lecture 15: Names and Bindings Wrapup; Data Types; Program/Problem Set 7: Names and Data Types [HTML] [PDF] Sebesta Ch. 6; Topic Notes: Data Types
October 27 Lecture 16: Data Types
October 29 Lecture 17: Data Type Wrapup
November 3 Lecture 18: Data Type Wrapup Wrapup (Almost); Program/Problem Set 8: Data Types, Expressions, and Assignments [HTML] [PDF]
November 5 Lecture 19: Data Type Wrapup Wrapup (Really); Expressions and Assignments Sebesta Ch. 7; Topic Notes: Expressions and Assignment Statements
November 10 Lecture 20: Control Structures Sebesta Ch. 8; Topic Notes: Control Structures
November 12 Lecture 21: Subprograms; Program/Problem Set 9: Control and Subprograms [HTML] [PDF] Sebesta Ch. 9; Topic Notes: Subprograms
November 17 Lecture 22: More Subprograms Sebesta Ch. 10
November 19 Lecture 23: Subprograms Wrapup; Encapsulation Sebesta Ch. 11; Topic Notes: Encapsulation
November 24 Lecture 24: Object-Oriented Programming Support Sebesta Ch. 12; Topic Notes: Object-Oriented Programming Support
November 26 No Class: Happy Thanksgiving!
December 1 Lecture 25: OOP Wrapup; Course Wrapup and Review
December 3 Final Exam In-Class, and Take-Home Portion out
December 8 Language Project Minisymposium, Part 1 (regular class time, AH 205), Final Exam Take-Home Portion due
December 8 Language Project Minisymposium, Part 2 (6:00-8:00 PM, AH 302)

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