
Schedule
Class 1: 1/26/99
- Course administration
- Course overview and goals
- Programming language paradigms
- Introduction to pseudocodes
- Reading: MacLennan text: Introduction & Chapter 1
- Reading: P. Wegner, Programming Languages -- The First 25
Years
- Homework 1 distributed -- Due Thursday, February 4
Class 2: 1/28/99
- Pseudocodes
- Introduction to FORTRAN
- Reading: MacLennan text: Chapter 2
- Reading: Handout on FORTRAN Statements
Class 3: 2/2/99
- Overview of the FORTRAN language
- Reading: MacLennan text: Chapter 3
- Reading: E. Dijkstra, Go To Statement Considered Harmful
Class 4: 2/4/99
- Introduction to ALGOL-60
- Block structure, static & dynamic scoping, parameter
passing
- Reading: P. Nauer, Report on the Algorithmic Language ALGOL
60
- Due: Homework 1
- Homework 2 distributed -- Due Thursday, February 11
Class 5: 2/9/99
- Finish evaluation of ALGOL-60
- Introduction to Pascal: overview and goals, data types
- Reading: MacLennan text: Chapter 5
Class 6: 2/11/99
- Introduction to Pascal
- Data structures and user defined types, control statements,
parameter passing
- Due: Homework 2
- Homework 3 distributed -- Due Thursday, February 18
Class 7: 2/18/99
- Introduction to C
- Using THINK C, on-line C Tutorial
- Reading: Various C books
- Due: Homework 3
- Homework 4 distributed -- Due Thursday, March 4
Class 8: 2/23/99
- Further introduction to C through the on-line tutorial
Class 9: 2/25/99
- Further introduction to C through the on-line tutorial
- Exam Review
Class 10: 3/2/99
- Exam I: in-class, open-book
- Coverage: Pseudocodes, Fortran, Algol, Pascal
Class 11: 3/4/99
- Completion of introduction to C
- Introduction to Ada: History and motivation
- Reading: MacLennan text: Chapter 7
- Due on Friday: Homework 4
Class 12: 3/9/99
- Introduction to Ada
- Reading: MacLennan text: Chapter 8
- Homework 5 distributed: Due Thursday, March 18
Class 13: 3/11/99
- Completion of introduction to Ada
- Introduction to LISP
- MAC CommonLisp (MCL) development environment
- Reading: MacLennan text: Chapter 9
Class 14: 3/16/99
- Introduction to CommonLISP
- Reading: MacLennan text: Chapters 9 and 10
- Reading: LISP documentation handouts
- Homework 6 distributed: Due Thursday, April 1
Class 15: 3/18/99
- Continuation of LISP introduction
- Reading: Winston and Horn text (pages listed in tutorials)
- Due: Assignment 5
Class 16: 3/30/99
- CommonLISP -- recursive functions and iteration
- Reading: MacLennan text: Chapters 9, 10, 11
Class 17: 4/1/99
- CommonLISP -- iteration, implementation of linked lists
- Writing a LISP interpreter in LISP
- Due: Assignment 6
- Homework 7 distributed: Problems 1, 2, 4: Due Thursday, April
8
- Homework 7 Problem 3: Due Tuesday, April 13
Class 18: 4/6/99
- CommonLISP -- dynamic scoping, writing LISP in LISP
- Introduction to SmallTalk -- History, interactive environment
- Reading: MacLennan text: Chapter 12
Class 19: 4/8/99
- The SmallTalk language
- Principles of Object-Oriented Programming
- Due: Assignment 7, Problems 1, 2, 4
Class 20: 4/13/99
- The SmallTalk language
- Object-Oriented vs Procedural Programming Paradigms
- Reading: Winston & Narasimhan "On to Java", on-line Java
documentation
- Due: Assignment 7, Problem 3
- Assignment 8 distributed: Draft for class discussion due
Tuesday, April 20
Class 21: 4/15/99
- Introduction to the Java language -- classes, methods and
inheritance
Class 22: 4/20/99
- Discussion of the Design Principles for the SmallTalk language
- Continuation of Java introduction
Class 23: 4/22/99
- Exam Review
- Graphical User Interfaces in Java
- Program Examples: GUIs, Nim
Class 24: 4/27/99
- Midterm Exam 2: Ada, LISP, SmallTalk
- Assignment 9 distributed: Due Thursday, May 6
Class 25: 5/4/99
- LISP Object System
- Multiple inheritance and using topological sort for function
identification
Class 26: 5/6/99
- Synopsis
- Assignment 9 due
[ Syllabus |
Instructor | Schedule
|Homework |
Students | Home ]