Schedule

Class 1: 1/26/99

  1. Course administration
  2. Course overview and goals
  3. Programming language paradigms
  4. Introduction to pseudocodes
  5. Reading: MacLennan text: Introduction & Chapter 1
  6. Reading: P. Wegner, Programming Languages -- The First 25 Years
  7. Homework 1 distributed -- Due Thursday, February 4

Class 2: 1/28/99

  1. Pseudocodes
  2. Introduction to FORTRAN
  3. Reading: MacLennan text: Chapter 2
  4. Reading: Handout on FORTRAN Statements

Class 3: 2/2/99

  1. Overview of the FORTRAN language
  2. Reading: MacLennan text: Chapter 3
  3. Reading: E. Dijkstra, Go To Statement Considered Harmful

Class 4: 2/4/99

  1. Introduction to ALGOL-60
  2. Block structure, static & dynamic scoping, parameter passing
  3. Reading: P. Nauer, Report on the Algorithmic Language ALGOL 60
  4. Due: Homework 1
  5. Homework 2 distributed -- Due Thursday, February 11

Class 5: 2/9/99

  1. Finish evaluation of ALGOL-60
  2. Introduction to Pascal: overview and goals, data types
  3. Reading: MacLennan text: Chapter 5

Class 6: 2/11/99

  1. Introduction to Pascal
  2. Data structures and user defined types, control statements, parameter passing
  3. Due: Homework 2
  4. Homework 3 distributed -- Due Thursday, February 18

Class 7: 2/18/99

  1. Introduction to C
  2. Using THINK C, on-line C Tutorial
  3. Reading: Various C books
  4. Due: Homework 3
  5. Homework 4 distributed -- Due Thursday, March 4

Class 8: 2/23/99

  1. Further introduction to C through the on-line tutorial

Class 9: 2/25/99

  1. Further introduction to C through the on-line tutorial
  2. Exam Review

Class 10: 3/2/99

  1. Exam I: in-class, open-book
  2. Coverage: Pseudocodes, Fortran, Algol, Pascal

Class 11: 3/4/99

  1. Completion of introduction to C
  2. Introduction to Ada: History and motivation
  3. Reading: MacLennan text: Chapter 7
  4. Due on Friday: Homework 4

Class 12: 3/9/99

  1. Introduction to Ada
  2. Reading: MacLennan text: Chapter 8
  3. Homework 5 distributed: Due Thursday, March 18

Class 13: 3/11/99

  1. Completion of introduction to Ada
  2. Introduction to LISP
  3. MAC CommonLisp (MCL) development environment
  4. Reading: MacLennan text: Chapter 9

Class 14: 3/16/99

  1. Introduction to CommonLISP
  2. Reading: MacLennan text: Chapters 9 and 10
  3. Reading: LISP documentation handouts
  4. Homework 6 distributed: Due Thursday, April 1

Class 15: 3/18/99

  1. Continuation of LISP introduction
  2. Reading: Winston and Horn text (pages listed in tutorials)
  3. Due: Assignment 5

Class 16: 3/30/99

  1. CommonLISP -- recursive functions and iteration
  2. Reading: MacLennan text: Chapters 9, 10, 11

Class 17: 4/1/99

  1. CommonLISP -- iteration, implementation of linked lists
  2. Writing a LISP interpreter in LISP
  3. Due: Assignment 6
  4. Homework 7 distributed: Problems 1, 2, 4: Due Thursday, April 8
  5. Homework 7 Problem 3: Due Tuesday, April 13

Class 18: 4/6/99

  1. CommonLISP -- dynamic scoping, writing LISP in LISP
  2. Introduction to SmallTalk -- History, interactive environment
  3. Reading: MacLennan text: Chapter 12

Class 19: 4/8/99

  1. The SmallTalk language
  2. Principles of Object-Oriented Programming
  3. Due: Assignment 7, Problems 1, 2, 4

Class 20: 4/13/99

  1. The SmallTalk language
  2. Object-Oriented vs Procedural Programming Paradigms
  3. Reading: Winston & Narasimhan "On to Java", on-line Java documentation
  4. Due: Assignment 7, Problem 3
  5. Assignment 8 distributed: Draft for class discussion due Tuesday, April 20

Class 21: 4/15/99

  1. Introduction to the Java language -- classes, methods and inheritance

Class 22: 4/20/99

  1. Discussion of the Design Principles for the SmallTalk language
  2. Continuation of Java introduction

Class 23: 4/22/99

  1. Exam Review
  2. Graphical User Interfaces in Java
  3. Program Examples: GUIs, Nim

Class 24: 4/27/99

  1. Midterm Exam 2: Ada, LISP, SmallTalk
  2. Assignment 9 distributed: Due Thursday, May 6

Class 25: 5/4/99

  1. LISP Object System
  2. Multiple inheritance and using topological sort for function identification

Class 26: 5/6/99

  1. Synopsis
  2. Assignment 9 due


[ Syllabus | Instructor | Schedule |Homework | Students | Home ]