CS56, Fall 2017

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