Announcements
[View All]
«
-
08-20-2018
Online Course Announcement
- The autograder is now open to the public. Sign up using entry code MNXYKX at gradescope.com.
»
Calendar
Week | Date | Reading | Lecture | Discussion | Lab | Assignments/Exams | |
---|---|---|---|---|---|---|---|
1 | Wed 1/17 |
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 |
2. Defining and Using Classes [video] [slides] [guide] |
||||||
2 | Mon 1/22 |
3. References, Recursion, and Lists [video] [slides] [guide] |
Scope, Pass-by-Value, Static
[slides] [solution] Scope, Pass-by-Value, Static Exam Prep [solution] |
IntelliJ Home Setup IDEs (due 1/26) |
Project 0: NBody (due 1/26 @ 11:59PM)
|
||
Wed 1/24 |
4. SLLists, Nested Classes, Sentinel Nodes [video] [slides] [guide] |
||||||
Fri 1/26 |
5. DLLists, Arrays [video] [slides] [guide] |
||||||
3 | Mon 1/29 |
6. ALists, Resizing, vs. SLists [video] [slides] [guide] |
Linked Lists, Arrays
[slides] [solution] Linked Lists, Arrays Exam Prep [solution] |
Testing, Debugging (due 2/2) |
Project 1A: Data Structures (due 2/2 @ 11:59 PM)
|
||
Wed 1/31 |
3.1, Optional: TDD is dead, Unit Tests Are Waste, Response |
7. Testing [video] [slides] [guide] |
|||||
Fri 2/2 |
8. Inheritance, Implements [video] [slides] [guide] |
||||||
4 | Mon 2/5 |
9. Extends, Casting, Higher Order Functions [video] [slides] [guide] |
Inheritance
[slides] [solution] Inheritance Exam Prep [solution] |
Peer Code Review (due 2/9) |
Project 1B: Testing and HoFs (due 2/9 @ 11:59 PM)
|
Project 1 Gold: Autograding (due 2/10 @ 11:59 PM)
|
|
Wed 2/7 |
10. Subtype Polymorphism vs. HoFs [video] [slides] [guide] |
||||||
Fri 2/9 |
11. Libraries, Abstract Classes, Packages [video] [slides] [guide] |
||||||
5 | Mon 2/12 |
None |
12. Coding in the Real World, Review [slides] |
ADTs
[slides] [solution] ADTs Exam Prep [solution] |
Getting Started: Drawing in Project 2 Partner Form Due Friday |
Midterm 1 (Date 2/12, 8-10PM) Material up to 2/7 [solution] [video] |
|
Wed 2/14 |
13. Generics, Autoboxing [video] [slides] [guide] |
HW 1: Java Syntax and Sound Synthesis (due 2/21) |
Proj 2, Phase 1
|
||||
Fri 2/16 |
14. Exceptions, Iterators, Iterables [video] [slides] [guide] |
||||||
6 | Mon 2/19: Academic Holiday |
Selecting ADTs
[slides] [solution] Exceptions and Iterators Exam Prep [solution] |
Interactivity in Project 2 | ||||
Wed 2/21 |
15. Packages, Access Control, Objects [video] [slides] [guide] |
||||||
Fri 2/23 |
16. Encapsulation, Lists, Delegation vs. Extension [video (sp17)] [slides] [guide] |
Project 2, Phase 1 (early deadline 2/23)
|
|||||
7 | Mon 2/26 |
8.2, Algs 170-198 (top paragraph) |
17. Asymptotics I [video] [slides] [guide] |
Asymptotic Analysis I
[slides] [solution] Asymptotic Analysis Exam I Prep [solution] |
Work on Project 2 |
Project 2, Phase 1 (due 2/26)
|
|
Wed 2/28 |
8.3, Algs 170-198 |
18. Asymptotics II [video] [slides] [guide] |
Project 2, Phase 2 (due 3/5)
|
||||
Fri |
8.4, Algs 170-198 |
19. Asymptotics III [video] [slides] [guide] |
|||||
8 | Mon 3/5 |
Algs 216-233 |
20. Disjoint Sets [video] [slides] [guide] |
Asymptotic Analysis II
[slides] [solution] Asymptotic Analysis II Exam Prep [solution] |
Project 2 Demos (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] |
|||||
9 | Mon 3/12 |
Algs 458-468, 478-479, 468-475 (extra) |
23. Hashing [video] [slides] [guide] |
Disjoint Sets, Trees, and Hashing
[slides] [solution] Hashing Exam Prep [solution] |
Tree vs. 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)
|
||||
10 | Mon 3/19 |
None |
26. Midterm 2 Review [slides] |
Heaps, Traversals & Trees
[slides] [solution] Heaps and Graphs Exam Prep [solution] |
Heap Min PQ (due 3/23) | ||
Wed 3/21 |
Algs 515-537 |
27. Graphs [video] [video sp18] [slides] [guide] |
Midterm 2 (Date 3/20, Time 8-10PM) Material up to 3/16 [solution] [video] |
||||
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) | |||||||
11 | Mon 4/2 |
Algs 638-657 |
29. Shortest Paths [video] [slides] [guide] |
Graphs
[slides] [solution] Graphs Exam Prep [solution] |
Graphs (due 4/6) | ||
Wed 4/4 |
Algs 604-630 |
30. Minimum Spanning Trees [video] [slides] [guide] |
|||||
Fri 4/6 |
None |
31. Dynamic Programming [video] [slides] [guide] |
Project 3: BearMaps (due 4/18)
|
||||
12 | Mon 4/9 |
Algs 244-275, 323-327 |
32. Basic Sorting Algorithms [video] [slides] [guide] |
Graphs, Sorting
[slides] [solution] MST/SP Exam Prep [solution] |
Merge and Quick Sort (due 4/13) | ||
Wed 4/11 |
Algs 288-296, 302 |
33. Quick Sort [video] [slides] [guide] |
|||||
Fri 4/13 |
Algs 341-347 |
34. More Quick Sort, Stability, Shuffling [video] [slides] [guide] |
|||||
13 | Mon 4/16 |
Algs 279-282 |
35. Sorting and Algorithmic Bounds [video] [slides] [guide] |
More Sorting
[slides] [solution] Sorting Exam Prep [solution] |
Radix Sorts (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)
|
||||
14 | Mon 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 [slides] |
Makeup HW 6: oggle (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 |
Lab/Discussion Schedule
Office Hour Schedule
Note: Office hours before lecture Monday through Wednesday are in 109 Morgan. Office hours after lecture Wednesday and Friday are in 400 Cory. On Wednesday, Thursday, and Friday, feel free to come to lab with your questions.