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
Thu 01/26 Async Videos
- Intro to Asynchronous 1:09
- Exception Handling 10:25
- Simple Grader
- Part 1 Motivation 07:39
- Part 2 Validation 08:07
- Part 3 Catching 15:46
- Paths and Files 20:29
- Path Demo 13:12
- DirectoryStream Demo 11:30
Async Assignments
- 01/30: Forum Setup
- 01/30: Course Syllabus
- 01/30: Exceptions
- 01/30: Paths and Files
Fri 01/27 Lab Agenda
Assignments
- 02/03: Homework Setup
- 02/03: Week 01 Attendance
- 02/03: ArgumentParser
- Due Mid-Semester
- 03/10: Ask Why on Piazza
- 03/10: CS Event 1
- Due End Semester
- 05/12: Post on Piazza
- 05/12: Reply on Piazza
- 05/12: CS Event 2
Week 02
Tue 01/31 Sync Lecture
Thu 02/02 Async Videos
- Abstract Data Types 12:25
- Collections Framework 20:26
- Data Structures
- Collection Demo 11:18
- Map Demo 21:22
- Nested Map Demo 22:56
Async Assignments
- 02/06: Lecture Setup
- 02/06: Data Structures
- 02/06: Using Maps
Fri 02/03 Lab Agenda
Assignments
- 02/10: Project Setup
- 02/10: Project 1 Writeup
- 02/10: Week 02 Attendance
- 02/10: FileStemmer
- 02/17: JsonWriter
- 02/10: Project v1.0 Tests
Week 03
Tue 02/07 Sync Lecture
Additional Content
Thu 02/09 Async Videos
- Object Oriented Programming 25:22
- Exploring Objects
- Static Demo 12:55
- Object Demo 14:45
- String Demo 13:09
- Mutability Demo 21:48
Async Optional Videos
- Widget Demo (Optional) 42:08
- Widget
- Widget Demo
Async Assignments
- 02/13: Instance vs Static
- 02/13: Instance vs Identifier
Fri 02/10 Lab Agenda
Assignments
- 02/17: Week 03 Attendance
- 02/17: JsonWriter
- 02/24: FileIndex
- 02/17: Project v1.0 Review
- 02/17: Project v1.1 Tests
Major Deadlines
- Census Date
- Due: Project v1.0 Tests
Week 04
Thu 02/16 Async Videos
- Generic Types 16:53
- Inheritance Relationships 15:09
- Abstract and Interfaces 14:36
- Final Keyword 10:06
- Casting 10:42
- Object Class 06:59
- Collections Revisited 21:06
Async Optional Videos
- Generics Demo 27:45
Async Assignments
- 02/20: Inheritance Keywords
- 02/20: Collections Revisited
Fri 02/17 Lab Agenda
- Homework Help
- Project Help
Assignments
- 02/24: Week 04 Attendance
- 02/24: FileIndex
- 02/24: Project v1.1 Review
Major Deadlines
- Due: Project v1.0 Review
- Due: Project v1.1 Tests
Week 05
Tue 02/21 Sync Lecture
- Nested Classes
- Inheritance Basics
- Shape, Rectangle, Square
- Shape Demo
- Inheritance Demos
- Word Group, Prefix, Length
- Word Group Demo
- Gadget Sort Demo 19:43
- Gadget, Gadget Comparator
- Gadget Sort Demo
Additional Content
Assignments
- 03/10: Share Resources
- 02/27: Casting
- 02/27: Nested Classes
Thu 02/23 Async Videos
- Java Features 17:45
- Lambda Expressions 35:58
- Path Matcher 14:09
- Stream Basics 17:36
- Project Euler 1 Revisited 13:25
Async Assignments
- 02/27: Java Features
- 02/27: Lambda Expressions
Fri 02/24 Lab Agenda
- Project 2 Search
- Homework Help
- Project Help
Assignments
- 03/03: Week 05 Attendance
- 03/03: FileSorter
- 03/03: Project 2 Writeup
- 03/03: Project v1.x Design
Major Deadlines
- Due: Project v1.1 Review
Week 06
Tue 02/28 Sync Lecture
Thu 03/02 Async Videos
- Text File Parser 18:31
- Stream Pipelines 20:37
- Stream Pipelines
- Stream Demo 32:01
- Infinite Stream Demo 09:16
- Text File Streamer 21:04
Async Assignments
- 03/06: Stream Pipelines
Fri 03/03 Lab Agenda
- Homework Help
- Project Help
Assignments
- 03/10: Week 06 Attendance
- 03/10: FileFinder
- 03/10: Project v2.0 Tests
Major Deadlines
- Due: Project v1.x Design
Week 07
Tue 03/07 Sync Lecture
Thu 03/09 Async Videos
- Assertions 11:41
- Logging 24:00
- Log4j2 Demo 11:11
- Character Counter 20:03
Async Assignments
- 03/21: Exam 1 Retake
- 03/20: Assert Statements
- 03/20: Logging
Fri 03/10 Lab Agenda
- Homework Help
- Project Help
Assignments
- 03/24: Week 07 Attendance
- 03/24: LoggerSetup
- 03/24: Project v2.0 Review
- 03/24: Project v2.1 Tests
Major Deadlines
- Due: Project v2.0 Tests
- Due: Ask Why on Piazza
- Due: CS Event 1
- Due: Share Resources
Week 08
Tue 03/14 Class Cancelled
- Spring Break
Thu 03/16 Class Cancelled
- Spring Break
Fri 03/17 Lab Cancelled
- Spring Break
Week 09
Tue 03/21 Sync Lecture
- Multithreading 13:35
- Random Array Demo 20:13
- Thread Lifecycle 15:40
- Thread State Demo 11:01
- Consistency
- Synchronization 20:46
Additional Content
- Liveness 11:13
Major Deadlines
- Due: Exam 1 Retake
Thu 03/23 Async Videos
- Liveness 11:13
- Coordination 14:46
- Bounded Buffer 34:23
- Bounded Buffer
- Mirror Driver
- Conditional Locks 12:49
- Thread-Safe Indexed Set
- Indexed Set 07:46
- Synchronized Set 05:49
- Concurrent Set 06:52
- Set Demo 05:11
Async Assignments
- 03/27: Midterm Survey
- 03/27: Thread Basics
- 03/27: Synchronization
Fri 03/24 Lab Agenda
- Homework Help
- Project Help
Assignments
- 03/31: Week 09 Attendance
- 03/31: MultiReaderLock
- 03/31: Project v2.1 Review
Major Deadlines
- Due: Project v2.0 Review
- Due: Project v2.1 Tests
Week 10
Tue 03/28 Sync Lecture
Thu 03/30 Async Videos
- Volatile Keyword 10:31
- Thread Pools and Work Queues 10:02
- Work Queue 19:43
- Queued Directory Listing 15:25
- PrimeFinder Intro 4:25
Async Optional Videos
- Threaded Directory Listing (All Versions) 59:01
Async Assignments
- 04/03: Project 3 Writeup
- 04/03: Work Queues
Fri 03/31 Lab Agenda
- Homework Help
- Project Help
Assignments
- Due Mon to Observe Holiday
- 04/10: Week 10 Attendance
- 04/10: PrimeFinder
- 04/10: Project v2.x Design
- 04/10: Project v3.0 Tests
Major Deadlines
- Due: Project v2.1 Review
Week 11
Tue 04/04 Sync Lecture
- Regular Expressions
- Character Classes 15:09
- Quantifiers 15:45
- Word Parsing 13:03
- Boundaries
- Groups (Try It)
Additional Content
Thu 04/06 Async Videos
- Regular Expressions 14:08
- Web Basics 06:34
- Uniform Resource Locator (URL) 14:51
- Hypertext Transfer Protocol (HTTP) 07:37
- HTTP Demos 11:59
Async Optional Videos
Async Assignments
- 04/10: Regular Expressions
- 04/10: HTTP Basics
Fri 04/07 Lab Cancelled
- Easter Recess
Assignments
- 04/14: Week 11 Attendance
- 04/14: Project v3.0 Review
- 04/14: Project v3.1 Tests 1.1
Major Deadlines
- Due Mon to Observe Holiday
- 04/10: Project v2.x Design
- 04/10: Project v3.0 Tests
- 04/10: Withdraw Deadline
Week 12
Tue 04/11 Sync Lecture
- Sockets
- Simple Client and Simple Server 18:12
- HTTPS Fetcher
- Servlet Basics
- Today Server
- Hello Server
- Visit Server
Additional Content
Thu 04/13 Async Videos
- Static vs Dynamic Web 08:29
- Jetty and Servlets 10:19
- Servlet Basics
- Hello Server 15:09
- Simple File Server 09:55
- Gallery Server 08:42
- Context Server 15:28
- Pending
Async Assignments
- 04/17: Dynamic Web
- 04/17: Servlet Contexts
Fri 04/14 Lab Agenda
- Homework Help
- Project Help
Assignments
- 04/21: Week 12 Attendance
- 04/21: HtmlFetcher
- 04/21: Project v3.1 Review 1.1
Major Deadlines
- Due: Project v3.0 Review
- Due: Project v3.1 Tests 1.1
Week 13
Tue 04/18 Sync Lecture
Thu 04/20 Async Videos
- Message Board (Data)
- Message Board Setup 15:58
- Message Board Servlet 27:09
- Adventure Game (Sessions)
- Adventure Game Intro 03:28
- Adventure Game Logic 14:47
- Adventure Game Servlet 15:53
Async Optional Videos
- Message Board Style 18:32
Async Assignments
- 04/24: End-of-Semester Plan
Fri 04/21 Lab Agenda
- Homework Help
- Project Help
Assignments
- 04/28: Week 13 Attendance
- 04/28: HtmlCleaner
- 04/28: Project v3.x Design 1.7
Major Deadlines
- Due: Project v3.1 Review 1.1
Week 14
Tue 04/25 Sync Lecture
Thu 04/27 Async Videos
- Structured Query Language (SQL) 20:45
- Database Accounts
- SQL Introduction
- Getting Started (Walkthrough) 25:45
- Joining Data (Walkthrough) 24:53
- Enforcing Relationships (Walkthrough) 08:36
Additional Content
Async Assignments
- 05/01: SQL Joins
- 05/01: SQL Groups
Fri 04/28 Lab Agenda
- Homework Help
- Project Help
Assignments
- 05/05: Week 14 Attendance
- 05/05: LinkFinder
- 05/05: Project v4.0 Tests
Major Deadlines
- Due: Project v3.x Design 1.7
Week 15
Tue 05/02 Sync Lecture
- Exam 2
Thu 05/04 Async Optional Videos
- Optional Content; Project 5 Only
- Java Database Connectivity (JDBC) 12:12
- Faculty Server
- Demo and Setup 13:41
- Database Connector 18:13
- Faculty Server 07:43
- Faculty Servlet 38:22
Async Assignments
- 05/12: Exam 2 Retake
Fri 05/05 Lab Agenda
- Homework Help
- Project Help
Assignments
- 05/12: Week 15 Attendance
- 05/12: Project v4.1 Tests 1.7
- 05/18: Project v5.0 Tests
- 05/18: Project v5.0 Design
Major Deadlines
- Due: Project v4.0 Tests
Week 16
Thu 05/11 Async Videos
- Software Bugs 31:47
- Software Testing 15:51
- Unit Testing 12:54
Async Assignments
- 05/12: Course Evaluation
Fri 05/12 Deadlines (No Lab)
- Due: Week 16 Attendance
- Due: Post on Piazza
- Due: Reply on Piazza
- Due: CS Event 2
- Due: Course Evaluation
- Due: Exam 2 Retake
- Due: Review Cutoff
- Due: Project v4.1 Tests 1.7
Finals
Mon 05/15 to Thu 05/18
Thu 05/18 End of Finals Week
- Due: Project v5.0 Tests
- Due: Project v5.0 Design
Fri 05/19 End of Semester
- Due: Late Grades
- Due: Extension Requests