| Lecture # | Topic | Link(s) |
|---|---|---|
| 1 | Review and Accumulators | lecture-01.rkt |
| 2 | Data Definitons and FunJava | Lecture_02.java |
| 3 | Data and Method Definitions | Lecture_03.java |
| 4 | Recipe, Methods, Unions, Recursion, If |
Lecture_04_1.java (Loc/IShapes) Lecture_04_2.java (Trains) |
| 5 | More Methods for Unions and Lists | Lecture_05.java |
| 6 | Representing Lists, and Sorting | Lecture_06.java |
| 7 | Abstract Classes and JavaWorlds |
Lecture_07_1.java (Person, Abstraction) Lecture_07_2.java (Rockets, Balloons) rocket.png Image flame.png Image |
| 8+ | Designing the Snake Game in Java | SnakeGame.java |
| Simple Blob Game | Lecture_08.java (A simple game) | |
| 9 | Constructor Overloading, Integrity Exceptions | Lecture_09.java |
| 10 | Function-Classes/Objects (1) | Lecture_10.java |
| 11 | Function-Classes/Objects (2) | Lecture_11.java |
| 12 | Equality via double-dispatch | Lecture_12_1.java |
| Equality via safe-casting | Lecture_12_2.java | |
| 13 | Mutation and Effects | Lecture_13.java |
| State Change: motivation | Lecture_13_1.java | |
| State Change: single class | Lecture_13_2.java | |
| State Change: changing the list | Lecture_13_3.java | |
| State Change: using a list wrapper | Lecture_13_4.java | |
| 14 | Circular Data | Lecture_14_1.java (Movie-Actor) Lecture_14_1_a.java (Book-Author) |
| Circular Data with Lists | Lecture_14_2.java (Movies-Actors) Lecture_14_2_a.java (Books-Authors) |
|
| 15 | Type Parameters | Lecture: TypeParameters.zip |
| 16+ | Parametrized Types (again) | Lecture_16.java |
| Cowabunga Example with JavaWorld |
Functional: Cowabunga.java Mutation: VoidCowabunga.java cow-left.png cow-right.png ship.png ship-crash.png |
|
| Cowabunga Example with AndroidWorld |
Source: AndroidCowabunga.java APK Install: AndroidCowabunga.apk Android SDK/Eclipse Project: AndroidProject.zip |
|
| 17 | ArrayLists and Binary Search | Lecture_17.java |
| 18 | ArrayList Wrappers, Traversal, Stacks, and Queues | Lecture_18.java |
| 19 | Morning: ArrayList Wrappers, Traversal, Stacks, and Queues | Lecture_18_M.java |
| Afternoon: Queue with Stacks, Review, Accumulators | Lecture_19_A.java | |
| E-2 | Exam Review | Review.java |
| 20 | Loops, While, and For | Lecture_20.java |
| 21 | Counted Loops, For-each, and Iterators | Lecture_21.java |
| 22 | Iterable ConsLists, Making a Shammy-rock | Lecture_22.java |
| 23 | HashMaps, HashCodes, and Equality | Lecture_23.java |
| 24 | Graphs and Paths - 1 | Lecture_24.java |
| 27/28 | Sorting Complexity Demonstration | Lecture_28.java |
| 29 | Expressions and Equations | Lecture_29.java |