1. This Final Project (Assignment 2) is worth 25% of the total unit assessment.
  2. Students are to complete their project in groups of no more than two people. It is each group member’s responsibility to maintain their group activities. In the rare case of one group member becoming seriously ill or uncontactable or not responding, the other member should consider forming a different group or working on his or her own for the project. As in real life, everyone should have a contingency plan, or Plan B.
  3. It is each student’s own responsibility to form a group of no more than 2 people for their assignment 2, that is, for this final project. Should any student not yet able to find a project partner, he or she should advertise their availability on the student communication board. Students not putting up a request for partnership on this Student Communication Board will be considered as either having already found a project partner, or not looking for a project partner at all. Students must complete the matter of project partnership, or have their partnership requests placed on the above mentioned student communication board.
  4. The development and delivery of a major project in a timely manner is an important indicator on the success of the project. As such, the deadlines for this final project need to be observed, and any late submissions need to be approved before the corresponding due dates.
  5. Let the unit coordinator know if you have any comments on this project so that he can have this document amended before its finalization on the date specified in the above title section.


  1. For this final project, you are required to develop a Video Library System in Java for a video library, so that the system can be used to facilitate the borrowing and the management of the videos the library keeps. A video record should contain at least a video number and its corresponding video title, a flag indicating if the video is currently available for borrowing, and a borrower number and the corresponding borrower name if the video is currently being borrowed. Although the functionalities of the video library system are open to the students’ individual design, the system should be mainly menu-driven with the main menu options somewhat similar to, but not limited to,
    • Add new video to the system
    • Borrow video
    • Modify video record
    • Delete video record
    • Search video
    • Report of available videos
    • Exit

and the navigation among the video records should also be possible, perhaps through additional options on the main menu, or on a submenu, somewhat similar to

    • Current video
    • Next video
    • Previous video
  1. This project is semi-open in that students are expected to have their own design and/or additional capacity to enrich their final software product. External file or files are also expected to be utilised for the storing the video records. In particular, when the video library system starts, it should first load the existing videos from the data file/s which should also contain at least 3 video records.
  2. It is up to each student group to decide how to design and implement their Video Library System. However, the project will be evaluted according to the functionalities, user interface, robustness, and how much object-oriented programming is being utilised.
  3. The final Project Report must be written to include, among all the other relevant matters, the following aspects.
    • The main functionalities, along with the demonstrating examples and screen shots if pertinent.
    • How and where you made use of the paradigm of object-oriented programming, if any.
    • Brief conclusion and reflection on your experience in completing this project.

We note that your project should aim at top quality as much as possible. Your end-product, the Video Library System, will be judged on the achieved functionalities, the look and feel, the design methodology (e.g. ad hoc versus systematic), and the use of advanced features such as object orientation and exception handling. You should cite your design and technical evidence in your Final Report on the quality of your developed software system.


  • Final project report and all the Java programs
  • Class presentation: 10 minutes – during the normal class time of the final teaching week, week 14. The presentation slides, if any, must also be uploaded on the same day as the presentation.


  • A pre-submission of all the work must be made 3 days ahead of the due date. This submission should contain all the work you have up to the submission time, and should follow the usual submission procedure. Although this pre-submission will not be given any marks per se, as its purpose is to allow marker/s better prepared for marking the final presentation, fail to complete the pre-submission may however lead to a loss of up to 20% of the total marks of this project.
  • The submission should contain the Final Project Report and all the relevant Java source code.
  • The submitted Java programs should be directly compilable and runable without the use of any Java IDE (such as Netbeans or Eclipse), although students are free to develop their project system with any Java IDE they may choose. That is, your submitted Java code should be directly compilable and runnable under the JDK installed on the same lab/s to which this unit is scheduled.
  • Zip (don’t use the rar compression format) all the relevant files into a single zip file, and then upload it via the submit button on the unit website. it’s each student’s responsibility to keep the submission receipt which will be automatically generated after each submission.