The following is the current weekly schedule. This schedule is subject to change and will be frequently updated throughout the semester. The latest deadlines may also be found on Canvas.
Week 01
Tue 01/26
Recordings
Tue 01/26
Lecture (Sync)
Thu 01/28
Recordings
Thu 01/28
Lecture (Sync)
Fri 01/29
Lab (Sync)
Assignments
- 02/02: Introductions
- 02/02: Forum Setup
- 02/02: Course Syllabus
Dates and Deadlines
- 01/25: Classes Begin
Dates and Deadlines
- Due: Attendance (Class)
Assignments
- 02/05: ArgumentMap
- 02/05: Homework Setup
Dates and Deadlines
- Due: Attendance (Other)
- 02/05: Add Deadline
Week 02
Tue 02/02
Content (Async)
- Brief Introduction to Asynchronous Content
- Paths and Files (Slides)
- DirectoryStream Demo (Code)
- Data Structures (Slides)
- Collections Framework (Slides)
- Collection Demo (Code)
- Map Demo (Code)
Additional Content
Thu 02/04
Recordings
Thu 02/04
Lecture (Sync)
Additional Content
Fri 02/05
Lab (Sync)
Assignments
- 02/04: Paths and Files
- 02/04: Data Structures
Dates and Deadlines
- Due: Introductions
- Due: Forum Setup
- Due: Course Syllabus
Assignments
- 02/11: Using Maps
Dates and Deadlines
- Due: Attendance (Class)
- Due: Paths and Files
- Due: Data Structures
Assignments
- 02/12: SimpleJsonWriter
Dates and Deadlines
- Due: Attendance (Other)
- Due: ArgumentMap
- Due: Homework Setup
Week 03
Tue 02/09
Content (Async)
Thu 02/11
Recordings
Thu 02/11
Lecture (Sync)
Additional Content
Fri 02/12
Lab (Sync)
Assignments
- 02/11: Static vs Instance
- 02/11: Instance vs Identifier
Assignments
- 02/18: Mutability, Part 1
- 02/18: Mutability, Part 2
Dates and Deadlines
- Due: Attendance (Class)
- Due: Using Maps
- Due: Static vs Instance
- Due: Instance vs Identifier
Assignments
- 03/02: Project 1 Inverted Index
- 02/19: TextFileStemmer
- 02/19: Lecture Setup
Dates and Deadlines
- Due: Attendance (Other)
- Due: SimpleJsonWriter
- 02/12: Drop Deadline
Week 04
Tue 02/16
Content (Async)
Thu 02/18
Recordings
Thu 02/18
Lecture (Sync)
Fri 02/19
Lab (Sync)
Assignments
- 02/18: Inheritance Keywords
- 02/18: Collections Revisited
- 02/18: Casting
Assignments
- 02/25: Nested Classes
Dates and Deadlines
- Due: Attendance (Class)
- Due: Mutability, Part 1
- Due: Mutability, Part 2
- Due: Inheritance Keywords
- Due: Collections Revisited
- Due: Casting
Assignments
- 02/26: TextFileIndex
Dates and Deadlines
- Due: Attendance (Other)
- Due: TextFileStemmer
- Due: Lecture Setup
Week 05
Tue 02/23
Content (Async)
- Gadget Sort Demo (Code)
- – Gadget
- – GadgetComparator
- – GadgetSortDemo
- Brief Java History (Slides)
- Lambda Expressions (Slides)
- Stream Basics (Slides)
- Stream Pipelines (Slides)
Additional Content
Thu 02/25
Recordings
Thu 02/25
Lecture (Sync)
Fri 02/26
Lab (Sync)
- Homework Help
- Project Help
Assignments
- 02/25: Java Features
Assignments
- 03/04: Lambda Expressions
- 03/04: Stream Pipelines
Dates and Deadlines
- Due: Attendance (Class)
- Due: Nested Classes
- Due: Java Features
Assignments
- 03/05: TextFileFinder
- 03/05: Project Setup
- 05/14: Forum Post
- 05/14: Forum Response
Dates and Deadlines
- Due: Attendance (Other)
- Due: TextFileIndex
Week 06
Tue 03/02
Content (Async)
Thu 03/04
Recordings
Thu 03/04
Lecture (Sync)
Fri 03/05
Lab (Sync)
- Homework Help
- Project Help
Dates and Deadlines
- Due: Attendance (Class)
- Due: Lambda Expressions
- Due: Stream Pipelines
- Due: Assertions
- Due: Logging
Assignments
- 03/12: LoggingSetup
- 03/30: Project 2 Partial Search
Dates and Deadlines
- Due: Attendance (Other)
- Due: TextFileFinder
- Due: Project Setup
Week 07
Tue 03/09
Lecture (Sync)
- Exam 1
Thu 03/11
Lecture (Sync)
- Exam 1 Retake
Fri 03/12
Lab (Sync)
- Homework Help
- Project Help
Week 08
Tue 03/16
No Class
- Spring Break
Thu 03/18
No Class
- Spring Break
Fri 03/19
No Class
- Spring Break
Week 09
Tue 03/23
Content (Async)
Additional Content
- Learning Regular Expressions
- Linkedin Learning Mini-Course
- Login via MyUSF Required
- Regular Expressions
- Includes Extra Code Demos
Thu 03/25
Recordings
Thu 03/25
Lecture (Sync)
Fri 03/26
Lab (Sync)
- Homework Help
- Project Help
Assignments
- 03/25: Regex Basics
Assignments
- 04/01: Unit Testing
- 04/09: Midterm Survey
Dates and Deadlines
- Due: Attendance (Class)
- Due: Regex Basics
Assignments
- 04/02: LinkParser
Dates and Deadlines
- Due: Attendance (Other)
- Due: Project 1 Code Review
Week 10
Tue 03/30
Content (Async)
- Multithreading Introduction (Slides)
- Thread Lifecycle (Slides)
- Thread State Demo (Code)
- Synchronization (Slides)
- Thread Liveness (Slides)
- Random Array Total (Code)
Additional Content
Thu 04/01
Recordings
Thu 04/01
Lecture (Sync)
Fri 04/02
No Class
- Easter Break
Assignments
- 04/08: Synchronization
Dates and Deadlines
- Due: Attendance (Class)
- Due: Unit Testing
- Due: Thread Basics
- Due: Thread Demos
- 04/01: Easter Break @ 4pm
Dates and Deadlines
- Due: LinkParser
Week 11
Tue 04/06
Content (Async)
- Custom Locks (Slides)
- IndexedSet (4 Parts)
- – IndexedSet (Code)
- – SynchronizedSet (Code)
- – ConcurrentSet (Code)
- – SetDemo (Code)
- Volatile Keyword (Slides)
- Thread Pools and Work Queues (Slides)
- WorkQueue Implementation (Code)
Fri 04/09
Lab (Sync)
- Homework Help
- Project Help
Assignments
- 04/20: Project 3 Multithreading
- 04/16: ReadWriteLock
- 04/16: PrimeFinder
- 04/08: Work Queues
- 04/08: IndexedSet Demo
Dates and Deadlines
- Due: Attendance (Class)
- Due: Synchronization
- Due: Work Queues
- Due: IndexedSet Demo
Dates and Deadlines
- Due: Attendance (Other)
- Due: Midterm Survey
- Due: PROJECT CUTOFF
- 04/12: Withdraw Deadline
Week 12
Tue 04/13
Content (Async)
Thu 04/15
Recordings
Thu 04/15
Lecture (Sync)
Assignments
- 04/16: Web Basics
- 04/16: HTTP Basics
- 04/16: Dynamic Pages
Dates and Deadlines
- 04/13: Registration Begins
Dates and Deadlines
- Due: Attendance (Class)
Dates and Deadlines
- Due: Attendance (Other)
- Due: ReadWriteLock
- Due: PrimeFinder
- Due: Web Basics
- Due: HTTP Basics
- Due: Dynamic Pages
- Due: Project 2 Code Review
Week 13
Tue 04/20
Content (Async)
- Simple File Server (Code)
- Gallery Server (Code)
- Context Server (Code)
- Message Server (3 Parts)
- – Message Server (Code)
- – Message Servlet (Code)
- – Bulma Servlet (Code)
Thu 04/22
Recordings
Thu 04/22
Lecture (Sync)
Fri 04/23
Lab (Sync)
- Homework Help
- Project Help
Dates and Deadlines
- Due: Attendance (Class)
Assignments
- 04/30: HtmlFetcher
- 05/11: Project 4 Web Crawler
Dates and Deadlines
- Due: Attendance (Other)
- Due: Servlet Contexts
- Due: MessageServer Demo
- Due: HtmlCleaner
Week 14
Tue 04/27
Content (Async)
Thu 04/29
Recordings
Thu 04/29
Lecture (Sync)
Fri 04/30
Lab (Sync)
- Homework Help
- Project Help
Assignments
- 04/30: SQL Joins
- 04/30: SQL Groups
- 04/30: SQL Discussion
Dates and Deadlines
- Due: Attendance (Class)
Assignments
- 05/07: HeaderServer (Optional)
- Finals: Project 4 Search Engine
Dates and Deadlines
- Due: Attendance (Other)
- Due: HtmlFetcher
- Due: SQL Joins
- Due: SQL Groups
- Due: SQL Discussion
Week 15
Tue 05/04
Lecture (Sync)
- Exam 2
Thu 05/06
Lecture (Sync)
- Exam 2 Retake
Fri 05/07
Lab (Sync)
- Homework Help
- Project Help
Week 16
Tue 05/11
Content (Async)
- Java Database Connectivity (Slides)
- Faculty Contact Server (Code)
- – Part 1: SQL and HTML (Code)
- – Part 2: Database Connector (Code)
- – Part 3: Faculty Server (Code)
- – Part 4: Faculty Servlet (Code)
Final Project Deadlines
- 05/10: Last Synchronous Requests
- 05/14: Last Synchronous Reviews
- 05/15: Last Asynchronous Requests
- 05/16: Last Functionality Issues
End of Semester Deadlines
- 05/16: Exam 2 Asynchronous Retake
- 05/14: Forum Post
- 05/14: Forum Response
- 05/19: Course Evaluation
Dates and Deadlines
- Due: Attendance (Class)
- 05/13: Classes End
Finals
Finals
Mon 05/17 to Thu 05/20
Dates and Deadlines