Week # | Monday | Wednesday | Friday |
1 | Sept 25: Course introduction | Sept 27: Lisp: interaction, evaluation of expressions, lists, quoting and extra evaluation. | Sept 29: Lisp: S-expressions and functions, recursion, looping, functional programming, referential transparency. |
2 | Oct 2: Lisp: symbols, lexical and dynamic scoping, extent, local & global variables, LET, LET*. | Oct 4: Lisp: input and output, CGI programming in Lisp for the Web. Lisp warmup assignment due. | Oct 6: Lisp: explicit application of functions, closures, MAPCAR, EVAL. |
3 | Oct 9: Lisp: association lists, hashtables, data structures in Lisp. | Oct 11: Lisp: macros, pattern matching using Lisp. | Oct 13: Lisp quiz |
4 | Oct 16: Java Introduction. Lisp program due. | Oct 18: Java Objects, classes, inheritance, methods, Java basics. | Oct
20: Java Classes, modifiers public,
private, etc., access to members |
5 | Oct 23: Java collections classes and other utilities. | Oct
25: Java's Abstract Windowing Toolkit.
Java warmup assignment due. |
Oct 27: Java threads. |
6 | Oct 30: Java drawing programs. the PolyDraw applet .. | Nov 1: Java networking support .Java J2 milestone reports due | Nov 3: Java conclusion, miniproject discussion |
7 | Nov 6: Java Quiz | Nov 8: Perl: Introduction to Perl. | Nov
10: (Veterans Day holiday observed)
NO CLASS |
8 | Nov 13: Perl Regular expressions. Java J2 program due | Nov 15: Visual programming: control flow, data flow, rules, direct manipulation and abstract demonstration. | Nov 17: Perl: Lists, hashes, references, CGI processing. |
9 | Nov 20: Formal descriptions of syntax: BNF, EBNF; Types, type inference, polymorphism. | Nov 22: Programming as specifying computation.; Introduction to Logic programming. Short Perl program due. | Nov 24: (Thanksgiving Day holiday observed) NO CLASS |
10 | Nov 27: Logic programming examples. | Nov 29: Miscellaneous topics in programming languages. Mini-project milestone reports due. | Dec 1: Programming Languages and People: Design issues, ethical issues. |
11 | Dec 4: mini-project demonstrations. Meet in Sieg 232 to give your demonstration and do your peer reviews. | Dec
6: Last day of class
Review of language concepts. |
FINAL
EXAM
2:30-4:20 p.m. |
Revised: 27-Nov-2000 tanimoto@cs.washington.edu