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 |