...
| Day | Date(2009) | Topic | Reading | Lectures | Problems | Due(2009) | Lab | Supplements | |
1 | Mon | Jan 11 | Introduction |
| W Jan 13 | |||||
2 | Wed | Jan 13 | Scheme primitives; function and data definitions | W Jan 20 |
|
|
| |||
3 | Fri | Jan 09 | Inductive data, conditionals, and the design recipe |
|
|
|
|
| ||
4 | Mon | Jan 12 | Data-directed design I |
|
|
|
| |||
5 | Wed | Jan 14 | Data-directed design II \ | |||||||
L 5 \ | ||||||||||
HW 2 (Solution to 12.4.2 (https:wikiriceedudisplayCSWIKI2111242solss)) \ | ||||||||||
Th Jan 22\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
6 | Fri | Jan 16 \ | ||||||||
Mutually Referential Data Definitions \ | ||||||||||
L 6 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
- | Mon | Jan 19 \ | ||||||||
School Holiday \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
7 | Wed | Jan 21 \ | ||||||||
Local definitions and Lexical Scope \ | ||||||||||
L 7 \ | ||||||||||
HW 3 \ | ||||||||||
Mon Feb 2\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
8 | Fri | Jan 23 \ | ||||||||
Functional Abstraction and Polymorphism \ | ||||||||||
L 8 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
9 | Mon | Jan 26 \ | ||||||||
Functions as Values \ | ||||||||||
L 9 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
Lab 3 \ | ||||||||||
\ | ||||||||||
10 | Wed | Jan 28 \ | ||||||||
Lambda the Ultimate \ | ||||||||||
L 10 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
11 | Fri | Jan 30 \ | ||||||||
Generative Recursion \ | ||||||||||
L 11 \ | ||||||||||
HW 4 \ | ||||||||||
Mon Feb 9 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
12 | Mon | Feb 02 \ | ||||||||
Generative Recursion Illustrated \ | ||||||||||
L 12 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
13 | Wed | Feb 04 \ | ||||||||
Complexity and Accumulators \ | ||||||||||
L 13 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
14 | Fri | Feb 06 \ | ||||||||
Accumulators and Tail Calls\ | ||||||||||
L 14 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
15 | Mon | Feb 09 \ | ||||||||
Review and First-Class Functions\ | ||||||||||
Review prior readings\ | ||||||||||
L 15 \ | ||||||||||
HW 5 \ | ||||||||||
Mon Feb 16 \ | ||||||||||
Lab 5 \ | ||||||||||
16 | Wed | Feb 11 \ | ||||||||
Powerful Functionals \ | ||||||||||
Review prior readings \ | ||||||||||
L 16 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
17 | Fri | Feb 13 \ | ||||||||
Exam Review \ | ||||||||||
Review prior readings \ | ||||||||||
L 17 \ | ||||||||||
Take-home exam \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
18 | Mon | Feb 16 \ | ||||||||
On to Java\ | ||||||||||
OO Design Notes, Ch 1.1-1.4.1 \ | ||||||||||
L 18 \ | ||||||||||
Mon Feb 23 \ | ||||||||||
Lab 6 \ | ||||||||||
parse/unparse (https:wikiriceedudisplayCSWIKI211parsess)\ | ||||||||||
19 | Wed | Feb 18 \ | ||||||||
Java Design Recipe \ | ||||||||||
OO Design Notes, Ch 1.1-1.4 \ | ||||||||||
L 19 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
20 | Fri | Feb 20 \ | ||||||||
Defining Inductive Data in Java \ | ||||||||||
OO Design Notes, Ch 1.5\ | ||||||||||
L 20 \ | ||||||||||
HW 7\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
IntList (https:wikiriceedudisplayCSWIKI211IntListdj0)IntListTest (https:wikiriceedudisplayCSWIKI211IntListTestdj0) \ | ||||||||||
21 | Mon | Feb 23 \ | ||||||||
Static Class Members and the Singleton Pattern\ | ||||||||||
OO Design Notes, Ch 1.6\ | ||||||||||
L 21 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
Lab 7 \ | ||||||||||
ObjectList (https:wikiriceedudisplayCSWIKI211ObjectListdj1)ObjectListTest (https:wikiriceedudisplayCSWIKI211ObjectListTestdj1)\ | ||||||||||
22 | Wed | Feb 25 \ | ||||||||
Polymorphism and Interfaces \ | ||||||||||
OO Design Notes, Ch 1.8\ | ||||||||||
L 22 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
ComparableList (https:wikiriceedudisplayCSWIKI211ComparableListdj1)ComparableListTest (https:wikiriceedudisplayCSWIKI211ComparableListTestdj1)\ | ||||||||||
23 | Fri | Feb 27 \ | ||||||||
Loose Ends and First-class Functions \ | ||||||||||
OO Design Notes, Ch 1.9-1.10, 1.12\ | ||||||||||
L 23 \ | ||||||||||
HW 8 \ | ||||||||||
Fri Mar 13 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
24 | Mon | Mar 9 \ | ||||||||
The Strategy and Visitor Patterns \ | ||||||||||
OO Design Notes, Ch 1.9, 1.11\ | ||||||||||
L 24 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
IntList.dj1 (https:wikiriceedudisplayCSWIKI211IntListdj1)IntListTest.dj1 (https:wikiriceedudisplayCSWIKI211IntListTestdj1) \ | ||||||||||
25 | Wed | Mar 11 \ | ||||||||
Visitors, Visitors, Vistors ... \ | ||||||||||
OO Design Notes, Ch 1.11\ | ||||||||||
L 25 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
26 | Fri | Mar 13 \ | ||||||||
Full Java \ | ||||||||||
OO Design Notes, Ch 1.13\ | ||||||||||
L 26 \ | ||||||||||
HW 9 \ | ||||||||||
Wed Mar 25 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
27 | Mon | Mar 16 \ | ||||||||
Visibility, Type-Checking, and Generics\ | ||||||||||
OO Design Notes, Ch. 1.10, 1.13\ | ||||||||||
L 27\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
List.java (https:wikiriceedudisplayCSWIKI211Listjava)ListTest.java (https:wikiriceedudisplayCSWIKI211ListTestjava)\ | ||||||||||
28 | Wed | Mar 18 \ | ||||||||
Generics with Discretion \ | ||||||||||
\ | ||||||||||
L 28 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
29 | Fri | Mar 20 \ | ||||||||
Mutation: Succumbing to the Dark Side? \ | ||||||||||
OO Design Notes, Ch 1.13 \ | ||||||||||
L 29 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
30 | Mon | Mar 23 \ | ||||||||
Arrays as Bounded Sequences\ | ||||||||||
OO Design Notes, Ch 2.1 \ | ||||||||||
L 30 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
31 | Wed | Mar 25 \ | ||||||||
Mutable Linked Lists\ | ||||||||||
OO Design Notes, Ch 2.1 \ | ||||||||||
L 31 \ | ||||||||||
HW 10 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
BigBiList.java (https:wikiriceedudisplayCSWIKI211BiListjava)BigBiListTest.java (https:wikiriceedudisplayCSWIKI211BiListTestjava) \ | ||||||||||
32 | Fri | Mar 27 \ | ||||||||
Mutable Trees \ | ||||||||||
OO Design Notes, Ch 2.1 \ | ||||||||||
L 32 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
TreeMap.java (https:wikiriceedudisplayCSWIKI211TreeMapjava)TreeMapTest.java (https:wikiriceedudisplayCSWIKI211TreeMapTestjava)\ | ||||||||||
33 | Mon | Mar 30 \ | ||||||||
Designing OO Data Structures \ | ||||||||||
\ | ||||||||||
L 33\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
OOTreeMap.java (https:wikiriceedudisplayCSWIKI211OOTreeMapjava)OOTreeMapTest.java (https:wikiriceedudisplayCSWIKI211OOTreeMapTestjava)\ | ||||||||||
34 | Wed | Apr 1 \ | ||||||||
Efficient Representations of Maps and Sets \ | ||||||||||
\ | ||||||||||
L 34\ | ||||||||||
HW 11 \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
35 | Fri | Apr 3 \ | ||||||||
Rice Board Game Framework \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
36 | Mon | Apr 5 \ | ||||||||
OO Design Retrospective \ | ||||||||||
OO Design Notes \ | ||||||||||
L 36\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
37 | Wed | Apr 7 \ | ||||||||
Faster Searching Methods \ | ||||||||||
OO Design Notes \ | ||||||||||
L 37\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
38 | Fri | Apr 9 \ | ||||||||
The Othello Game Framework \ | ||||||||||
The Othello Game Framework \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
39 | Mon | Apr 13 \ | ||||||||
Faster Searching Methods (Updated with code) \ | ||||||||||
OO Design Notes \ | ||||||||||
L 37\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
MyHashMap.java (https:wikiriceedudisplayCSWIKI211MyHashMapjava)MyHashMapTest.java (https:wikiriceedudisplayCSWIKI211MyHashMapTestjava) \ | ||||||||||
40 | Wed | Apr 15 \ | ||||||||
Fast Sorting Methods \ | ||||||||||
OO Design Notes \ | ||||||||||
L 40\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
41 | Fri | Apr 17 \ | ||||||||
Graphical User Interfaces \ | ||||||||||
OO Design Notes, Ch. 3 \ | ||||||||||
L 40\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
41+ | Fri | Apr 24 \ | ||||||||
Optional Othello Tournament \ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ | ||||||||||
\ |
...
More on CS: | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ | QA76 .D448 1993 |
^ | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ | QA76.9 .A43 H37 2004 |
^ | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ | QA76.5 .H3575 2000 |
^ | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ | QA76 .B495 1997 |
^ | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ | QA76 .B743 1997 |
^ | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ | QA9.8 .H63 1980 |
^ | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ | Q335 .H63 1985 |
|
|
|
If you liked Scheme, you'll love these resources: | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ | (Online) |
^ | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ | QA76.73 .S34 F75 1996 |
^ | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ | QA76.73 .S34 F77 1996 |
^ | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ |
|
^ | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ | QA76.62 H83 2000 |
|
|
|
More on Java: | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ | |
^ | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ |
|
^ | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ |
|
^ | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ |
|
^ | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ |
|
|
|
|
More on Data Structures and Algorithms: | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ |
|
...