CS56, Fall 2017
Course Information
Labs:
| num | ready? | description | assigned | due |
|---|---|---|---|---|
| lab00 | true | Getting Started | Tue 10/03 09:30AM | Fri 10/06 05:00PM |
| lab01 | true | Tools for java development | Tue 10/03 02:00PM | Tue 10/10 11:59PM |
| lab02 | true | Polynomials | Thu 10/05 09:30AM | Tue 10/17 05:00PM |
| lab03 | true | First look at Legacy Code | Wed 10/18 02:00PM | Thu 10/26 11:59PM |
| Midterm Exam E01 | ||||
| lab04 | true | Intro to GUIs, Graphics | Wed 10/25 02:00PM | Wed 11/01 05:50PM |
| lab05 | true | Legacy Code Next Steps | Wed 11/01 02:00PM | Sun 11/12 11:59PM |
| Midterm E02 | ||||
| lab06 | true | CONSULT WITH YOUR MENTOR about lab05, lab07 | Wed 11/08 02:00PM | Wed 11/08 05:50PM |
| lab07 | true | Finishing up your legacy code project | Thu 11/09 02:00PM | Tue 11/28 11:59PM |
| lab08 | true | Recursive Descent Parsing | Tue 11/28 09:30AM | Sun 12/10 05:00PM |
| lab09 | true | Wrapping up your legacy code project (leaving a legacy) | Wed 11/29 02:00PM | Wed 12/06 05:50PM |
| proposal01 | true | Proposing a new legacy code project (optional) | Tue 10/31 10:45AM | Wed 11/01 02:00PM |
Homework:
| num | ready? | description | assigned | due |
|---|---|---|---|---|
| h00 | true | HFJ 1,2: Java basics | Thu 09/28 09:30AM | Tue 10/03 09:30AM |
| h01 | true | HFJ 3,4: Primitives, References, Instance Variables, Methods | Thu 09/28 09:30AM | Wed 10/04 05:00PM |
| h02 | true | HFJ 5,6: Random, ArrayList, first look at the Java API | Thu 09/28 09:30AM | Thu 10/05 09:30AM |
| h03 | true | HFJ 7,8: Inheritance, Polymorphism, Abstract Classes | Thu 09/28 09:30AM | Fri 10/06 11:59PM |
| h04 | true | HFJ 9,10,11: Constructors, Statics, Exceptions | Thu 10/05 02:00PM | Tue 10/10 09:30AM |
| h05 | true | HFJ 12: Intro to Java GUIs | Thu 10/05 09:30AM | Wed 10/11 09:30AM |
| h06 | true | HFJ 12, 13: More on GUIs | Fri 10/06 09:30AM | Thu 10/12 09:30AM |
| Midterm E01 | ||||
| h07 | true | Serialization (HFJ 14) | Tue 10/24 09:30AM | Mon 10/30 05:00PM |
| h08 | true | Threads and Sockets (Networking) (HFJ 15) (Gradescope submission) | Tue 10/24 09:30AM | Tue 10/31 09:30AM |
| h09 | true | Data Structures (HFJ 16) | Tue 10/24 02:00PM | Wed 11/01 05:00PM |
| h10 | true | Packages and JAR files (HFJ 17,pp. 581–595) | Tue 10/31 02:00PM | Thu 11/02 09:30AM |
| h11 | true | HFDP: Chapter 1 | Wed 11/01 02:00PM | Mon 11/06 05:00PM |
| h12 | true | Observer Design Pattern (HFDP 2) | Tue 10/31 09:30AM | Tue 11/07 09:30AM |
| h13 | true | The Decorator Pattern (HFDP 3) | Wed 11/01 02:00PM | Wed 11/08 05:00PM |
| h14 | true | The Decorator Pattern (HFDP 3, part 2), and the Open-Closed Principle | Thu 11/02 09:30AM | Thu 11/09 09:30AM |
| Midterm E02 | ||||
| h15 | true | The Factory Pattern (HFDP Ch 4, Continued) | Tue 11/07 09:30AM | Tue 11/14 09:30AM |
| h16 | true | Parsing | Tue 11/07 09:30AM | Wed 11/15 05:50PM |
| ic00 | true | Pair Partner Picking Planning | Thu 09/28 09:30AM | Thu 09/28 10:45AM |
| ic01 | false | Code Review Exercise | Fri 10/27 02:00PM | Fri 10/27 04:50PM |
Exams
| num | ready? | description | exam date |
|---|---|---|---|
| e01 | true | Midterm Exam | Thu 10/26 09:30AM |
| e02 | true | Midterm Exam | Thu 11/16 09:30AM |
| e03 | false | Final Exam | Tue 12/12 08:00AM |
Lectures
| num | date | description |
|---|---|---|
| Lecture 1 | Tue 09/26 | Orientation to the course |
| Lecture 2 | Thu 09/28 | Continuation of introduction to git/github and Java basics |
| Lecture 3 | Tue 10/03 | More on git/github and Java basics |
| Lecture 4 | Thu 10/05 | |
| Lecture 5 | Tue 10/10 | |
| Lecture 6 | Thu 10/12 | |
| Lecture 7 | Tue 10/17 | Review for Midterm Exam E01 |
| Lecture 8 | Tue 10/24 | Review for Midterm 1, continued |
| Lecture 9 | Tue 10/31 | TBD |
| Lecture 10 | Thu 11/02 | TBD |
| Lecture 11 | Tue 11/07 | -Xlint:unchecked, sockets, ports |
| Lecture 12 | Thu 11/09 | finish up ports, then some decorator pattern stuff |
| Lecture 13 | Tue 11/14 | Review for Midterm E02 |
| Lecture 14 | Tue 11/21 | Parsing lab overview |
Lectures from Fall 2016
| num | date | description |
|---|---|---|
| Lecture 1 | Tue 09/26 | Orientation to the course |
| Lecture 2 | Thu 09/28 | Continuation of introduction to git/github and Java basics |
| Lecture 3 | Tue 10/03 | More on git/github and Java basics |
| Lecture 4 | Thu 10/05 | == vs. .equals |
| Lecture 5 | Tue 10/10 | hashCode(), java.util.HashTable |
| Lecture 6 | Thu 10/12 | Legacy code, and preparation for lab03 |
| Lecture 7 | Tue 10/17 | Review for Midterm Exam E01 |
| Lecture 8 | Tue 10/24 | Intro to Tokens, FSAs |
| Lecture 9 | Thu 10/26 | More on Tokens, FSA |
| Lecture 10 | Tue 10/31 | finite state automata, corgis databases, ant properties, sorting with lambdas |
| Lecture 11 | Thu 11/02 | Factory Design Pattern, instanceof as a code smell, Parsing |
| Lecture 12 | Tue 11/07 | tbd |
| Lecture 13 | Thu 11/09 | Information about lab05 deadline, and legacy code progress |
| Lecture 14 | Tue 11/14 | review; lambda functions again, GUI review |
| Lecture 15 | Tue 11/21 | tbd |
| Lecture 16 | Thu 11/23 | Optional: Web Apps (in Java, and other languages) |
| Lecture 17 | Tue 11/28 | tbd |
| Final Lecture | Thu 11/30 | tbd |