CS 261 Homework 1 - Movie Library

Due Wed Jan 30 at 9:00am

Overview

This assignment will help you refresh your Java basics, while giving you experience working with the Eclipse IDE. Your task is to write a pair of Java classes that together manage a simple movie library. This library will be usable through the command-line, using menus such as the one below:

Welcome to the movie library.
Select an option:
1. Load a library
2. List movies in library
3. Look up a movie by title
4. Add a movie to the library
5. Remove a movie from the library
6. Look up an artist (director / actor)
8. Save movie library
9. Exit system
>
This assignment should be completed individually.

Objectives

Necessary Files

You will need a copy of the Hwk1.zip file which contains the Movie.java class, the README.txt for the assignment (see below), and a small example movie library.

Details

Submitting

BEFORE YOU SUBMIT: make sure your code is fully documented and functional! If your code doesn't run, I can't give you credit!

Submit your program to the Hwk1 submission folder on hedwig, following the instructions detailed in Lab A. You should upload Movie.java, MovieLibrary.java, MovieLibraryManager.java, MovieLibraryManagerTester.java, and the README.txt. Feel free to upload any movie lists you create as well!

The homework is due at the start of class on Wed Jan 30.

Extensions

Although not a requirement for this assignment, you might consider adding the ability for users to get a list of recommended movies. How you recommend a movie is up to you: maybe you recommend movies that are highly rated; maybe you recommend movies that have the same artists as movies that are highly rated; maybe you recommend a movie that is highly rated but hasn't been seen (played) very often.

There are a large number of other functions you could add to this system: the ability to modify movies, to add or remove actors, to sort films by some criteria (or multiple criteria), or to track other information such as the run-time or box office receipts.

Grading

This assignment will be graded based on approximately the following criteria: