Programming Assignment 6
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 sampled dynamic visual
content.
2 Background
As you know,
EnhancedRealty is a
(fictitious) that is developing and commercializing applications
for the real estate industry. For
this assignment, you must implement v2.0 of an application that can
be used to display textual information about weather observations
and forecasts.
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:
4 Resources
They have provided you with the following resources:
The first, which must be un-zipped, contains the "frames"
of the animation. The second contains the names of the
frames.
5 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
TextApplication2.jar
(that must NOT contain
any of the classes in multimedia2.jar
).
6 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.
7 Help
You might find the following tips/hints helpful.
7.1 Overall Approach
Since the behavior of the other applications must not change, you
must not change the HomeBaseApplication
class. Instead, you should override the handleAbout()
and init()
methods.
7.2 The Superimposition Functionality
There are many ways to implement the required superimposition
functionality. Probably the worst (i.e., the least flexible) is to
create a piece of static sampled visual content. Much better would
be to create a class that encapsulates static textual content (and
use it in a TransformableContentSuperimposition
) or to
extend the AbstractSuperimposition
class.