University of Virginia, Department of Computer Science
CS655: Programming Languages
Spring 2000


Thursday, 20 January: Course Logistics, Goals for the Course, Programming Language Design
Thursday, 27 January: Operational Semantics
Tuesday, 1 February: History of Programming Languages, John's CS655 Project
Thursday, 3 February: All about Algol
Tuesday, 8 February: Algol68, Language Bugs and/or Features
Thursday, 10 February: Types of Types
Tuesday, 15 February: Data Abstraction
Thursday, 17 February: Smalltalk about Objects (What is Object-Oriented Programming?)
Tuesday, 22 February: Black Bears and Grizzly Bears (When is Subtyping Safe?)
Thursday, 24 February: Using Object-Oriented Languages
Tuesday, 29 February: Multiple Inheritance and Automated Delegation (guest lecture by John Viega)
Thursday, 2 March: Ps and Qs (Axiomatic Semantics and Program Verification)
Tuesday, 7 March: Proof-Carrying Code
Thursday, 9 March: Lambda Calculus
Tuesday, 21 March: Fixed Points
Thursday,23 March: Functional Languages
Tuesday, 4 April: Denotational Semantics
Thursday, 6 April: Type Inference
Tuesday, 11 April: Concurrency Primitives
Thursday, 13 April: Linda and JavaSpaces
Tuesday, 18 April: Aspect-Oriented Programming
Thursday, 20 April: John Thornley guest lecture
Tuesday, 25 April: Memory Management and Type Qualifiers
Thursday, 27 April: Wacky Paradigms
Tuesday, 2 May: Jeopardy (Don't look at this if you plan to take the course in the future!)

CS 655 University of Virginia
CS 655: Programming Languages
Last modified: Tue Feb 27 10:34:39 2001