Announcements
[Past Announcements]
Date | Category | Announcement |
---|---|---|
12/21 | Misc | Grades now posted. We hope you enjoyed the journey. Have a nice break! |
Calendar
Legend:
- HFJ: Head First Java
- AJR: A Java Reference
- DSIJ: Data Structures (Into Java)
Week | Date | Reading | Lecture | Discussion | Lab | Assignments/Exams |
---|---|---|---|---|---|---|
1 | Mon 8/21 | No classes | No discussion section | javac, java, git | HW0: A Few Java Exercises (due 9/1) |
|
Wed 8/23 | HFJ 1-26 | Intro, Hello World Java [slides] |
||||
Fri 8/25 | AJR 1.1-1.9 | A Little Programming [slides][code] |
||||
2 | Mon 8/28 | HFJ 50-62 | Developing a Sort, Unit Testing [slides][code] |
Intro to Java
[Solution] |
IntelliJ and IntLists | HW1: JUnit testing, basic syntax, and linked lists (due 9/8) Project 0: 2048 (due 9/18) |
Wed 8/30 | HFJ 27-36. AJR Chapter 4 | Values and Containers [slides][code] |
||||
Fri 9/1 | Simple Pointer Manipulation [slides][code] |
|||||
3 | Mon 9/4 | No classes |
Pointers
[Solution] |
DblIntLists and Collections (+IntelliJ) | ||
Wed 9/6 | HFJ 670 | Arrays [slides][code] |
||||
Fri 9/8 | HFJ 73-87 | Object-Based Programming [slides][code] |
||||
4 | Mon 9/11 | HFJ 168-191, 236-265, 287-293 | Object-oriented Mechanisms [slides] |
More objects and arrays
[Solution] |
Mostly Proj0 | Project 1: A Simple Database System (due 10/13) HW2: Arrays and Lists of Lists (due 9/22) |
Wed 9/13 | HFJ 200-229 | Interfaces and Abstract Classes [slides] |
||||
Fri 9/15 | HFJ 73-87 | Interfaces and Abstract Classes [slides][code] |
||||
5 | Mon 9/18 | Examples: Comparable and Reader [slides][code] |
Inheritance
[Solution] |
Collections, Iterators, and Iterables | HW3: OOP, Interfaces, and Inheritance (due 10/2) |
|
Wed 9/20 | HFJ 316-348 | Exceptions [slides] |
||||
Fri 9/22 | HFJ 154-160, 587-593, 665-668 | Packages, Access, Etc. [slides] |
||||
6 | Mon 9/25 | AJR 6.3, 6.4, HFJ 274-310 | Integers [slides] |
Test review
[Solution] |
Getting started on Proj1 | |
Wed 9/27 | DSIJ Chapter 1 | Integers | ||||
Fri 9/29 | Complexity [slides] |
|||||
7 | Mon 10/2 | DSIJ Chapters 2 and 3 | Collections, Amortization [slides] |
Bits and Algorithmic Analysis
[Solution] |
Asymptotic Analysis | HW4: Scanners and Patterns (due 10/9) |
Wed 10/4 | DSIJ Chapter 4 | Sequences, Some Design Patterns [slides][code] |
||||
Fri 10/6 | Sequences (II) | |||||
8 | Mon 10/9 | DSIJ Chapter 5 | Trees [slides] |
More Algorithmic Analysis
[Solution] |
Competition Problems | Project 2: Qirkat (due 11/9 (milestone due 11/6)) HW5: Bit Operations, BSTs, and Asymptotic Analysis (due 10/20) |
Wed 10/11 | DSIJ Chapter 6 | Tree searching [slides][code] |
||||
Fri 10/13 | Game trees [slides] |
|||||
9 | Mon 10/16 | DSIJ 6.4, 6.5 | Priority Queues, Range Queries [slides] |
Binary Trees
[Solution] |
Priority Queues and Debugging | |
Wed 10/18 | DSIJ Chapter 7 | Hashing [slides] |
||||
Fri 10/20 | AJR Chapter 10 | Generics [slides] |
||||
10 | Mon 10/23 | DSIJ 8 | Sorting [slides] |
Heaps and Hashing
[Solution] |
More Debugging | HW6: Hashing and Ranges (due 11/3) |
Wed 10/25 | Sorting (II) [slides] |
|||||
Fri 10/27 | sorting demos | Sorting (III) [slides] |
||||
11 | Mon 10/30 | DSIJ 9 balanced-search demos |
Balanced Search Structures [slides] |
Sorting
[Solution] |
Testing Qirkat | |
Wed 11/1 | Review | |||||
Fri 11/3 | Balanced Search Structures (II) [slides] |
|||||
12 | Mon 11/6 | DSIJ 11 | Pseudo-Random Sequences [slides] |
Balanced Search
[Solution] |
Balanced Search Trees | HW7: Sorting (due 11/21) |
Wed 11/8 | DSIJ 12 | Graphs, Introduction, Traversals [slides] |
||||
Fri 11/10 | Veterans Day: No classes | |||||
13 | Mon 11/13 | A* Search, Minimal spanning trees, Union-find [slides] |
Graphs
[Solution] |
Graphs | Project 3: Gitlet (due 12/6) |
|
Wed 11/15 | Dynamic Programming, Git internals [slides] |
|||||
Wed 11/17 | DSIJ 10, HFJ pp. 489-516 | Enumeration Types, Threads [slides] |
||||
14 | Mon 11/20 | Garbage Collection [slides] |
A* Search
[Solution] |
HW8: Graphs (due 12/1) |
||
Wed 11/22 | No lecture | |||||
Fri 11/24 | Thanksgiving Holiday | |||||
15 | Mon 11/27 | Slides from Josh Hug | Compression [slides] |
Fun and Review
[Solution] |
Proj3 Work Day | |
Wed 11/29 | Review |
|||||
Fri 12/1 | Summary, Survey [slides] |
Lab/Discussion Schedule
Office Hour Schedule
-
Professor Hilfinger's office hours are in 787 Soda Hall. Feel free to drop by whenever the door is open. All other office hours are located in 109 Morgan.