Level 1 Papers

Level 2 Papers

Level 3 Papers

Level 4 Papers

Level 5 Papers

Summer School Papers

Industry Papers

Visual Design for Interactive Media

Computer Graphic Design 1

Computer Graphic Design 2

Studies in Visual Communication

Computer Systems

Computer Communications

Programming with Data Structures

Object-Oriented Program Design

Database Practice and Experience

Introduction to 3D Modelling and Animation

Information Discovery

Visual Design for Interactive Media

Internet Applications

Logic and Computation

Software Engineering Development

Software Engineering Process

Programming Usable Systems

Interactive Computing

Electronics for Digital Systems

2014 Papers
Level 2 Papers >> All Papers
COMP258A Programming Usable Systems

20 Points

The objectives of this paper are:

  • to enhance students' software development skills, particularly with respect to object-oriented software design and implementation.
  • to develop students' skills in designing interactive software for users, with a focus on usability.

The paper develops the basic programming expertise gained in COMP103, and introduces issues of software usability. The paper is practically oriented, with laboratory sessions, problem-solving tutorials and small to medium-sized project work providing opportunity for application of newly-learned skills and techniques. Object-oriented software development techniques will be addressed, and aspects of designing usable software (including prototyping, design principles, component use, layout and feedback) will be introduced.

Learning Outcomes

Students should be able to:

  • Describe basic principles of software usability and apply these principles to both the evaluation of existing programs/devices and in the creation of their own software.
  • Demonstrate their understanding of object-oriented concepts through the creation of software that utilises relevant features of the Processing language.
  • Utilise classes, methods and properties appropriately in the creation of object-oriented software.
  • Intrepret and design UML class diagrams.

Pre Requisite Papers
COMP103 Introduction to Computer Science 1

Restricted Papers
COMP203 Programming with Data Structures
COMP241 Software Engineering Development

Lecturers and Tutors

A Semester

Moodle Link


Official Timetable Information


One tutorial per week, held in various rooms around campus, to be scheduled in the first week and starting week 2.


Two supervised labs per week, held in Lab 2 in R Block, to be scheduled in the first week and starting in week 2.

Compulsory Components
There are two lectures a week. The lectures provide a medium for presenting the background, theoretical material, and general information for the course. There is one tutorial scheduled each week. Its purpose is to reinforce material covered in lectures and link it to the practical content of the course. Tutorials provide an opportunity to discuss problems and answer questions in a small group setting. The supervised lab classes should be used to carry out practical work and in particular work related to the assignments and tests. (We also expect substantial additional effort outside the supervised lab times).

Students should expect to spend about 14 hours per week on this class, in the following proportions:

Private Study6-8

Other Reading Material

Highly recommended textbooks:
Johnson, Jeff (2008) "Gui Bloopers 2.0: Common User Interface Design Don'ts and Dos." San Francisco: Morgan Kaufmann Publishers.

Processing site,

Fray, Ben (2007) "Visualizing Data." O'Reilly.

Sauter, Daniel (2013) "Rapid Android Development: Build Rich, Sensor-based Applications with Processing." Pragmatic Bookshelf.

Computing Resources
The laboratory for this course is Lab 2 in R Block. It is equipped with Windows PCs. The programming language will be Processing. Printing, email and web access is available but will be charged for through the Unicash charging system. Other software will be made available if it is deemed useful.

Lab 2 is available to enrolled students Monday to Friday 8am to 9pm. A schedule of supervised and 'free' time will be posted on the lab doors. Prior to 8am, after 9pm, and at weekends, a Cardax 'Swipe' card will be required for access. Students found in the lab at these times without a card will be removed.

Means of Assessment

Assignments: Two assignments will be given and students must complete them individually.

Practicals: Five practicals will be given to prepare students for the assignments in the course. These must be completed individually so that all students gain the necessary skills to complete the assignments and tests. For each practical the students will upload their work to Moodle and also complete the practical completion exercises on Moodle which are then marked by a tutor.

Tutorials: Students must attend ten tutorials.

Practical Tests: Students will sit two practical tests.

Final Exam: A final exam worth 50% of the course will be held at the end of the semester.

If students have not completed work by the due date, they should hand in what they have done so far. Individual extensions will not be given except for a medical certificate or counsellor's letter specifically referring to that item of assessment and an extension application form has been handed to the lecturer not later than 48 hours before the item is due. In the unlikely event that technical problems arise which the course coordinator considers merit an extension, the due date for the coursework will be extended for the entire class.

Assessment Ratio
Internal assessment/final examination ratio of 1:1

Assessment Components
A minimum of 50% in the final exam and an overall mark of 50% is required to pass.

The two practical tests, all 5 practicals, two assignments and the exam, are 'compulsory assessment items' of the course (See the University Calendar 2014 - Assessment Regulations, 20.(5) p108). Missing any of these components of the course without excuse will result in a failing grade.

Grading Schedule
Assessment as a percentage of the final grade:

Final Exam 50%
Tutorials (10) 5%
Practicals (5) 5%
Practical Test 1 10%
Practical Test 2 10%
OO Programming Assignment10%
HCI Assignment10%

Attendance Policy
Class attendance is expected. The course notes provided are not comprehensive. Additional material will be covered in class. You are responsible for all material covered in class.

Tutor Coordinator
The first person to contact in relation to any course matter (queries, problems, help, etc) is the Tutor Co-ordinator. Nilesh Kanji (RG.13, 858-5047) is the Tutor Co-ordinator for this course. Urgent (and any other) enquiries should be sent to

Academic Integrity
Follow this link for
Academic Integrity information and this link for detailed explanation of How to prevent plagiarism in Computer Science assessment items.

Performance Impairment
Follow this link for information on Performance Impairment.

Student Concerns and Complaints
Follow this link for Student Concerns and Complaints information.

Application for Extension
Follow this link for information on applying for an Extension.

Review of Grade
Follow this link for information on applying for a Review of Grade.

University Regulations
Your attention is drawn to the following regulations and policies, which are published in the University Calendar:

  2007 FCMS. The University of Waikato - Te Whare Wananga o Waikato