Computer Science 225
Advanced Programming
Spring 2021, Siena College
Lecture 10: Spatial Data Structures
Date: Friday, March 26, 2021
Agenda
- Announcements
- Problem Set 3 in full swing, due Tuesday night, hopefully
everyone's
- Problem Set 2 grades are in Canvas with details in the
GRADING.md files in your repositories
- Lab 5: Java Graphics and Event Handling (in Canvas and GitHub) - the
sooner you can get the pull requests in for the test cases, the
sooner they're available to your classmates who might use them to
test their own implementations
- in exchange for your evening time for Exam 1, no labs next week!
- Exam 1 information
- almost everyone will take it Thursday evening 4/1, available
any time 6-10, expect to spend about 2 hours, so start no later
than 8
- in-person exam takers in RB 350, remote on Zoom with cameras
on and full screens shared
- those unavailable Thursday evening, I will contact you soon
about arrangements
- topics covered are lecture topics up to today's discussion of spatial data structures, all three problem sets, Labs 1-5
- exam will include written (likely in a Google document, possibly in Canvas) and practical portions (code in an IDE, submit through GitHub)
- most of the exam will be open notes and Java API (but not the
entire Internet)
- examples of specifics you should know/be able to do
- all terminology: give a definition, identify an example
- write methods on a generic list or using the return values of an iterator
- draw a memory diagram including stack, heap, and static data
- write Iterator/generator classes
- write and use Comparable classes and Comparators
- write Java applications that use Java Swing components and event handlers
- use interfaces, abstract classes, and inheritance to design and implement a program
- Art projects!
- Spatial data structures
Terminology
- spatial data structure
- quadtree
- quadrant
- terminal quadrant
- adaptive
Examples
- Points2D: spatial data structures including an adaptive quadtree