The contestants will demo their application/web site on a machine with 128 Meg RAM only.
You will build an application/web site that helps Hollywood movie fans do research on the data available at the Internet Movie Database. Two kinds of users can access your application, movie fans and the database administrator. The movie fans basically lookup the data, while the administrator also has the capability to add, update, and change data. You will use your imagination to define the functionality of this application/web site given the kind of data that is available at Internet Movie Database.
At a minimum your program should prompt for the name of a Hollywood movie star. For each movie star it will list the actor or actress who has been in the most movies with the movie star. If there is a tie, all persons in the tie are listed. For each actor in the listing shared movies are to be listed. For example, if the input actor is "Hanks, Tom", the output would look something like:
Reiner, Tracy (5 shared roles):
Apollo 13 (1995)
League of Their Own, A (1992)
Nothing in Common (1986)
That Thing You Do! (1996)
For "Roberts, Julia" there is a tie, so output would look something like
D'Onofrio, Vincent (3 shared roles):
Dying Young (1991)
Mystic Pizza (1988)
Player, The (1992)
Roberts, Lisa (I) (3 shared roles):
I Love Trouble (1994)
Runaway Bride (1999)
Something to Talk About (1995)
Test your program on the following actors:
Parker, Sarah Jessica
The Input Files for the minimum requirements:
There are two data files; both have identical formats. These files are: actors file (actors.list.gz) and actresses file (actresses.list.gz). These files are both compressed in .gz format, and are available from the Internet Movie Database. Combined, they are 45+ Mbytes (compressed!).
These data files contain approximately 590,000 actors/actresses in a total of 171,000 movies, with 1,900,000 roles. These files also list TV roles, you must allow option to include or exclude TV roles in your analysis.
What To Submit:
Submit complete source code and demo your application on a machine with RAM of 128 Meg only. Also indicate how long your different algorithms take. Each submission will be judged on the basis of efficiency of the algorithms, the functionality of your application/web site, the usability and crispness of your user interface, the extra steps your application takes to avoid running out of memory, and the object-oriented design of your program.
You are free to write a standalone GUI based program, or/and develop a Web Site, which allows global access to your application. You can use Servlets/JSP or ASP.NET for this purpose. However, you are not allowed to use any database software or utility container classes (Java or C#).
You may not uncompress the data files that you obtained from Internet Movie Database outside of your program or put them in a database provided by any vendor i.e. you cannot use databases provided by Oracle, Microsoft, etc. However, you are free to write your own data management code that reads from these files at the start of the application creates and writes back to them at the time of shut down of the application. You are also allowed to create temporary files during the execution of the program.