| Lecture | Date | Topic | Reading |
|---|---|---|---|
| 1 | Mon June 21 | Overview, OOP, Intro to Java | |
| 2 | Tue June 22 | Conditionals, Loops, Lists | PiJ 1 (for sure); 4, 7 (preferably) OR ADW 1-4 |
| 3 | Wed June 23 | Argument Passing, Arrays, Strings, static, final | PiJ the rest of 4 and 7, plus 2 and 3 OR ADW 10 |
| 4 | Thu June 24 | Basic OOP, Method Overloading, Inheritance, Casting, Dynamic vs. Static Types, Object | PiJ 5.1--5.4, 6.1--6.2 OR ADW 7, 12.1-12.7 |
| Sun June 27 | |||
| 5 | Mon June 28 | Inferfaces, Abstract Classes | PiJ 5.5--5.8, 6.3, 6.4--6.6 OR ADW 12.8, 12.9 |
| 6 | Tue June 29 | Packages, Inner/Nested/Anonymous Classes, Exceptions | PiJ 5.9--5.11, 6.7--6.10 OR ADW 5; PiJ 8 OR ADW 13 |
| 7 | Wed June 30 | more on final, Sentinels, Integers | PiJ 6.3, 6.4 |
| 8 | Thu July 1 | Vectors, Stacks, Queues, Deques | DSiJ 2--4; GT 4,5 |
| Mon July 5 | |||
| 9 | Tue July 6 | Basic Trees |
DSiJ 5,6.1--6.3; GT 6, 9.1 |
| 10 | Web July 7 | Asymptotic Analysis, Algorithm Analysis | DSiJ 1; GT 3 |
| 11 | Thu July 8 | Binary Search, Priority Queues, Heaps | DSiJ 6.4, 6.5; GT 7 |
| Fri July 9 | |||
| Sun July 11 | |||
| 12 | Mon July 12 | Hash Tables | DSiJ 7; GT 8 |
| 13 | Tue July 13 | Basic Sorting (Bubble, Insertion, Shell's, Selection, Heap) | DSiJ 8.1--8.6; CLR 6.4 |
| 14 | Wed July 14 | Divide-and-Conquer Sorting (Merge, Quick) | DSiJ 8.7, 8.8; GT 10.1-10.3; CLR 7 |
| 15 | Thu July 15 | Sorting Wrap Up (Bucket, Radix), Selection | DSiJ 8.9--8.12; GT 10.4,10.5,10.7; CLR 8, 9 |
| Sun July 18 | |||
| 16 | Mon July 19 | Threads of Control | PiJ 9, DSiJ 10 |
| 17 | Tue July 20 | B-Trees, AVL Trees, Tries | DSiJ 9.1-9.3; GT 9.2, 9.4, 11.3 |
| 18 | Wed July 21 | Range Queries, Quad and BSP Trees | DSiJ 6.3 |
| 19 | Thu July 22 | Game Tree Search, Minimax | |
| Fri July 23 | |||
| Sun July 25 | |||
| 20 | Mon July 26 | Intro to Graphs | DSiJ 12.1--12.3.3, GT 12.1-12.5; CLR 22.1-22.3 |
| 21 | Tue July 27 | Topological Sort, Shortest Path |
DSiJ 12.3.4,6; GT 12.6; CLR 22.4, 24 |
| 22 | Wed July 28 | Union-Find, Minimum Spanning Trees | DSiJ 12.3.5,7; GT 10.6, 12.7; CLR 21, 23 |
| 23 | Thu July 29 | String Matching and Dynamic Programming | |
| Sun August 1 | |||
| 24 | Mon August 2 | Meshes | |
| 25 | Tue August 3 | Amortized Analysis, Probabilistic Analysis | |
| 26 | Wed August 4 | Splay Trees, Skip Lists | DSiJ 9.4, GT 9.3, original splay tree paper, original skip list paper |
| 27 | Thu August 5 | Software Design Issues | No Silver Bullet by Frederick P. Brooks Jr. |
| Fri August 6 | |||
| Sun August 8 | |||
| 28 | Mon August 9 | Storage, Garbage Collection | |
| 29 | Tue August 10 | More on Java, Final Exam Overview | |
| 30 | Wed August 11 | Recap, Beyond 61B/Future Courses, HKN Survey | |
| 31 | Thu August 12 | ||
Notes on Exam Times:
It is my goal to give the exams in the evening on the specified days. Plan for about 2 hours for the midterms and 3 hours for the final.
If for some reason you cannot make an exam, please get in contact with me as soon as you know you're not going to be able to make it. If you require special accomodations, contact me at least a few days before the first exam (before the holiday weekend).