Wed May 28 2003
Proposer: Daniel Woo
At present we do not have a course that extends what has been taught Human Computer Interaction (COMP3511/COMP9511), nor do we have a course that specifically concentrates on user interface design, programming and evaluation in an integrated manner. Given the standard of user interfaces seen in many fourth year thesis projects and comments from recent graduates, it is clear that many students do not have an appreciation for user interface design and implementation issues.
- Extend knowledge presented in Human Computer Interaction (COMP3511/9511) into applied skills to implement software systems that are predominantly graphically based
- Understand the process of developing user interfaces from conceptualisation through to implementation
- Reinforce the notion of design before implementation.
- Understand the role of measuring and logging in order to quantify user interaction performance. This includes the introduction of scientific method to interface evaluation.
- In depth understanding of how windowing systems, event loops, notifications, messaging relate to the design of user interface software.
- Exposure to real design tools for generating user interfaces.
- Practical use of software development tools cvs, gdb, compilers.
- Internationalisation of software
- Introduction to collaborative software design (computer supported co-operative work).
- Awareness of other issues such as accessibility, speech recognition and design for small devices.Use of graphics and multimedia in applications.
Percentage-wise the enrolments would be similar to current undergraduate enrolments for COMP3511. Unlike COMP3511, fewer external Faculty enrolments would be expected given the programming pre-requisites.
Human Computer Interaction provides and introduction to the user centred design process is intended not to be an in-depth software development course.
Given the current amalgamation of COMP3511 and COMP9511, the programming experience of the postgraduates is not of a level suitable for this course.
It would be recommended that this course be a partner course to courses that require students to implement user interfaces. The principles proposed here should be adopted in all other courses that are involved with user interface implementation.
Human Computer Interaction introduces students to the principles and process of user centred design and raises their awareness to other multidisciplinary aspects of software development. It does not cover in depth software development of user interfaces.
Some overlap with COM3141 (eg. Qt GUI tools) but very different underlying objectives.
School Office - Chu
Database design - jas
Web Databases - Boualem
Object Oriented - John Potter
Graphics - Tim Lambert
Multi-language applications - John Plaice
Thesis - Steve Matheson
Postgraduate implications - jas/billw
Software Engineering - Ken Robinson
Java and Internet Programming - Nandan Parameswaran
Computer Systems - Gernot
CSG - John Albani, Chris Petrov
Ethics (user testing) Arthur Ramer
Software Construction Andrew Taylor
HCI Tutors and Teaching Staff
Future student interest may come from:
School of Media and Communication
Digital Media @ COFA
Preliminary discussions have been held with
Current and former thesis students (trialling some content)
Recent graduates of HCI course
Likely enrolment (with justification), and impact on enrolments of other courses.
With COMP3511 enrolments on the increase we would anticipate reasonable enrolments
It is anticipated that the course will only take 20 students in the first intake in order to trial the course.
If 30% of undergraduate enrolments were to pursue this topic then we would see 75 enrolments.
Human Computer Interaction COMP3511/COMP9511: students will need to understand the user centred design.
COMP1021: C Programming. Students will need to be able to good quality write software.
COMP2041 Software Construction. Underlying software development principles are taught in this subject.
Students with object oriented programming experience would be required. COMP4001 could be a co-requisite.
Anything noteworthy about delivery mode, assessment (with justification).
In the first year, the course lectures will be delivered in the CHI Laboratory to explore the concept of interactive teaching methods. Limiting the enrolments initially to 20 in start up.
Part of the assessment proposed will be based on the results of usability testing of software.
Laboratory work will be assessable.
Students will complete a major multi-part user interface design project (possibly group) that demonstrates paper-based design, software development and user testing.
User Interface Software Design
Course contact: Daniel Woo
UOC 6 3Lec 2Lab S1
Concentrates on the design and software development of user interface software. Provides practical object oriented programming knowledge about the underlying elements of a graphical user interface and associated development process, extending principles introduced in Human Computer
Interaction. Based around the Aqua User Interface in Mac OS X. Special topics include: speech, accessibility and mobile devices.
Garfunkel and Mahoney, Building (2002) Cocoa Applications, O’Reilly and Associates Inc.
Preece, Rogers, Sharp (2002) , Interaction Design, John Wiley & Sons Inc.
Apple Computer Inc (2003), Aqua Human Interface Guidelines, available electronically.
Apple Computer Inc. (2002), The Objective-C Programming
Language, available electronically.
Apple Computer Inc., (2001), Learning Cocoa, O’Reilly and Associates Inc.
Shalloway and Trott (2002), Design Patterns Explained, Addison-Wesley.
Gamma, Helm, Johnson and Vlissides (1997), Design Patterns, Addison-Wesley.
Indicative syllabus / overview of contents (at a level of detail well beyond that of the handbook entry)
Introduction to User Interface Design
Review of HCI Principles
Software Development Tools
Introduction to Objective C
Application of the Model View Controller Design Pattern
Windows & Views - The View Hierarchy
Messages and Notifications
Mouse and Keyboard Tracking
In depth Controls
In depth Objective C
Persistent Storage, Serialisation and Archiving
Representing data in Tables and Graphs
Measuring the User Interaction
Developing for Usability Testing
Case Studies of other GUI Environments
Designing for Accessibility
Designing for smaller devices
Teaching resources could be an issue with HCI moving to two sessions per year in 2004.
Laboratory component proposed.
Will need to look at CHIL usage especially in light of HCI moving to 2 sessions. This should reduce the load on CHIL making room for the subject.
CHIL (Mac lab) will be used.
This course is proposed around Mac OS X and the Aqua User interface since it is quite mature having been derived from NeXTStep.
Increased home quota would be required for storing default Mac OS X home directory information.