...
- Dr. Cartwright: MWF 9:00 AM - 10:00 AM
- Dr. Wong: See home page
- Alina: MWF 11:00 AM -12:00 PM
- Kamal: MF 3:00 PM - 5:00 PM
- Nicholas: TR 7:00 PM - 8:30 PM
...
DrJava: Please download and use the DrJavapedagogic DrJava pedagogic programming environment available from drjava.org. You must install either the Java 5 or Java 6 JDK on your machine for DrJavato DrJava to work. (Addendum: DrJava releases starting in 2011 can also run using a Java 7 JDK.) If you machine is running some flavor of Windows or Linux, go to the \[Sun Download Site for the Java SE 6.0 (http://java.sun.com/javase/downloads/index.jsp\]). Make sure that you download the JDK not the JRE. If you have a Mac, a Java JDK is available from Apple. In fact, it is part of the standard Mac OS X software package. DrJavawill DrJava will run on either a the Apple Java 5.0 or Java 6.0 JDK.
...
| Day | Date(2011) | Topic | Reading | Lectures | Problems | Due(2011) | Lab | Supplements | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Mon | Jan 10 | Introduction & Scheme Primitives |
| W Jan 12 | ||||||||
2 | Wed | Jan 12 | Function definitions and conditionals | F Jan 21 |
|
| |||||||
3 | Fri | Jan 14 | Data Definitions & The Design Recipe |
|
|
|
| ||||||
- | Mon | Jan 17 | School Holiday |
|
|
|
|
| |||||
4 | Wed | Jan 19 | Data-directed design |
|
|
|
| ||||||
5 | Fri | Jan 21 | Data-directed design: trees |
| Mon Jan 31 |
|
| ||||||
6 | Mon | Jan 24 | Mutually Referential Data Definitions |
|
| ||||||||
7 | Wed | Jan 26 |
|
|
|
|
| ||||||
8 | Fri | Jan 28 | Local Definitions and Lexical Scope |
|
|
|
| ||||||
9 | Mon | Jan 31 | Functional Abstraction and Polymorphism | Mon Feb 7 |
| ||||||||
10 | Wed | Feb 02 | Functions as Values |
|
|
|
| ||||||
11 | Fri | Feb 04 | Lambda the Ultimate |
|
|
|
| ||||||
12 | Mon | Feb 07 | Generative Recursion | Mon Feb 14 |
| ||||||||
13 | Wed | Feb 09 | Complexity and Accumulators |
|
|
|
| ||||||
14 | Fri | Feb 11 | Accumulators and Tail Calls |
|
|
|
| ||||||
15 | Mon | Feb 14 | Clever Programming With Functions | Review prior readings | Mon Feb 21 | ||||||||
16 | Wed | Feb 16 | Exam Review | Review prior readings |
|
|
|
| |||||
17 | Fri | Feb 18 | On to Java | OO Design Notes Ch 1.1-1.4 |
|
|
|
| |||||
18 | Mon | Feb 21 |
| OO Design Notes Ch 1.1-1.4 | HW 6 (Optional) | Mon Mar 07 |
| ||||||
19 | Wed | Feb 23 | Java Design Recipe | OO Design Notes Ch 1.1-1.4 |
|
|
| ||||||
20 | Fri | Feb 25 | Defining Inductive Data in Java | OO Design Notes Ch 1.5 |
|
|
|
| |||||
- | M-F | Feb 28-Mar 4 | Spring Break |
|
|
|
|
|
| ||||
21 | Mon | Mar 07 | Static Class Members and the Singleton Pattern | OO Design Notes Ch 1.6 | Mon Mar 14 | ||||||||
22 | Wed | Mar 09 | Polymorphism and Interfaces | OO Design Notes Ch 1.8 |
|
|
| ||||||
23 | Fri | Mar 11 | Handling Exceptions and Errors | OO Design Notes Ch 1.9-1.10, 1.12 |
|
|
|
| |||||
24 | Mon | Mar 14 | The Strategy and Visitor Patterns | OO Design Notes Ch 1.9, 1.11 | Mon Mar 21 | ||||||||
25 | Wed | Mar 16 | Visitors, Visitors, Vistors ... | OO Design Notes Ch 1.11 |
|
|
|
| |||||
26 | Fri | Mar 18 | Full Java, Arrays, Mutation Accepting Reality: Full Java | OO Design Notes Ch 1.13 |
| Wed Mar 30 |
| ||||||
27 | Mon | Mar 21 | Visibility, Type-Checking, and Generics | OO Design Notes Ch. 1.10, 1.13 | Fri Apr 4 | ||||||||
28 | Wed | Mar 23 | Generics with Discretion |
|
|
|
|
| |||||
29 - | Thurs-Fri | Mar 24-25 | Mutation and Bi-Directional Linked Lists | OO Design Notes Ch 1.13 | School Holiday |
|
|
|
|
|
| ||
30 29 | Mon | Mar 28 | Mar 28 | Simple Generics in Java Graphical User Interfaces | OO Design Notes Ch 3 1.13.4 (contains advanced material as well) |
|
| lec29_code.zip (incl. genList) | |||||
31 30 | Wed | Mar 30 | Anonymous Inner Classes and Task Decomposition Mutation and Bi-Directional Linked Lists | OO Design Notes Ch 21.1 13 |
|
| |||||||
- 31 | Fri | Apr 1 | School Holiday | BiLists Continued | OO Design Notes Ch 2.1 |
|
|
| |||||
32 | Mon | Apr 4 | Mutable Trees | OO Design Notes Ch 2.1 |
| Wed. Apr 13 | |||||||
33 | Wed | Apr 6 | Review: Confronting the Reality of Full Java Mutable Trees |
|
|
|
|
| |||||
34 | Fri | Apr 8 | QuickSort Revisited Mutable Trees |
|
|
| FunctionalQuicksort | ||||||
35 | Mon | Apr 11 Graphical User Interfaces II | Mutable Trees and OO Data Structure Review | OO Design Notes |
|
|
| ||||||
36 | Wed | Apr 13 | OO Sorting Algorithms | CNX Module on Sorting (incl. insertion and selection sort animations) |
| Milestone 1: Mon. Apr 18 |
| ||||||
37 | Fri | Apr 15 Fast | Searching with Balanced Trees Graphical User Interfaces |
|
|
| Red-Black Trees | ||||||
38 | Mon | Apr 18 | Fast Searching and Memoization |
|
|
| |||||||
39 | Wed | Apr 20 Parallel | Programming Tradeoffs Fast Sorting Methods |
|
|
|
|
| |||||
40 | Fri | Apr 22 | Exam II Review |
|
|
|
|
Grading, Honor Code Policy, Processes and Procedures
...
Reading: For each lecture, there is associated reading. Students are required to complete the reading before the class associated with this reading.h2
Other Resources
- Practical matters:
- Special interest groups:
- CSters
- Computer Science Club
- ... (please send in suggestions!)
...
The New Turing Omnibus, A. K. Dewdney | QA76 .D448 1993 |
Algorithmics: The Spirit of Computing, David Harel | QA76.9 .A43 H37 2004 |
Computers Ltd.: What They Really Can't Do, David Harel | QA76.5 .H3575 2000 |
Great Ideas in Computer Science, Alan W. Biermann | QA76 .B495 1997 |
Computer Science: An Overview, J. Glenn Brookshear | QA76 .B743 1997 |
G�delGodel, Escher, Bach: An Eternal Golden Braid, Douglas Hofstadter | QA9.8 .H63 1980 |
Metamagical Themas, Douglas Hofstadter | Q335 .H63 1985 |
...