Week # | Monday | Wednesday | Friday |
1 | Jan 3: Course introduction | Jan 5: Lisp: Interaction, evaluation of expressions, lists, quoting and extra evaluation. | Jan 7: Lisp: S-expressions and functions, recursion, looping, functional programming, referential transparency. |
2 | Jan
10: Lisp: Symbols, lexical and dynamic scoping, extent, local &
global variables, LET, LET*.
Lisp warmup assignment due. |
Jan 12: Lisp: Explicit application of functions, closures, MAPCAR, EVAL. | Jan 14: Lisp: association lists, hashtables, data structures in Lisp, Input & Output. |
3 | Jan
17 (Martin Luther King Day):
NO CLASS |
Jan 19: Lisp: Macros, pattern matching using Lisp. | Jan 21: Lisp quiz |
4 | Jan
24: Java Introduction
Lisp program due. |
Jan 26: Java Objects, classes, inheritance, methods, Java basics. (Budd Ch.1-4) | Jan
28: Java (Budd Ch. 5-8), Classes, modifiers public,
private, etc., access to members. |
5 | Jan
31: Java's Abstract Windowing Toolkit
Java warmup assignment due. |
Feb 2: Java drawing programs. the PolyDraw applet (read Ch. 12-13) | Feb 4: Java threads (read Ch. 14-16) |
6 | Feb 7: Java (Ch. 17-21) collections classes and other utilities. Java J2 milestone reports due. | Feb 9: Java networking support | Feb 11: Java conclusion, miniproject discussion |
7 | Feb 14: Java Quiz | Feb 16: Visual programming: control flow, data flow, rules, direct manipulation and abstract demonstration. Java J2 program due | Feb
18: Perl: Introduction to Perl
(Schilli, pp.1-7, other sections as needed for the homework.) |
8 | Feb 21 (Presidents Day):NO CLASS | Feb 23: Perl Regular expressions (Schilli, pp.55-62). | Feb
25: Perl: : Lists, hashes, references, CGI processing (Schilli,
pp.7-37, 293-309).
Short Perl program due. |
9 | Feb 28: Formal descriptions of syntax: BNF, EBNF; Types, type inference, polymorphism. | Mar 1: Programming as specifying computation.; Introduction to Logic programming | Mar 3: Logic programming |
10 | Mar 6: Programming Languages and People: Design issues, ethical issues. | Mar
8: mini-project demonstrations. Meet in Sieg 232 to give your demonstration
and do your peer reviews.
|
Mar
10: Last day of class
Review of language concepts. Mini-project reports due electronically at 6:00 PM. |
11 | Mar
13: FINAL EXAM
8:30-10:20 a.m. |
Revised: 4-Mar-2000 tanimoto@cs.washington.edu