Computer Science 225
Advanced Programming
Spring 2021, Siena College
Links will be added here with additional information about lectures and problem sets. All assignment dates are subject to change, and are provided only as a general guideline until the actual assignment is posted.
"Bailey" refers to the free online textbook Java Structures: Data Structures in Java for the Principled Programmer, "Root 7" Edition (a free online textbook) by Duane Bailey. This text has been made freely available as a PDF by the author.
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: | |
April 16 | Lecture 15: | |
April 19 | Lecture 16: | |
April 21/22 | Lab 8: | |
April 23 | Lecture 17: | |
April 26 | Lecture 18: | |
April 28/29 | No Lab Meetings; President's Holiday | |
April 29 | Evening Exam | |
April 30 | Lecture 19: | |
May 3 | Lecture 20: | |
May 5/6 | Lab 9: | |
May 7 | Lecture 21: | |
May 10 | Lecture 22: | |
May 12/13 | Lab 10: | |
May 14 | Lecture 23: | |
May 17 | Lecture 24: | |
May 19/20 | Lab 11: | |
May 21 | Lecture 25: | |
May TBD | Final Exam, TBD | |