User interfaces and HCI
Description Details
Discipline Computer Science
Assignment type : Code
Description
This assessment is aimed at assessing all the following module learning outcomes:
Develop a GUI (Graphic User Interface) making use of basic HCI concepts.
Use threads, file handling and exceptions in developing Java solutions to
problems of moderate complexity.
Overview
/> This mini-project aims at developing a Java Desktop Application for the
management of information related to movies. The purpose of the application is to
handle a small database system from a dataset formed of csv files corresponding to
information of the movies and the ratings given by some circles of users to these
movies.
Your Java code will provide operations for inserting, extracting, deleting and
displaying the ratings of the movies. The application should also display individually
the details of every movie and also enable visualisation of aggregated movie ratings.
The system must show appropriate use of Exceptions, File Handling and Threads as
well as a Graphic User Interface that considers key aspects of usability.
Problem Statement
Movie rating systems are used for evaluating movies, analysing user preferences or
recommendation. Popular entertainment streaming platforms such as Netflix,
Amazon Video or Sky store ratings from their subscribed users while others such as
Film Affinity1
and Movilens2
collect ratings from individuals around the world.
1
https://www.filmaffinity.com/en/main.html
2
https://movielens.org/
~1~
CO2001 – User Interfaces and HCI
You are provided with csv files containing users’ information, movies and their
ratings. Your mission is to build a Simple Movie Information System that stores and
manages the movie ratings wherein individual users can log in, select, and rate a
movie. The system should also enable visualisation of individual movie details and
aggregated ratings of all the available movies inside your system.
- Part 1 – Users management
Create a class system enabling registration of a new user and login with a password.
A user should have features such as user ID, name, age, gender, password, etc.
Note that user information can be stored as a binary file. You may include a Test
driver for this part mainly if you have not completed the GUI in Part 3.
- Part 2 – Movies management
Select 10 movies from the dataset and create a class system enabling us to store
the details (title, picture, ratings, etc.) for each movie. Your class system should
have at least the following basic functionalities:
Add or delete a movie,
Search for a movie given its title
Sort the 10 movies by using their ratings
Using the dataset provided, compute the initial aggregated ratings for your selected
10 movies. This operation must use threads. You may include a Test driver for this
part mainly if you have not completed the GUI in Part 3.
- Part 3 – Graphical User Interface
Using JavaFX, develop a GUI with at least the following functionalities:
allow for registration or login of a user,
allow to load 5 movies randomly and display the basic features for each one
of those movies,
enable us to search for a specific movie given its title,
enable us to sort the loaded movies by using their rating attributes,
enable a user to select a movie and rate it on a scale of 1 to 5 as in the given
dataset. This operation should affect the order of the movies’ ratings in your
system,
enable us to store the current state of your rating system in a file and load the
~2~
CO2001 – User Interfaces and HCI
saved file later on at will.
You are encouraged to use your own inspiration as suggested below:
The design of the GUI is left open to you. You are expected to consider the
usability principles and produce an application that takes good care of them.
You are invited to propose and implement new features for the application.
You can gather ideas from the web sites referenced in the Problem Statement
section.
Your source code should be well organised and documented so as to
facilitate its maintainability.
- Part 4 – Discussion Document
A document discussing the importance of usability principles in designing software
user interfaces and how these principles were approached in the development of
your software application.
How to submit
Submit a single zipped file named as (yourUserID_CO2001_Miniproject.zip) through
Blackboard by the specified deadline. Your zipped file should contain the followings:
- A JavaFX Desktop Software (Java source code + file resources needed +
executable jar) implementing Part 1, 2, and 3.
- A Discussion document (in PDF form) on how you have used basic HCI
concepts in your GUI development.
Provided Resources
A set of files containing data of movies, ratings and ids for queries in popular
internet databases. These files are available in the url:
http://files.grouplens.org/datasets/movielens/ml-latest-small.zip
There is also a copy in the course site.
Clarification
You are not asked to include the exact pictures, videos or text synopsis for
the movies. If you want, you can include any picture, media or text as part of
the description of the movie. If it is related to the movie it is much better but
not mandatory.
Please check the appendix provided about using web resources (pictures,
videos, etc.) in your software.
~3~
CO2001 – User Interfaces and HCI
Marking Scheme
The 100 marks of this coursework are distributed as follows:
Part 1: 15 marks
Part 2: 25 marks
Part 3: 40 marks
Part 4: 20 marks
The weightings of the assessed learning outcomes are given above. The following is
a set of guidelines for the marking:
First (70 to 100 marks): Excellent to Professional level Application/Document.
Software functionality is complete and even additional features have been
implemented. The code and system structure are such that the system will be
highly maintainable. The GUI shows excellent use of HCI and Usability
techniques. The document is rich in discussion and references to the software
developed with a presentation and organisation to high standards.
Second Upper (60 to 69 marks): Very Good Application/Document. Software
functionality is complete with no extra features. The code and system
structure are such that the system is maintainable. The GUI shows use of
some HCI and Usability techniques. The document presents a very good
discussion and some references to the software developed with a good
presentation and organisation.
Second Lower (50 to 59 marks): Good Application/Document. Most of the
software functionality has been achieved, covering adequate use of Threads,
File Handling and Exceptions. There might be some minor errors. The GUI
shows use of some HCI and Usability techniques. The document presents a
good discussion and references to the software developed with an average
presentation and organisation.
Third (40 to 49 marks): Average Application/Document. The basic
functionalities of the software are working but perhaps without use of threads
and exceptions. The GUI shows minimal use of HCI and Usability
techniques. The document presents some discussion and some references to
the software developed with a minimum presentation and organisation.
Fail ( < 39 marks): Minimal Application/Document. There is an attempt to
implement part of the software functionality but with big gaps in most of the
key elements: Threads, File Handling and Exceptions. The GUI shows no
use of HCI and Usability techniques. The document presents a brief or no
Format MLA
Academic Level: –
Volume of 1 page (275 words)
Type of service: Custom writing