Programming Languages (CSC-302 99S)

Course Syllabus

This is a highly approximate syllabus. Expect topics, assignments, ordering, and almost everything else to change.

Week One: Language Design

Class 01 (Monday, January 25) Introduction

Class 02 (Wednesday, January 27) A Brief History of Programming Languages

Class 03 (Friday, January 29) Design Issues

Week Two: Functional Programming

Class 04 (Monday, February 1) Introduction to Functional Programming

Class 05 (Wednesday, February 3) Untyped Functional Programming in Scheme

Class 06 (Friday, February 5) Laboratory Session: Scheme

Week Three: Continuations

Class 07 (Monday, February 8) Continuations

Class 08 (Wednesday, February 10) Continuations, Continued

Class 09 (Friday, February 12) Continuations, Continued

Week Four: Semantics

Class 10 (Monday, February 15) Continuations, Nearly Concluded

Class 11 (Wednesday, February 17) Introduction to Formal Semantics

Class 12 (Friday, February 19) Introduction to Denotational Semantics

Week Five: Semantics, Continued

Class 13 (Monday, February 22) Denotational Semantics, Continued

Class 14 (Wednesday, February 24) The Semantics of SIMPLE

Class 15 (Friday, February 26) Scheme Semantics (1)

Week Six: Miscellaneous

Class 16 (Monday, March 1) Scheme Semantics (2)

Class 17 (Wednesday, March 3) Program Verification

Class 18 (Friday, March 5) Scheme Semantics (3)

Week Seven: Functional Programming, Concluded

Class 19 (Monday, March 8) Another Perspective: FP

Class 20 (Wednesday, March 10) FP, Continued

Class 21 (Friday, March 12) Functional Programming, Concluded

Week Eight: Logic Programming

Class 22 (Monday, March 15) Introduction to Logic Programming

Class 23 (Wednesday, March 17) Logic Programming, Continued

Class 24 (Friday, March 19) Prolog


Break runs from 5:00 p.m. on Friday, March 19, 1998 to 8:00 a.m. on Monday, April 5.

Week Nine: Syntax

Class 25 (Monday, April 5) Prolog, Concluded

Class 26 (Wednesday, April 7) Languages and Grammars

Class 27 (Friday, April 9) An Expression Grammar

Week Ten: Types

Class 28 (Monday, April 12) Discussion of Exam 2

Class 29 (Wednesday, April 14) Ambiguous Grammars, Concluded

Class 30 (Friday, April 16) Data Types (I)

Week Eleven: More Types

Class 31 (Monday, April 19) Data Types (II)

Class 32 (Wednesday, April 21) Type Checking

Class 33 (Friday, April 23) Object-Oriented Programming

Week Twelve: Control

Class 34 (Monday, April 26) Control

Class 35 (Wednesday, April 28) Conditionals and Loops

Class 36 (Friday, April 30) Procedures and Parameter Passing

Week Thirteen: Student Presentations

Class 37 (Monday, May 3) Discussion of Exam 3

Class 38 (Wednesday, May 5) Student Presentation: Smalltalk

Class 39 (Friday, May 7) Student Presentation: Exceptions

Week Fourteen: Wrapup

Class 40 (Monday, May 10) Student Presentation: Garbage Collection

Class 41 (Wednesday, May 12) Student Presentation: Perl

Class 42 (Friday, May 14) Wrapup


The final examination for this course is optional. It can be used as a makeup for one examination. Like the other examinations, it will be a take-home examination.

Disclaimer Often, these pages were created ``on the fly'' with little, if any, proofreading. Any or all of the information on the pages may be incorrect. Please contact me if you notice errors.

This page may be found at

Source text last modified Wed Apr 21 09:07:33 1999.

This page generated on Sat May 8 08:50:17 1999 by SiteWeaver. Validate this page's HTML.

Contact our webmaster at