Announcements
Date | Announcement |
---|---|
4/6 | Office hours on 4/6 will be held in 310 Soda until 5pm. They will be back in Bechtel from 5-6pm. |
4/3 | Midterm 2 is on Fri 4/3, 7-9 PM. You are allowed two double-sided crib sheets. Your exam room is based on your Tele-BEARS enrolled lab section: 1 Pimentel (Labs 11-24), 155 Dwinelle (Labs 25-38), 145 Dwinelle (Labs 39-44). |
4/2-4/3 | April 2 & 3 labs are special midterm 2 themed office hours. There are also special project 2 help labs which will be prioritizing project 2 questions. Check this Piazza post for more details on topics and lab schedules. |
Calendar
Week | Date | Readings | Lectures | Discussions | Labs | Homework/Projects | Exams |
---|---|---|---|---|---|---|---|
1 | Mon 1/19 | Academic Holiday | Midterm 1:Wed 2/18,7-9 PM(150 Wheeler, 1 Pimentel) | ||||
Wed 1/21 | HFJ 1-26 | Intro, Hello World Java [video] [slides] [code] |
Intro to Java | javac, java, Git | HW0: Optional Java Exercises | ||
Fri 1/23 | HFJ 27-36, 50-62, 72-79, 83-86 | Defining and using classes [video] [slides] [code] |
|||||
2 | Mon 1/26 | HFJ 80-82, 9.2.2 and 9.2.3 | References, Linked Lists [video] [slides] [code] |
Diagramming, Iterative vs. Recursive | JUnit Testing | ||
Wed 1/28 | TDD is dead. Long live testing. | Testing [video] [slides] [code] |
HW 1: NBody Simulation | ||||
Fri 1/30 | AJR Section 6.3, HFJ pg. 660 | Binary and Bits, A 61C Preview [video] [slides] [code] |
|||||
3 | Mon 2/2 | JRS notes | Node lists, sentinel nodes. [videos:(p1), (p2)] [slides] [code] |
Arrays vs. Linked Lists | Debugging, Doubly-Linked Lists | ||
Wed 2/4 | HFJ 670, 59-61, 83, 114-116 | Arrays, For Loops [video] [slides] [code] |
HW 2: Bitwise Operators, Pointers, Linked Lists | ||||
Fri 2/6 | wiki | Resizing Arrays, Lists vs. Arrays [video] [slides] [code] |
|||||
4 | Mon 2/9 | HFJ 168-191, 208-218 | Inheritance, Subtype Polymorphism [video] [slides] [code] |
Inheritance | Project 0 Work Day | ||
Wed 2/11 | HFJ 197-207, 219-227 | Abstract Classes, Interfaces [video] [slides] [code] |
|||||
Fri 2/13 | Passably useful read | Higher-Order Functions, Callbacks, Comparators/Comparables [video] [slides] [code] |
proj0 | ||||
5 | Mon 2/16 | Academic Holiday | |||||
Wed 2/18 | None | Midterm 1 Review [slides] [code] |
Midterm 1 Review | WeirdLists & OOP | HW 3: Inheritance, HoF, Callbacks | ||
Fri 2/20 | HFJ Chapter 5, 6, esp 154-160, HFJ 587-590 | Environment Variables, Packages, Java Libraries [video] [slides] [code] |
Midterm 2:Fri 4/3,7-9 PM(1 Pimentel, 145/155 Dwinelle) | ||||
6 | Mon 2/23 | HFJ 131-137, 287-293, 529-550, 568-575 | Generics, Conversion, Promotion [video] [slides] [code] |
Selecting ADTs | HugLife | ||
Wed 2/25 | HFJ 319-337, JRS notes | Exceptions, Iterator and Iterable [video] [slides] [code] |
HW 4: Packages | ||||
Fri 2/27 | Revised JRS notes | Java Loose Ends [video] [slides] [code] |
|||||
7 | Mon 3/2 | Algs 28-29, 64, 96-101, 105-106, 126-127 | Encapsulation, Delegation vs. Extension [video] [slides] [code] |
Exceptions, Mutability, Design | Project 1 Work Day | ||
Wed 3/4 | Algs 170-198 (top paragraph) | Asymptotics I [video] [slides] [guide] |
HW 5: Generics | ||||
Fri 3/6 | Algs 216-233 | Disjoint Sets [video] [slides] [guide] |
|||||
8 | Mon 3/9 | Algs 170-198 | Asymptotics II [video] [slides] [guide] |
Asymptotics | Asymptotics | ||
Wed 3/11 | Algs 170-198 | Asymptotics III [video] [slides] [guide] |
proj1 | ||||
Fri 3/13 | 396-406 | Binary Search Trees [video] [slides] [guide] |
|||||
9 | Mon 3/16 | 424-431, 432-448 (extra) |
Balanced BSTs [video] [slides] [guide] |
Trees, BSTs | Project 2 Design Workshop | ||
Wed 3/18 | Algs 458-468, 478-479, 468-475 (extra) | Hashing [video] [slides] [guide] |
HW 6: BSTs and Asymptotics | ||||
Fri 3/20 | N/A | Trees [video] [slides] [guide] |
|||||
Spring Break (March 23-27) | |||||||
10 | Mon 3/30 | Algs 308-320 | Heaps [video, video (hug)] [slides] [guide] |
Heaps & Hashing | Debugging, Project 2 Work Day | ||
Wed 4/1 | Algs 244-250, 270-275, 323-327 | Selection Sort, Heapsort [video] [slides] [guide] |
HW 7: Hashing | ||||
Fri 4/3 | N/A | Midterm Review [morning slides] [afternoon slides] [video] |
|||||
11 | Mon 4/6 | Algs 250-263 | Insertion Sort, Shell's Sort, Implementations [video] [slides] [guide] |
Sorting | Project 2 Work Day | Final Exam:Tue 5/12,11:30-2:30 PM or 7-10 PM(Locations TBA) | |
Wed 4/8 | Algs 288-302 | Quicksort [video] [slides] [guide] | |||||
Fri 4/10 | Algs 279-283, 341-344 | Sorting Tradeoffs & Algorithmic Bounds [video] [slides] [guide] |
|||||
12 | Mon 4/13 | Algs 702-718 | Radix Sorts [video] [slides] [guide] |
Bounds, Comparing Algorithms | Sounds of Sorting | proj2 | |
Wed 4/15 | Algs 730-752 | Tries [video] [slides] [guide] | |||||
Fri 4/17 | Algs 515-537 | Graphs Intro [video] [slides] [guide] |
|||||
13 | Mon 4/20 | Algs 538-542, 566-583 | Graph Traversals [video] [slides] [guide] |
Graphs | Graphs | ||
Wed 4/22 | Algs 638-657 | DFS vs. BFS, Shortest Paths [video] [slides] [guide] |
|||||
Fri 4/24 | Algs 604-630 | Minimum Spanning Trees [video] [slides] [guide] |
HW 8: Sorting | ||||
14 | Mon 4/27 | N/A | Compression [video] [slides] |
Fun Puzzles | Project 3 Work Day | ||
Wed 4/29 | N/A | Impossible and Intractable Problems [slides] [video] |
|||||
Fri 5/1 | N/A | Summary & Fun [slides] | proj3 | ||||
RRR Week (May 4-8) | |||||||
Finals Week (May 11-15) |
Lab/Discussion Schedule
Office Hour Schedule
Note: There are two standard locatons for office hours, both in Becthel (see map). When possible, we will use 240 Bechtel, but when that room is not available, we will use the Garbarini Lounge.Office hours will be in 240 Bechtel on Monday 11-3 PM, Tuesday 11-4 PM, and Wednesday 11-5 PM. At all other times, it will be in the Garbarini Lounge.