...
| 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 15 | Inductive data, conditionals, and the design recipe |
|
|
|
|
| ||
4 | Mon | Jan 18 | Data-directed design I |
|
|
|
| |||
5 | Wed | Jan 20 | Data-directed design II | HW 2 (Solution to 12.4.2 (https:wikiriceedudisplayCSWIKI2111242solss)) | Th Jan 22 |
|
| |||
6 | Fri | Jan 22 | Mutually Referential Data Definitions |
|
|
|
| |||
Mon | Jan 25 | School Holiday |
|
|
|
| ||||
7 | Wed | Jan 27 | Local definitions and Lexical Scope | Mon Feb 2 |
|
| ||||
8 | Fri | Jan 29 | Functional Abstraction and Polymorphism |
|
|
|
| |||
9 | Mon | Feb 01 | Functions as Values |
|
|
| ||||
10 | Wed | Feb 03 | Lambda the Ultimate |
|
|
|
| |||
11 | Fri | Feb 05 | Generative Recursion | Mon Feb 9 |
|
| ||||
12 | Mon | Feb 08 | Generative Recursion Illustrated |
|
|
| ||||
13 | Wed | Feb 10 | Complexity and Accumulators |
|
|
|
| |||
14 | Fri | Feb 12 | Accumulators and Tail Calls |
|
|
|
| |||
15 | Mon | Feb 15 | Review and First-Class Functions | Review prior readings | Mon Feb 16 | |||||
16 | Wed | Feb 17 | Powerful Functionals | Review prior readings |
|
|
|
| ||
17 | Fri | Feb 19 | Exam Review | Review prior readings | Take-home exam |
|
| |||
18 | Mon | Feb 22 | On to Java | OO Design Notes Ch 1.1-1.4.1 | Mon Feb 23 | parse/unparse (https:wikiriceedudisplayCSWIKI211parsess) | ||||
19 | Wed | Feb 24 | Java Design Recipe | OO Design Notes Ch 1.1-1.4 |
|
|
|
| ||
20 | Fri | Feb 26 | Defining Inductive Data in Java | OO Design Notes Ch 1.5 |
|
| IntList (https:wikiriceedudisplayCSWIKI211IntListdj0)IntListTest (https:wikiriceedudisplayCSWIKI211IntListTestdj0) | |||
21 | Mon | Mar 01 | Static Class Members and the Singleton Pattern | OO Design Notes Ch 1.6 |
|
| ObjectList (https:wikiriceedudisplayCSWIKI211ObjectListdj1)ObjectListTest (https:wikiriceedudisplayCSWIKI211ObjectListTestdj1) | |||
22 | Wed | Mar 03 | Polymorphism and Interfaces | OO Design Notes Ch 1.8 |
|
|
| ComparableList (https:wikiriceedudisplayCSWIKI211ComparableListdj1)ComparableListTest (https:wikiriceedudisplayCSWIKI211ComparableListTestdj1) | ||
23 | Fri | Mar 05 | Loose Ends and First-class Functions | OO Design Notes Ch 1.9-1.10, 1.12 | Fri Mar 13 |
|
| |||
24 | Mon | Mar 9 | The Strategy and Visitor Patterns | OO Design Notes Ch 1.9, 1.11 |
|
| ||||
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="c807a9e1541f8a23-148d2e50-4bc44380-bf3fa8b9-b263b0e0c0e1f6fcc07e3b99"><ac:plain-text-body><![CDATA[ | [Lab 8 | 211lab08] | [IntList.dj1 | https:wikiriceedudisplayCSWIKI211IntListdj1 [IntListTest.dj1 | https:wikiriceedudisplayCSWIKI211IntListTestdj1] | ]]></ac:plain-text-body></ac:structured-macro> | ||||
25 | Wed | Mar 11 | Visitors, Visitors, Vistors ... | OO Design Notes Ch 1.11 |
|
|
|
| ||
26 | Fri | Mar 13 | Full Java | OO Design Notes Ch 1.13 | Wed Mar 25 |
|
| |||
27 | Mon | Mar 16 | Visibility, Type-Checking, and Generics | OO Design Notes Ch. 1.10, 1.13 |
|
| List.java (https:wikiriceedudisplayCSWIKI211Listjava)ListTest.java (https:wikiriceedudisplayCSWIKI211ListTestjava) | |||
28 | Wed | Mar 18 | Generics with Discretion |
|
|
|
|
| ||
29 | Fri | Mar 20 | Mutation: Succumbing to the Dark Side? | OO Design Notes Ch 1.13 |
|
|
|
| ||
30 | Mon | Mar 23 | Arrays as Bounded Sequences | OO Design Notes Ch 2.1 |
|
|
| |||
31 | Wed | Mar 25 | Mutable Linked Lists | OO Design Notes Ch 2.1 |
|
| BigBiList.java (https:wikiriceedudisplayCSWIKI211BiListjava)BigBiListTest.java (https:wikiriceedudisplayCSWIKI211BiListTestjava) | |||
32 | Fri | Mar 27 | Mutable Trees | OO Design Notes Ch 2.1 |
|
|
| 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\ \ |
| \ | Lab 12\ \ |
| |
37 | Wed | Apr 7 \ | Faster Searching Methods \ | OO Design Notes \ | L 37\ \ |
| \ \ |
| \ | |
38 | Fri | Apr 9 \ | The Othello Game Framework \ | The Othello Game Framework \ \ |
| HW 12\ \ |
| \ \ |
| |
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 \ \ |
|
| \ \ |
| \ |
Code Block |
---|
Exit Survey
Please take the exit survey to help us improve this course and the core programming curriculum. Follow this link:
Exit Survey
...
Here is a nice article about
the basic approach taken in this course.
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: | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ |
|
...