Assignment 6
Class design
Submit before 11:30 Saturday March 2
Overview
For this assignment, you'll design and implement your own classes (Movie and MovieList) and make some decisions on what methods to provide.
Instructions and code writing
- Study the Movie and MovieList classes provided for this assignment . These classes will form the basis of your Movie and MovieList class.
- Study the movie processing code from lab 7. While this code uses dictionary objects instead of classes, it provides examples of what could be included in Movie and MovieList class. Note that the lab 7 code uses dictionary objects. For this assignment, you will want to use Movie objects.
- Starting with the Movie and MovieList classes from the midterm
exam, construct your own classes. At miniumum, they should provide
the following functionality:
- The Movie class should also include a genre instance variable.
- The MovieList class should correspond to a particular user. For example, one MovieList object might correspond to user Mary and another MovieList object to user Sam. The MovieList object might track what they have watched or recommend what they might want to watch.
- The MovieList class should provide an instance method for reading in a list of movies from a file. The function print_movies from the movie_demo.py file gives you a good start, but you'll need to create Movie from the data fields and add them to the list of movies in the MovieList object (self).
- The MovieList class should provide some options (methods) for sorting and presenting movies from the class that correspond to its user.
- The Movie class and the MovieList class should be in their own files (e.g. movie.py and movielist.py). Create a third file that demonstrates how they work. For all files, provide the needed import statements.
- (optional) Provide a way of saving and reloading a movie list object so that user-specific properties are saved and restored.
- (optional) Develop a GUI that allows a user to interact with their movie list.
Deliverable
Create a text, word or pdf file that contains the following:
- A statement that summarizes your completion of the assignment. The statement should include any help you received or whether you discussed your assignment with others. Keep in mind that you may not copy code from others or allow others to copy your code.
- A summary of the files included in the zip folder
Put your doc file and your py files in a folder, zip it, and submit it on D2L. Check that your submitted zip file is complete.
Grading
The assignment is worth 10 points. Full credit will be awarded to complete, accurate and well presented submissions. Points will be deducted for the following:
- Missing requirements
- Inaccuracies (possibly excepting minor ones)
- Poorly written explanations