Date | Topic and/or Event | Readings |
February 22 | Lecture 1: Introduction and Overview; Problem Set 1 Out | Topic Notes: Java You Know |
February 24/25 | Lab 1: Java and Data Structures Refresher (in Canvas and GitHub) | |
February 26 | Lecture 2: Java You Know | |
March 1 | Lecture 3: Java Interfaces | Topic Notes: Interfaces |
March 3/4 | Lab 2: Java Interfaces (in Canvas and GitHub) | Topic Notes: Inheritance |
March 5 | Lecture 4: More Interfaces; Anonymous Classes; Introduction to Inheritance (online synchronous) | |
March 8 | Lecture 5: Recaps and Problem Set 2 Intro (online asynchronous) | |
March 10/11 | Lab 3: Introduction to Java Swing (in Canvas and GitHub) | |
March 12 | Lecture 6: Inheritance | |
March 15 | Lecture 7: Abstract Classes | |
March 17/18 | Lab 4: More Java Swing (in Canvas and GitHub) | |
March 19 | Lecture 8: Problem Set 3 Intro; Inheritance Case Study | |
March 22 | Lecture 9: Inheritance Case Studies | Topic Notes: Graph Structure Design; Bailey Ch. 16 |
March 24/25 | Lab 5: Java Graphics and Mouse Events (in Canvas and GitHub) | |
March 26 | Lecture 10: Spatial Data Structures | Topic Notes: Spatial Data Structures |
March 29 | Lecture 11: Quadtrees | |
March 31/April 1 | No labs, exam week | |
April 1 | Evening Exam | |
April 2 | Lecture 12: Quadtrees and Traversals; More Interesting Event Driven Programs | Topic Notes: Event-Driven Programming |
April 5 | Easter Monday; No Class | |
April 7/8 | Lab 6: Quadtrees and More Java Graphics (in Canvas and GitHub) | |
April 9 | Lecture 13: More Event-Driven Programming | |
April 12 | Lecture 14: Introduction to Animation | Topic Notes: Threads and Animation |
April 14/15 | Lab 7: Recursive Graphics and Graphics Objects (in Canvas and GitHub) | |
April 16 | No class: CCSCNE 2021 Conference | |
April 19 | Lecture 15: Threads and Animation | |
April 21/22 | Lab 8: Animation (in Canvas and GitHub) | |
April 23 | Lecture 16: Dangers of Concurrency | |
April 26 | Lecture 17: More Threads; Handling Keyboard Events | Topic Notes: Keyboard Events; Topic Notes: More Threads and Animation |
April 28 | No Lab; President's Holiday | |
April 29 | Exam 2: 10:40 AM-12:40 PM, RB 304 and RB 306 | |
April 30 | Lecture 18: Thread Safety; Java Packages | Topic Notes: Packages and Jar Files |
May 3 | Lecture 19: Creating a Java Package | Java Tutorial page: Controlling Access to Members of a Class |
May 5/6 | Lab 9: Threads for Parallel Processing (in Canvas and GitHub) | |
May 7 | Lecture 20: Jar Files and Animation with Collisions | Topic Notes: Animation with Collisions |
May 10 | Lecture 21: Lab 9 Work | |
May 12/13 | Lab 10: Working with Regular Expressions (in Canvas and GitHub) | |
May 14 | Lecture 22: Threads and Memory | |
May 17 | Lecture 23: Java Odds and Ends; Course Review and Wrapup | Topic Notes: More Java: Odds and Ends;Enum Types at the Oracle Java Tutorials,
Covariant Return Type in Java; 5 Java concepts explained: Overloading, overriding, shadowing, hiding, and obscuring; Topic Notes: Files and Exception Handling; Java Tutorial page: File I/O (Featuring NIO.2) |
May 19/20 | Lab 11: Advanced Inheritance and Java Odds and Ends (in Canvas and GitHub) | |
May 21 | Lecture 24: Project Demonstrations | |
May 25 | Final Exam, 11:00 AM - 1:00 PM, RB 350 | |
|