Programming Assignment 7
1 Purpose
The primary purpose of this assignment is to help you review (and
demonstrate that you have acquired) the knowledge and skills
required to create a program that uses described dynamic visual
content.
2 Background
The (fictitious) company
EnhancedRealty
has now
asked you to modify/extend the applet/application called
HomeBase so that it displays both current property listings
and an animation that shows the changing urbanization over time.
3 Documents
EnhancedRealty uses a heavyweight process (as opposed to an agile process)
so they have created a fairly detailed set of specifications.
They are described in the following document:
The data describing the urbanized area (over time) are contained in
the following files:
4 Submission
There is a two part submission process for this assignment.
- You must submit (using Gradescope) a
.zip
file
containing all of the code necessary to build your
application. Gradescope will only be checking to ensure that your code
complies with the course style guide. Hence, you may only submit
to Gradescope five times. If you can't get your code to comply with
the course style guide within five submissions, you will receive a
grade of 0 on the assignment.
- You must also submit (using Canvas) an executable
.jar
file named
DynamicMapApplication.jar
(that must NOT contain
any of the classes in multimedia2.jar
).
5 Grading
You will receive one of four grades on this assignment -- 100, 75,
50, or 0. You will receive a grade of 100 if your code is
essentially correct (i.e., a limited number of system tests do not
cause any failures). You will receive a grade of 75 if you appear
to have devoted significant effort to the assignment but your code
has small defects. You will receive a grade of 50 if you devoted a
reasonable amount of effort to the assignment but your code has
major defects. You will receive a grade of 0 otherwise
and/or if
the code you submit to Gradescope code contains any style defects.
Gradescope will assign a maximum grade of 25 (based solely on style).
Points will then be awarded manually based on the criteria discussed
in the previous paragraph.
6 Help
You might find the following tips/hints helpful.
6.1 Approach
It's clear from the UML class diagram that
the Visualization
should now be
a Stage
. What's less obvious is that you should use
a DescribedSprite
and key-time animation for the
"storm track" that consists of three
different AggregateContent
objects, one for each key time.
6.2 Code Duplication
Don't worry about code duplication across
the StaticPropertyMap
and DynamicPropertyMap
classes. There are ways to
avoid it, but it's not necessary to do so for this assignment.