1Wed 1/17 1.1 1. Intro, Hello World Java
[video] [slides] [guide] Intro to Java
[Solution] Setting Up Your Computer
javac, java, git (due 1/26) HW 0: Basic Java Programs (optional) Fri 1/19 1.2 2. Defining and Using Classes
[video] [slides] [guide] 2Mon 1/22 2.1 3. References, Recursion, and Lists
[video] [slides] [guide] Scope, Pass-by-Value, Static IntelliJ Home Setup
IDEs (due 1/26) Project 0: NBody (due 1/26 @ 11:59PM) Wed 1/24 2.2 4. SLLists, Nested Classes, Sentinel Nodes
[video] [slides] [guide] Fri 1/26 2.3, 2.4 5. DLLists, Arrays
[video] [slides] [guide] 3Mon 1/29 2.5 6. ALists, Resizing, vs. SLists
[ video] [slides] [guide] Linked Lists, Arrays Testing, Debugging (due 2/2) Project 1A: Data Structures (due 2/2 @ 11:59 PM) Wed 1/31 Optional: TDD is dead, Unit Tests Are Waste, Response 7. Testing
[video] [slides] [guide] Fri 2/2
[video] [slides] [guide] 4Mon 2/5
[video] [slides] [guide] Inheritance
Inheritance Exam Prep Peer Code Review (due 2/9) Project 1B: Testing and HoFs (due 2/10 @ 11:59 PM) Wed 2/7
[video] [slides] [guide] Fri 2/9
[video] [slides] [guide] 5Mon 2/12
[video] [slides] [guide] Midterm Review Getting Started: Project 2
Partner Form Due Friday Midterm 1 (Date 2/12, 8-10PM)
Material up to 2/10 Wed 2/14
[video] [slides] [guide] HW 1:
Java Syntax and Sound Synthesis (due 2/21)Proj 2 Proposal (due 2/21) Fri 2/16
[video] [slides] [guide] 6Mon 2/19: Academic Holiday Selecting ADTs
Selecting ADTs Exam Prep Work on Project 2 Wed 2/21
[video] [slides] [guide] Fri 2/23
[video] [slides] [guide] Project 2 Implementation (due 3/5) 7Mon 2/26
[video] [slides] [guide] Asymptotic Analysis I
Asymptotic Analysis Exam I Prep Work on Project 2 Wed 2/28
[video] [slides] [guide] Fri
[video] [slides] [guide] 8Mon 3/5
[video] [slides] [guide] Asymptotic Analysis II
Asymptotic Analysis II Exam Prep Tree Maps (due 3/9) Wed 3/7
[video] [slides] [guide] HW 2: Percolation (due 3/14) Fri 3/9
[video] [slides] [guide] 9Mon 3/12
[video] [slides] [guide] Hashing
Hashing Exam Prep Hash Maps (due 3/16) Wed 3/14
[video] [slides] [guide] Fri 3/16
[video] [slides] [guide] HW 3: Hashing (due 3/19) 10Mon 3/19
[video] [slides] [guide] Heaps and Graphs
Heaps and Graphs Exam Prep Heap Min PQ (due 3/23) Wed 3/21
[video] [slides] [guide] Midterm 2 (Date 3/20, Time 8-10PM)
Material up to 3/16 Fri 3/23
[video] [slides] [guide] HW 4: Puzzle Solver (due 4/4) Spring Break (3/26 - 3/30) 11Mon 4/2
[video] [slides] [guide] Graphs
Graphs Exam Prep Midterm 2 Review Wed 4/4
[video] [slides] [guide] Fri 4/6
[video] [slides] [guide] Project 3: BearMaps (due 4/18) 12Mon 4/9
[video] [slides] [guide] Graphs, Sorting
MST/SP Exam Prep Merge and Quick Sort (due 4/13) Wed 4/11
[video] [slides] [guide] Fri 4/13
[video] [slides] [guide] 13Mon 4/16
[video] [slides] [guide] More Sorting
Sorting Exam Prep Radix Sort (due 4/20) Wed 4/18
[video] [slides] [guide] Fri 4/20
[video] [slides] [guide] HW 5: Seam Carving (due 4/25) 14Mon 4/23
[video] [slides] [guide] Goodbye, Fun Fractal Sound (due 4/27) Wed 4/25
[video] [slides] [guide] Fri 4/27
[video] [slides] [guide] Makeup HW 6:
Boggle (due 5/5)Makeup HW 7:
Compression (due 5/5) 15 RRR Week (May 1-5) Makeup Lab:
HugLife (due 5/5) Finals Week (May 8-12), Final exam: TBD
[video] [slides] [guide] Intro to Java
[Solution] Setting Up Your Computer
javac, java, git (due 1/26) HW 0: Basic Java Programs (optional) Fri 1/19 1.2 2. Defining and Using Classes
[video] [slides] [guide] 2Mon 1/22 2.1 3. References, Recursion, and Lists
[video] [slides] [guide] Scope, Pass-by-Value, Static IntelliJ Home Setup
IDEs (due 1/26) Project 0: NBody (due 1/26 @ 11:59PM) Wed 1/24 2.2 4. SLLists, Nested Classes, Sentinel Nodes
[video] [slides] [guide] Fri 1/26 2.3, 2.4 5. DLLists, Arrays
[video] [slides] [guide] 3Mon 1/29 2.5 6. ALists, Resizing, vs. SLists
[ video] [slides] [guide] Linked Lists, Arrays Testing, Debugging (due 2/2) Project 1A: Data Structures (due 2/2 @ 11:59 PM) Wed 1/31 Optional: TDD is dead, Unit Tests Are Waste, Response 7. Testing
[video] [slides] [guide] Fri 2/2
TBA
8. Inheritance, Implements[video] [slides] [guide] 4Mon 2/5
TBA
9. Extends, Casting, Higher Order Functions[video] [slides] [guide] Inheritance
Inheritance Exam Prep Peer Code Review (due 2/9) Project 1B: Testing and HoFs (due 2/10 @ 11:59 PM) Wed 2/7
TBA
10. Subtype Polymorphism vs. HoFs[video] [slides] [guide] Fri 2/9
TBA
11. Libraries, Abstract Classes, Packages[video] [slides] [guide] 5Mon 2/12
TBA
12. Coding in the Real World, Review[video] [slides] [guide] Midterm Review Getting Started: Project 2
Partner Form Due Friday Midterm 1 (Date 2/12, 8-10PM)
Material up to 2/10 Wed 2/14
TBA
13. Generics, Autoboxing[video] [slides] [guide] HW 1:
Java Syntax and Sound Synthesis (due 2/21)Proj 2 Proposal (due 2/21) Fri 2/16
TBA
14. Exceptions, Iterators, Iterables[video] [slides] [guide] 6Mon 2/19: Academic Holiday Selecting ADTs
Selecting ADTs Exam Prep Work on Project 2 Wed 2/21
TBA
15. Packages, Access Control, Objects[video] [slides] [guide] Fri 2/23
TBA
16. Encapsulation, Lists, Delegation vs. Extension[video] [slides] [guide] Project 2 Implementation (due 3/5) 7Mon 2/26
Algs 170-198 (top paragraph)
17. Asymptotics I[video] [slides] [guide] Asymptotic Analysis I
Asymptotic Analysis Exam I Prep Work on Project 2 Wed 2/28
Algs 170-198
18. Asymptotics II[video] [slides] [guide] Fri
Algs 170-198
19. Asymptotics III[video] [slides] [guide] 8Mon 3/5
Algs 216-233
20. Disjoint Sets[video] [slides] [guide] Asymptotic Analysis II
Asymptotic Analysis II Exam Prep Tree Maps (due 3/9) Wed 3/7
Algs 396-406
21. Trees, BSTs[video] [slides] [guide] HW 2: Percolation (due 3/14) Fri 3/9
Algs 424-431, 432-448 (extra)
22. Balanced BSTs[video] [slides] [guide] 9Mon 3/12
Algs 458-468, 478-479, 468-475 (extra)
23. Hashing[video] [slides] [guide] Hashing
Hashing Exam Prep Hash Maps (due 3/16) Wed 3/14
Algs 308-320
24. Heaps[video] [slides] [guide] Fri 3/16
None
25. Advanced Trees, incl. Geometric[video] [slides] [guide] HW 3: Hashing (due 3/19) 10Mon 3/19
None
26. Midterm 2 Review[video] [slides] [guide] Heaps and Graphs
Heaps and Graphs Exam Prep Heap Min PQ (due 3/23) Wed 3/21
Algs 515-537
27. Graphs[video] [slides] [guide] Midterm 2 (Date 3/20, Time 8-10PM)
Material up to 3/16 Fri 3/23
Algs 538-542, 566-583
28. Graph Traversals[video] [slides] [guide] HW 4: Puzzle Solver (due 4/4) Spring Break (3/26 - 3/30) 11Mon 4/2
None
29. Dynamic Programming[video] [slides] [guide] Graphs
Graphs Exam Prep Midterm 2 Review Wed 4/4
Algs 638-657
30. Shortest Paths[video] [slides] [guide] Fri 4/6
Algs 604-630
31. MSTs[video] [slides] [guide] Project 3: BearMaps (due 4/18) 12Mon 4/9
Algs 244-275, 323-327
32. Basic Sorting Algorithms[video] [slides] [guide] Graphs, Sorting
MST/SP Exam Prep Merge and Quick Sort (due 4/13) Wed 4/11
Algs 288-296, 302
33. Basic Sorts, Quick Sort[video] [slides] [guide] Fri 4/13
Algs 341-347
34. More Quick Sort, Stability, Shuffling[video] [slides] [guide] 13Mon 4/16
Algs 279-282
35. Sorting and Algorithmic Bounds[video] [slides] [guide] More Sorting
Sorting Exam Prep Radix Sort (due 4/20) Wed 4/18
Algs 702-718
36. Radix Sorts[video] [slides] [guide] Fri 4/20
Algs 730-752
37. Overview, Tries[video] [slides] [guide] HW 5: Seam Carving (due 4/25) 14Mon 4/23
None
38. Compression[video] [slides] [guide] Goodbye, Fun Fractal Sound (due 4/27) Wed 4/25
None
39. Reductions, Algorithmic Bounds, NP Completeness[video] [slides] [guide] Fri 4/27
None
40. Summary, Fun[video] [slides] [guide] Makeup HW 6:
Boggle (due 5/5)Makeup HW 7:
Compression (due 5/5) 15 RRR Week (May 1-5) Makeup Lab:
HugLife (due 5/5) Finals Week (May 8-12), Final exam: TBD