Below is a list of the topics we will cover in each
lecture/week. You should read the relevant sections from the
text for each lecture before you come
to class and lab.
Num | Topic | Date |
---|
1 | Racket review, accumulator-style programs HtDP: Sections 30-33 | 9/7 |
2 | Java, Data definitions, classes, unions HtDCH: Sections 1-4 | 9/8 |
3 | Java, Containment in unions, mutual reference HtDCH: Section 5 | 9/12 |
4 | Functional methods, primitive types, classes HtDCH: Section 6, Intermezzo 1 | 9/14 |
5 | Methods for classes and unions, conditionals HtDCH: Sections 8-12 | 9/15 |
6 | Methods for unions, recursion HtDCH: Sections 13-16 | 9/19 |
7 | Classes and Methods: Calls; Type checking; Errors HtDCH: Intermesso 2, Section 18 | 9/21 |
8 | Similarities in classes; World library HtDCH: Section 19 | 9/22 |
9 | Class hierarchies and methods; Libraries; State encapsulation, Self-preservation HtDCH: Sections 20-21 | 9/26 |
10 | Extensional equality; Abstract classes; Privacy HtDCH: Intermezzo 3 | 9/28 |
11 | Methods as Objects HtDCH: Section 36 | 9/29 |
12 | Circular Data HtDCH: Section 23-24 | 10/3 |
13 | Methods for circular data Review | 10/5 |
-- | ** First Exam **
| 10/6 |
-- | Columbus Day...
| 10/10 |
14 | Assignment; Stateful classes and methods; Exceptions HtDCH: Section 25-27 | 10/12 |
15 | More Stateful Classes, Imperative Methods HtDCH: Sections 28, Intermezzo 4, 30 | 10/13 |
16 | Similarities between plain classes; Subtyping; Types and similarities between class HtDCH: Sections 30-31 | 10/17 |
17 | General classes, frameworks, Exceptions HtDCH: Sections 32-33 | 10/19 |
18 | Designing to interfaces: getters, setters, predicates. Case study: Towers of Hanoi HtDCH: Sections 34 | 10/20 |
19 | Direct access data structures; Stack and Queue data structure. Patterns in traversals HtDCH: Sections 36-37.4 | 10/24 |
20 | Abstracting over method calls; Visitor traversals; Designing visitors HtDCH: Sections 37.5-37.9 | 10/26 |
21 | Traversing with effects HtDCH: Section 38-39, Intermezzo 6 | 10/27 |
22 | Loops: While, For (each), Counted HtDCH: Sections 41-44, Intermezzo 7 | 10/31 |
23 | Libraries, ArrayList, JavaDocs HtDCH: Sections 49 | 11/2 |
-- | ** Second Exam **
| 11/3 |
24 | Parameterized recursion, Iterators HtDCH: Intermezzo 5 | 11/7 |
25 | Java Collections Framework: Map, HashMap, TreeMap; Equality HtDCH: Sections 46-48 | 11/9 |
26 | Sorting algorithms; Big O; Priority Queue and HeapSort Wikipedia Article | 11/10 |
27 | Complexity of computation: Searching (linear, binary, map-based)
| 11/14 |
28 | Complexity of computation: Sorting (quadratic, n-log-n); Exponential explosion
| 11/16 |
29 | Graph traversal algorithms; Path exploration Wikipedia Article | 11/17 |
30 | Visitors revisited
| 11/21 |
-- | Thanksgiving Break...
| 11/23 |
-- | Thanksgiving Break...
| 11/24 |
31 | Representing a language
| 11/28 |
32 | Review: ** Final Exam **
| 11/30 |
33 | Java and Android
| 12/1 |
34 | Project presentations
| 12/5 |
35 | Project presentations; **Evening Exam 3**
| 12/7 |