Lectures and Readings |
Students should consult this page regularly to see the most current version of the schedule of topics and readings.
All reading assignments are from the text. Students should come to class having completed the indicated readings for the day. You should attempt to work all the problems at the end of each section as you are reading. Chapter review problems will be assigned during each lecture. While chapter review problems will not be turned in, you should complete them before the next lecture after they are assigned. Many of these will show up in the regular quizes during the first five minutes on Friday mornings, and may also appear on the midterm or final. Problems assigned in association with lecture n should be completed before lecture n+1. Answers are in the back of the book for most problems assigned.
Lecture | Date | Topic | Example code | Reading | Hmwk assigned |
1. | Jan. 18 | Introduction & Overview | code | Ch 0 & 1, Appendix B.3.2 | 1.1, 1.3 |
2. | Jan. 20 | Pre- and Post-Conditions | code | Ch 2 | 2.1,2.3 |
3. | Jan. 23 | Java Graphics | code | Standard Java Graphics | |
4. | Jan. 25 | Events & ArrayLists | code | Ch 3 & 4 | 3.7 |
5. | Jan. 27 | ArrayList Implementation | code | Ch 3 & 4 | 3.5, 3.7 |
6. | Jan. 30 | Analysis of Algorithms | Ch 5.1 | 5.5, 5.9, 5.11 | |
7. | Feb. 1 | Induction/Sorting | code | Ch 5.2-3, Ch 6 | 5.21,5.23 |
8. | Feb. 3 | Sorting 2 | Ch 6 | 6.7 | |
9. | Feb. 6 | Iterators | code | Ch 8 | 8.3 |
10. | Feb. 8 | Linked Lists 1 | code | Ch 9 | 9.5 |
11. | Feb. 10 | Linked Lists 2 | Ch 9 | 9.15 | |
12. | Feb. 13 | Stacks | code | Ch 10.1 | 10.3 |
13. | Feb. 15 | Queues | code | Ch 10.2 | 10.5 |
14. | Feb. 17 | Ordered Structures | Chap 11 | ||
15. | Feb. 20 | Binary Trees 1 | Chap 12.1-5 | 12.3, 12.7 | |
16. | Feb. 22 | Binary Trees 2 | 12.6-12.10 | 12.11 | |
17. | Feb. 24 | Priority Queues | Ch 13.1-13.4.1 | 13.1, 13.2 | |
18. | Feb. 27 | Heaps & Heapsort | Ch 13.4.2-13.6 | ||
19. | Feb. 29 | Binary Search and Splay Trees | Ch 14.1-8 | 14.3,14.5,14.11 | |
20. | Mar. 2 | Parallelism 1 | code | Handout, sections 2, 3 | |
21. | Mar. 5 | Midterm | |||
22. | Mar. 7 | Parallelism 2 | code | Handout, section 4 | |
23. | Mar. 9 | Parallelism 3 | Handout, section 5 | ||
Mar. 12-16 | Spring Break | ||||
24. | Mar. 19 | Concurrency 1 | Handout, section 6 | ||
25. | Mar. 21 | Concurrency 2 | Handout, section 7 | ||
26. | Mar. 23 | Concurrency 3 | Handout, sections 8, 9 | ||
27. | Mar. 26 | Maps & Dictionaries | Ch 15.1-3 | ||
28. | Mar. 28 | More Dictionaries & Hashing | Ch 15.4-7 | 15.3, 15.9 | |
| Mar. 30 | College Holiday - Chavez Day | |||
29. | April 2 | Intro to C++ | code | Weiss Ch. 1 | |
30. | April 4 | More C++ | code | Weiss Ch. 2, 4.11-4.12 | |
31. | April 6 | More C++ | code | Weiss Ch. 3 | |
32. | April 9 | More C++ | code | Weiss Ch. 3 | |
33. | April 11 | More C++ | code | Weiss Ch. 4.5-4.6 | Weiss 3-18 Weiss 3-15 |
34. | April 13 | More C++ | code | Weiss Ch. 4.6 | big 3 |
35. | April 16 | More C++ | code | Weiss Ch. 4 | destructor |
36. | April 18 | More C++ | code | Wiess Ch. 5.1, 8.3 | |
37. | April 20 | Intro to Graphs | Ch 16 | 16.11 | |
38. | April 23 | Graph Traversals | code | 16.7 | |
39. | April 25 | Minimum Spanning Trees | Ch 16 | ||
40. | April 27 | Shortest path | Ch 16 | dijkstra's algorithm | |
41. | April 30 | Shortest path (cont.) | Ch 16 | ||
42. | May 2 | Summary | |||
Lectures and Readings |