CSE 341: Winter 2000

Day by Day Schedule of Topics and Quizzes (subject to change)

Unless otherwise noted: assignments should be turned in as hardcopy at the beginning of class on the days indicated.
 
 
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