Computer Science 225
Advanced Programming

Spring 2021, Siena College

Course Schedule

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