Assignment 2 - User Interface Development
Assignment 2 - User Interface Development
Due Date
Delays caused by computer downtime cannot be accepted as a valid reason for a late
submission without penalty. Students must plan their work to allow for both scheduled
and unscheduled downtime.
The LMS will be configured to allow you to submit as many times as you like, the most recent
version will be marked.
A penalty of 5% per day will be imposed on all late assignments up to 5 days (date). An
assignment submitted more than five days after the due date will NOT be accepted and zero
mark will be assigned.
Students will not be granted an extension of the assignment deadline. Students are requested to
apply for special consideration through Student Centre. In addition, students are advised to
submit whatever incomplete work they have already done for the assignment.
If you change your submission after the due date it is considered a late submission and
will incur a 5% penalty for each day that it is late.
Academic Misconduct
Types of academic misconduct include plagiarism (copying other people’s work without proper
acknowledgement), collusion (working together on an assessment task that is supposed to be
completed individually), and cheating.
Please refer to https://www.latrobe.edu.au/students/admin/academic-integrity
Submission Guidelines
The deliverables are your projects with source code that your solution needs to function
(separate zip or rar file for each solution), the video file and the text file, which should be
submitted to LMS by one of the group members.
You are NOT permitted to use any sort of automated code generation tools or programs.
Problem Description
This assignment requires you to implement a gesture keyboard which also supports text-editing
command input by drawing gestures. As the gesture keyboard was initially designed to input text by
dragging the cursor over the letters in the desired word, you need to figure out a way to distinguish
between text input and command input. For example, you draw a gesture from the key “s”, “a”, “v”
and “e” on the keyboard. By default, you enter the word “save”. But how can you enter the
command “save” by drawing a similar gesture?
This assignment is based on the lab of week 9 and assignment 1. In the lab of week 9, we have
developed the Gesture Keyboard. In assignment 1, you have proposed solutions to differentiate
text input and command input on gesture keyboards. In this assignment, you need to select some
solutions and implement them. If you have new solutions, you can also use and implement them.
Group project
You can work in groups with your classmates. The members in a group can be between 1 – 5
people (maximum 5). Note that you MUST only team with others who are in the same
instance of CSE2UI.
Please note that the marking criteria are the same regardless of the number of members.
For example, no matter if you are the only person in your group or your group has 5
persons, you still need to provide least 5 solutions to get A.
All members in a group will receive the same mark unless explicitly noted.
Different groups CAN NOT work together to complete the assessment; this is a type of
academic misconduct: collusion.
Task Overview
Before you start your assignment, please do the following:
1. Ensure you have completed labs in weeks 8 and 9.
2. Start this assignment on the basis of the lab in week 9.
3. Carefully read your assessment 2.
4. Carefully read this document.
Here are the main tasks you need to do for this assignment.
Here is an example solution. To input the word “save”, the user just need to drag the cursor over
the keys “s”, “a”, “v” and “e”. To input the command “save”, the user can double click on the
vicinity of the key “s” and the draw a gesture from the keys “s”, “a”, “v” and “e” on the keyboard.
Such a way can be used to differentiate text input and command input on gesture keyboards.
Your application should support both text and command input. Text entry should be the same as
the gesture keyboard in the lab of week 9. For command input, the application should generate a
message box showing which command is triggered (as shown below). If not a command of the four
('copy', 'redo', 'undo', 'save'), the message box should show “Not a command”.
Note that for most solutions, you just need to add and revise code in the module
text_entry_window.py to implement your solutions.
You need to have your solution projects in separate zip or rar files and submit them separately to
LMS.
Fig. 1. (left) text input; (middle) command input; (right) not a command.
Marking Criteria
CRITERIA A: Excellent B: Very good C: Good D: Acceptable N:Unacceptable
(>80%) (70–79%) (60–69%) (50–59%) (<50%)
The number of Implement at Implement 4 Implement 3 Implement 2 Implement 1 or 0
solution least 5 solutions solutions solutions solution
(excluding the solutions
sample solution)
(85%)
Your video The video The video The video The video The video meets
should have a (1) meets the 4 meets 3 of meets 2 of meets 1 of the none of the 4
title, (2) captions requirements the 4 the 4 4 requirements
for your requirements requirements requirements
proposed
solutions, (3) less
than 100 M (4) at
least 480p (10%)
Code quality (4%) Comments Comments Comments Comments on Comments on the
on the code on the code on the code the code for 2 code for less than 2
for all your for 4 of your for 3 of your of your your solutions
solutions solutions solutions solutions
A Word or Make sure that the file includes the names and student IDs of your group members as
notepad file well as the link of your video.
including the
names and
student IDs of
your group
members as well
as the link of
your video (1%)