Course Schedule
Fall 2018

Note: this schedule is subject to change.

Week Topics Code/Resources Assignments Due
1
8/22
Classes begin Wednesday.
Introduction
Java Notes
Java Self Test
Github resources
Martin Fowler
Due Friday - 5pm - Homework 0 Survey Form
2
8/27-8/29
Data Structures
Inheritance
Inheritance Worksheet
GSON Documentation
GSON API Javadoc
Due Tuesday - 5pm - Project 0
3
9/3-9/5
No class on 9/3 (Labor Day holiday)
Project 1 Discussion
Program Design
Project 0 Design Examples
Baeldung Design Patterns Examples
4
9/10-9/12
Design Patterns Example Project - Partial
Design Patterns Example Project - Complete
Threads Notes
Threads Sample Code
Design Patterns Reading
5
9/17-9/19
Computer Networking
Sockets Sample Code
Java Sockets Tutorial
Guide to Sockets
Due Wednesday - 11am - Project 1
6
9/24-9/26
Computer Networking
Sockets Sample Code
Microcloud Node Assignments
7
10/1-10/3
Software Testing
JUnit Example
Fowler on Integration Tests
8
10/8-10/10
Exam 1 - Wednesday 10/10
10/8 - Exam Review
Exam Review
Sample Exam
Due Monday - 11am - Project 2
9
10/15-10/17
No class on 10/15 (Fall Break)
10/17 - Project 2 Interactive Grading
Due Wednesday - 11am - Project 2
10
10/22-10/24
Computer Networking
HTTP, HTML, and the Web
Netflix Microservices Video
11
10/29-10/31
Web Services
12
11/5-11/7
Servlets
Persistent Storage
JDBC
Jetty Documentation
Jetty Servlet API
Due Wednesday - 11am - Project 3
Project 3 Submission Guidelines
13
11/12-11/14
Password Hashing
Salting
Transactions
Using sql.cs.usfca.edu
Project 4 Assigned
14
11/19-11/21
Thanksgiving holiday begins Thursday.
Side Project Extra Credit Signup
Side Project suggested deadline
15
11/26-11/28
Exam 2 - Wednesday 11/28
Make up lecture - Friday 11/30 2:30-4:30pm in HR 136
Exam Review
Sample Exam
16
12/3-12/5
Project 4 Checkpoint meetings
Finals Week
12/7-12/13
Project 4 Final Demonstrations
Project 4 Interactive Grading Signup