Computer Science 433
Programming Languages
Fall 2012, The College of Saint Rose
"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.