Computer Science Home | People | Degrees | Papers | Research | Events | Other FCMS Subjects
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

Studies in Visual Communication

Computer Systems

Programming with Data Structures

Database Practice and Experience

Introduction to 3D Modelling and Animation

Information Discovery

Visual Design for Interactive Media

Software Engineering Development

Programming Usable Systems

Interactive Computing

Electronics for Digital Systems

2013 Papers
Level 2 Papers >> A Semester
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 graphical user interface design.

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 (including use-case analysis, object modelling and implementation) 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 C# 2010 .NET language.
  • Utilise classes, methods and properties appropriately in the creation of object-oriented software.
  • Intrepret and create UML use-case diagrams/models for representing system designs.

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 (NB: to complete the assignments we 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.

Bell, Douglas, and Mike Parr (2009) "C# for Students: Revised Edition." or

Gaddis, Tony (2012) "Starting out with Visual C# 2010, Second Edition."

Computing Resources
The laboratory for this course is Lab 2 in R Block. It is equipped with Windows PCs. The programming language will be C# 2010 .NET within the Visual Studio 2010 development environment. 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. 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 a practical test.

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 35% in the final exam and an overall mark of 50% is required to pass.

The practical test, all 5 practicals, two assignments and the exam, are 'compulsory assessment items' of the course (See the University Calendar 2013 - 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%
Practicals 5%
Practical Test 5%
OO Programming Assignment15%
HCI Assignment15%

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.

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