1 Survey | Mon Jun 23 | 0. Introduction and Logistics Pacing / Textbook: Course Policies
1. Introduction to Java, Git, and Setup Video / Pacing / Textbook: Ch 1
|
Link (6/23) | Lab 0: Introduction to Java, Git, and Setup
(due 6/24)
|
Homework 0A
(due 01/24) | Project 0: 2048 Checkpoint
(due 06/26) |
Tue Jun 24 |
|
| Lab 1: Conditionals, Loops, and Arrays (Optional?)
(due 6/25)
|
Wed Jun 25 | 2. Primitives and Objects Video / Pacing / Textbook: Ch 2,
Ch 6
3. Testing Video / Pacing / Textbook: Ch 7
|
Link (6/25) | Lab 2: Primitives and Objects
(due 6/26)
|
Homework 0B
(due 01/29) |
Thu Jun 26 |
|
| Lab 3: Debugging & Test-Driven Development
(due 6/30)
|
Homework 1
(due 02/07) |
Fri Jun 27 |
|
| Theoretical #0: Introduction to Java Programming
Worksheet / Solutions Slides | Project 0: 2048
(due 06/29) |
2 Survey | Mon Jun 30 | 4. Linked Lists Video / Pacing / Textbook: Ch 3,
Ch 4,
Ch 5,
Ch 8
5. Abstract Data Types Video / Pacing / Textbook: Ch 16.1
|
Link (6/30) | Lab 4: Linked Lists
(due 2/14)
| Project 1: Deques Checkpoint
(due 07/03) |
Tue Jul 01 |
|
| Lab 5: Abstract Data Types
(due 02/28)
|
Wed Jul 02 | 6. Inheritance Video / Pacing / Textbook: Ch 9,
Ch 10
7. Comparison, Iterators, and Generics Video / Pacing / Textbook: Ch 11,
Ch 12
|
Link (7/2) | Lab 6: Inheritance
(due 03/07)
|
Thu Jul 03 |
|
| Lab 7: Comparison, Exceptions, and Iteration
(due 3/14)
|
|
Fri Jul 04 |
|
| No Lab
| Project 1: Deques
(due 07/06) |
3 Survey | Mon Jul 07 | 8. Asymptotics Video / Pacing / Textbook: Ch 13
9. Asymptotics, Measuring Code Efficiency Video / Pacing / Textbook: Ch 15
|
Link (7/7) | Theoretical #1: Object Oriented Programming and Abstract Data Types
Worksheet / Solutions Slides / Video | Project 2A: NGrams
(due 07/13) |
Tue Jul 08 |
|
| Lab 8: Runtime Analysis
(due 3/21)
|
Wed Jul 09 | 10. Introduction to Trees and Traversals Video / Pacing / Textbook: Ch 22.1-22.2
11. Binary Search Trees: Derivation Video / Pacing / Textbook: Ch 16.2-16.7
|
Link (7/9) | Lab 9: Trees and Traversals
(due 3/21)
|
Thu Jul 10 |
|
| Lab 10: Binary Search Trees
(due 3/21)
|
Fri Jul 11 |
|
| Theoretical #2: Asymptotics and Trees
Worksheet
|
4 Survey | Mon Jul 14 | 12. Balanced Search Trees Pacing / Textbook: Ch 17,
Ch 18
13. Hashing & Hash Tables Pacing / Textbook: Ch 19,
Ch 20
|
Link (7/14) | Lab 11: Balanced Search Trees
(due 3/21)
| Project 2B: Wordnet
(due 07/27) |
Tue Jul 15 |
|
| Lab 12: Hashing
(due 3/21)
|
Homework 2
(due 03/07) |
Wed Jul 16 | 14. Heaps and Priority Queues Pacing / Textbook: Ch 21
15. Exam Advice / Review |
| Lab 13: Heaps and Priority Queues
(due 3/21)
|
Thu Jul 17 |
|
| Theoretical #3: Binary Search Trees (Optional)
Worksheet
|
Fri Jul 18 | Midterm (7 - 9am 💀)
|
| No Lab
|
5 Survey | Mon Jul 21 | 16. Disjoint Sets Pacing / Textbook: Ch 14
17. Introduction to Graphs Video / Pacing / Textbook: Ch 22.3-22.4,
Ch 23
|
| Lab 14: Disjoint Sets
(due 3/21)
|
Tue Jul 22 |
|
| Lab 15: Graphs
(due 3/21)
| |
Wed Jul 23 | 18. Shortest Path Trees Video / Pacing / Textbook: Ch 24
19. Minimum Spanning Trees Video / Pacing / Textbook: Ch 25
|
| Lab 16: Shortest Path Trees
(due 3/21)
|
Thu Jul 24 |
|
| Lab 17: Minimum Spanning Trees
(due 3/21)
|
Fri Jul 25 |
|
| Theoretical #4: Hashing, Heaps, and Union Find
Worksheet
|
6 Survey | Mon Jul 28 | 20. BYOW Introduction Video / Pacing / Textbook: Project 3 Spec
21. Sorting Video / Pacing / Textbook: Ch 29
|
| Lab 18: Build Your Own World Introduction
(due 3/21)
| Project 3A: World Generation
(due 08/03) |
Tue Jul 29 |
|
| Lab 19: Comparison Sorts
(due 3/21)
|
Wed Jul 30 | 22. Quicksort Video / Pacing / Textbook: Ch 30,
Ch 32,
Ch 34
23. Radix Sorts Video / Pacing / Textbook: Ch 35,
Ch 36
|
| Lab 20: Counting Sorts
(due 3/21)
|
Thu Jul 31 |
|
| TBD
|
Fri Aug 01 |
|
| Theoretical #5: Graphs
Worksheet
|
7 Survey | Mon Aug 04 | Special Topics
Video / Pacing /
|
| TBD
| Project 3B: Interactivity
(due 08/10) |
Tue Aug 05 |
|
| TBD
|
Wed Aug 06 | AMA
Video / Pacing /
|
| TBD
|
Thu Aug 07 |
|
| TBD
|
Fri Aug 08 | 24. Review? Video / Pacing /
|
| Theoretical #6: Sorting
Worksheet
|
|
8 Survey | Mon Aug 11 |
|
| BYOW Presentations! (Optional)
| |
Tue Aug 12 | Final Exam (Tues, Aug 12, 3-6am 😃)
|
| No Lab
|
Wed Aug 13 |
|
| No Lab
|
Homework 4
(due 05/04) |
Thu Aug 14 |
|
| No Lab
|
Fri Aug 15 |
|
| Lab 21:
|