In this assignment you will:
- Complete a specialized container class
- Implement a more object-oriented design for an existing program
- Continue working with git from the command-line
In completing this assignment you MAY use/access the following resources:
You may NOT use/access:
- Resources not expressly listed above, including, but not limited to,
the following ...
- Source code not provided as part of this assignment. (Obviously, this
includes, but is not limited to, source code written by other students
whether current or in the past).
- Code-generating tools (of which ChatGPT is one example).
- Any web sites not directly linked to from the homework assignment.
Failure to abide by these guidelines will result in a zero for the assignment
and the incident will be reported to the university provost as a violation of
the university academic integrity policy. A second incident of academic
dishonesty (whether from this course or another computer science course) will
result in an F in the course.
In your workspace make sure you have the most recent code from the base
repository and from your homework repository on GitHub.
Continue your work in the hw04 directory. Make the necessary modifications
the MovieContainer class so that all the code conforms to a pure object
model implementation of the UML diagram in the lab day
assignment.
IMPORTANT: When this assignment is finished the program will not be functioning
as it did in the previous homework assignment. At the end of this assignment
you will not be involving the user for accepting input. Rather you will have
a container with methods you will test by calling those methods in the driver.
Use this pattern as you work:
- Choose a method in the MovieContainer class you want to implement
next.
- Implement the method.
- Test the method in the driver by calling it in a variety of
ways. Keep in mind that while you are working on implementing the
MovieContainer you are not concerned with the details of the
larger program. For example, there is no menu or user interaction
at this point. This is a good thing because it allows us to focus
on the underlying functionality of the container without having
to think about how it will be used in the future. NOTE: Most
students tend to spend less time in this step than they should.
- Make sure the documentation and indentation of your method
conforms to the provided
Java Programming Conventions.
- Commit your work. If you have some methods that only took a few
minutes to complete you may wait and commit two or three of them
at a time. REMEMBER: Committing often gives you more snapshots of
the code that you can revert back to if something goes awry.
- Go to step 1.
As always, when the program is complete make sure all work is committed
and pushed to your GitHub repository.
The assignment will be graded according to the following criteria:
| Correctness |
16 |
pts |
| Documentation |
2 |
pts |
| Conventions |
2 |
pts |
| Version Control |
2 |
pts |
| Total |
22 |
pts |
Your program should be completely working and should follow all of the
programming conventions named in class and explained in
http://josephus.sergeantservices.com/classes/all/javaconventions/ (including the use
of comments that conform to the JavaDoc guidelines).
The instructor will grade your work based on what you have pushed to the hosted
homework repository you have shared. For all assignments the program is due
before the beginning of class on the due date. Repositories that show a commit
time after that time will be graded as late.