11
Computers & Graphics 30 (2006) 658–668 Education An introductory course on Human–Computer Interaction: Programme, bibliography, practical classes and assignments Beatriz Sousa Santos Department of Electronics and Telecommunications/IEETA, University of Aveiro, P-3810-193 Aveiro, Portugal Abstract As computing curricula have evolved, human–computer interaction has gradually become part of many of them, and the recent ACM/ IEEE report on the core of computing science and engineering includes human–computer interaction as one of the fundamental sub- areas that should be addressed. However, both technology and human–computer interaction are developing rapidly, thus a continuous effort is needed to maintain a programme, bibliography, and a set of practical assignments up to date and adapted to the current technology. This paper briefly presents an introductory course on human–computer interaction offered to electrical and computer engineering students at the University of Aveiro. r 2006 Elsevier Ltd. All rights reserved. Keywords: Human–Computer Interaction education; Commented bibliography; Practical assignments 1. Introduction The industry of computer systems is reaching maturity. Currently, average users are not technologically savvy; therefore, those systems have to be designed taking into consideration the needs, capacities and limitations of their target users; i.e., in this phase of the industry a human- centred development cycle is required [1] and the user interface has become increasingly important. On the other hand, a lesson learned repeatedly by engineering disciplines is that design problems have a context and that the overly narrow optimisation of one part of a design can be rendered invalid by the broader context of the problem. Thus, even from a direct computer science perspective, it is advantageous to frame the problem of human–computer interaction broadly enough so as to help students (and practitioners) avoid the classic pitfall of design divorced from the context of the problem [2]. Moreover, the design of many modern computer applications inescapably requires the design of some component of the system that interacts with a user [3]. This component typically represents more than half of a system’s lines of code. It is intrinsically necessary to understand how to decide on the functionality a system will have, how to bring this out to the user, how to build the system and how to test the design. The above-mentioned reasons were recently acknowl- edged by several authors [4–6]; furthermore, the reports concerning computer science and engineering curricula [7,8] recognise that these curricula should reflect the ever- growing importance of the human–computer interface. Taking all this into consideration, an introductory course on human–computer interaction is offered at the Uni- versity of Aveiro. This course was created in 1993/1994 and has been offered to students of two different degrees, one in the area of electrical engineering and another in the area of computer engineering. In the former this course is offered as an elective in the 5th year, and in the latter it is mandatory in the 3rd year [9]. For some years it was also offered to M.Sc. students as an elective course. The course is introductory and does not intend to train students as human–computer interaction engineers, but to expose them to the basic concepts of the field. The main objectives are: 1. to emphasise the importance of good user interface design, 2. to introduce the literature of human–computer interaction, ARTICLE IN PRESS www.elsevier.com/locate/cag 0097-8493/$ - see front matter r 2006 Elsevier Ltd. All rights reserved. doi:10.1016/j.cag.2006.03.007 E-mail address: [email protected].

An introductory course on Human–Computer Interaction: Programme, bibliography, practical classes and assignments

Embed Size (px)

Citation preview

ARTICLE IN PRESS

0097-8493/$ - se

doi:10.1016/j.ca

E-mail addr

Computers & Graphics 30 (2006) 658–668

www.elsevier.com/locate/cag

Education

An introductory course on Human–Computer Interaction: Programme,bibliography, practical classes and assignments

Beatriz Sousa Santos

Department of Electronics and Telecommunications/IEETA, University of Aveiro, P-3810-193 Aveiro, Portugal

Abstract

As computing curricula have evolved, human–computer interaction has gradually become part of many of them, and the recent ACM/

IEEE report on the core of computing science and engineering includes human–computer interaction as one of the fundamental sub-

areas that should be addressed. However, both technology and human–computer interaction are developing rapidly, thus a continuous

effort is needed to maintain a programme, bibliography, and a set of practical assignments up to date and adapted to the current

technology. This paper briefly presents an introductory course on human–computer interaction offered to electrical and computer

engineering students at the University of Aveiro.

r 2006 Elsevier Ltd. All rights reserved.

Keywords: Human–Computer Interaction education; Commented bibliography; Practical assignments

1. Introduction

The industry of computer systems is reaching maturity.Currently, average users are not technologically savvy;therefore, those systems have to be designed taking intoconsideration the needs, capacities and limitations of theirtarget users; i.e., in this phase of the industry a human-centred development cycle is required [1] and the userinterface has become increasingly important.

On the other hand, a lesson learned repeatedly byengineering disciplines is that design problems have acontext and that the overly narrow optimisation of onepart of a design can be rendered invalid by the broadercontext of the problem. Thus, even from a direct computerscience perspective, it is advantageous to frame theproblem of human–computer interaction broadly enoughso as to help students (and practitioners) avoid the classicpitfall of design divorced from the context of the problem[2]. Moreover, the design of many modern computerapplications inescapably requires the design of somecomponent of the system that interacts with a user [3].This component typically represents more than half of asystem’s lines of code. It is intrinsically necessary to

e front matter r 2006 Elsevier Ltd. All rights reserved.

g.2006.03.007

ess: [email protected].

understand how to decide on the functionality a system willhave, how to bring this out to the user, how to build thesystem and how to test the design.The above-mentioned reasons were recently acknowl-

edged by several authors [4–6]; furthermore, the reportsconcerning computer science and engineering curricula[7,8] recognise that these curricula should reflect the ever-growing importance of the human–computer interface.Taking all this into consideration, an introductory courseon human–computer interaction is offered at the Uni-versity of Aveiro. This course was created in 1993/1994 andhas been offered to students of two different degrees, one inthe area of electrical engineering and another in the area ofcomputer engineering. In the former this course is offeredas an elective in the 5th year, and in the latter it ismandatory in the 3rd year [9]. For some years it was alsooffered to M.Sc. students as an elective course.The course is introductory and does not intend to train

students as human–computer interaction engineers, but toexpose them to the basic concepts of the field. The mainobjectives are:

1.

to emphasise the importance of good user interfacedesign,

2.

to introduce the literature of human–computer interaction,

ARTICLE IN PRESSB. Sousa Santos / Computers & Graphics 30 (2006) 658–668 659

3.

to introduce tools, techniques and ideas for userinterface design, implementation and evaluation,

4.

to facilitate communication between human–computerinteraction experts and the soon-to-be engineers.

In addition to these specific objectives, this course alsointends to foster important general capabilities such ascritical thinking, teamwork, and communication skills.

Several books are used as core bibliography [10–12]. Foreach topic, one book is used as main reference according toits approach; however, other references (books, papers,Web sites) are also used.

This paper briefly describes the course contents andpresents a commented bibliography, as well as the practicalclasses and practical assignments.

2. Course contents

Human–computer interaction is a rapidly evolvingdiscipline, which implies that courses in this area must becarefully put together so that they do not become quicklyout of date. This is particularly important since, althoughthe contents of a course can be revised, people cannotgenerally be recalled for retraining; they must build theirown future understanding upon the foundations providedby the courses taken when they were students.

According to the ACM/SIGCHI report Curricula for

Human–Computer Interaction [2]: ‘‘human–computer inter-action is a discipline concerned with the design, evaluationand implementation of interactive computing systems forhuman use and the study of major problems surroundingthem’’. It thus has science, engineering and design aspects.These topics can be classified in two main areas:

Foundations of human–computer interaction, � Design, implementation and evaluation of user inter-

faces.

Below all the topics addressed throughout the course arepresented according to this classification. The sequence inwhich they are introduced has slightly changed along the yearsdue to several reasons (e.g. adjustment to practical classes).

Foundations of human–computer interaction:J introduction to the problem: introduction to human–

computer interaction, definition of user interface,general usability principles and paradigms;

J user profile: Human information processing system,other relevant characteristics;

J conceptual models: conceptual and mental models;J input/output devices: existing devices and usability

issues.

� Design, implementation and evaluation of user inter-

faces:J dialog styles: a classification, some experimental

results, characteristics and applicability of eachdialog style, principles and guidelines to their use;

J screen layout and colour: principles and guidelines;most important colour models;

J evaluation methods: analytic methods and methodsthat involve users, their characteristics and how tochoose them;

J response time: general observations and guidelines;J help and documentation: ideal characteristics and

guidelines for their preparation;J user-centred design of user interfaces: overview of a

methodology; phases of the lifecycle of interactivesoftware and usability engineering.

These topics are addressed along approximately 26 h in2 h lectures; next the specific topics dealt with in eachlecture, in the sequence used in the academic year of 2004/2005, are presented. Evaluation and a design methodologyare for the most part tackled in practical classes; however,an overview is given in a lecture:

1st lecture: objectives, syllabus, advised reading andevaluation method for the course (0.5 h).J Introduction to the issue of user interfaces in

interactive systems (1.5 h):– historical perspective;– ergonomics and human factors;– importance and scope of human–computer inter-action;

– usability and usability engineering;– two complementary approaches to user interfacedesign: principles and paradigms.

2nd lecture: usability principles and paradigms (2 h):J principles: compatibility, consistency, feedback, fa-

miliarity, simplicity, flexibility, robustness, protec-tion, etc.

J main usability objectives: ease of learning, ease of useand satisfaction.

J paradigms: timesharing, personal computing, win-dows, icons, menus and pointing devices (WIMP),metaphors, direct manipulation, hypertext, multi-modality, computer-supported cooperative work(CSCW), World-Wide Web (WWW) and ubiquitouscomputing.

3rd and 4th lectures: the user (4 h):J importance of knowing the user profile;J characteristics determining user performance (inter-

nal and external);J introduction to the human information processing

system (HIPS): main characteristics and implicationsof each sub-system in user interface design:– perceptual sub-system (sensory buffer and patternrecognition);

– cognitive sub-system (memories and processes);– motor sub-system (Fitts law);

J other characteristics: (psychological and physical,task, knowledge and experience) and their implica-tion in user interface design;

ARTICLE IN PRESSB. Sousa Santos / Computers & Graphics 30 (2006) 658–668660

J mental and conceptual models:– what are mental models, some characteristics andwhy people use them;

– what are conceptual models; guidelines to theirdesign.

5th and 6th lectures: input/output devices (4 h):J keyboards: existing types, main characteristics and

usability issues;J pointing devices: existing types (mouse, track-ball,

joy-stick, touch-screen, etc.), introduction to technol-ogy and usability issues;

J other input devices (eye-trackers, data-gloves, otherthree-dimensional (3D) devices);

J display devices: existing types (CRT based, LCD,plasma and others);

J voice interaction: main usability issues and applic-ability, guidelines for the use of voice recognition andsynthesis.

7th and 8th lectures: dialog styles (4 h):J a classification;J menus: characteristics and existing types, applicabil-

ity, some studies, main guidelines;J direct manipulation, fill-in-forms, question-and-an-

swer, function-keys, command languages and naturallanguage: characteristics, applicability and mainguidelines.

9th lecture: screen layout (0.5 h) and colour (1.5 h).J screen layout:

– main characteristics influencing user performance;– main guidelines and some examples;

J colour:– importance and pitfalls of colour in user inter-faces;

– main guidelines and some examples;– importance of colour quantification and introduc-tion to colour models (RGB, CMY, HSV,HLS).

10th and 11th lectures: models to be used in the userinterface design process (4 h):J user models:

– importance, main types of user models and theirapplicability;

– cognitive models (GOMS—goals, objectives, se-lections and methods);

– physical models (Keystroke Level Model—KLM);J task analysis:

– importance and main types of techniques;– hierarchical task analysis—HTA;– main information sources;– using task analysis in user interface design;

J dialog notation:– importance and main types;– diagrammatic and textual notations: advantagesand disadvantages;

– main graphical notations (state transition net-

works, petri nets, state charts), some simpleexamples.

12th lecture: evaluation of user interfaces (2 h):J importance of evaluation and when to use it;J evaluation styles;J evaluation methods:

– analytic methods (cognitive walkthrough, heuristicevaluation, review-based methods and model-based methods);

– methods involving users (controlled experiments,observation methods, query methods): character-istics, advantages and disadvantages;

– how to select evaluation methods.

� 13th lecture: response time (0.5 h), help and documenta-

tion (0.5 h), user-centred design (1 h):J response time:

– general observations;– main guidelines and examples;

J help and documentation:– importance and existing types;– ideal characteristics;– examples;

J User-centred design:– overview of a methodology;– phases of the interactive software lifecycle.

3. Bibliography

A good bibliography is fundamental to support studentsin their individual learning effort; thus, a reading list isprovided for every topic in the programme. This readinglist contains book chapters that every student should read(shown in Table 1), as well as some advanced readings,book chapters, papers or Web sites, provided for moreinterested students.The book by Alan Dix et al. [10] is used as a textbook; it

is, according to its authors, meant for students in the areasof computer science and engineering. In spite of the factthat the author of this paper considers that this book has ageneral approach adequate to her students, she feels theneed to use other books. This is due to two reasons: on onehand, [10] tackles some issues at such a high abstractionlevel that some more specific examples are needed; on theother hand, some topics important to the general under-standing of the problems addressed in the course are notaddressed in enough detail. Therefore, students are advisedto study the human information processing system andmental models in Ref. [11], since it addresses these subjectsusing a more detailed and explicit approach. The samebook is also recommended for the study of response time,which is not addressed as an independent subject in Ref.[10]. The author has also used the book by Mayhew as aguide to address dialog styles and screen design, since itpresents a lot more examples and guidelines than Ref. [10].On the subject of guidelines, a word of caution is due:notwithstanding guidelines help understand the principlesand concepts and thus they should be used, unlike generalprinciples, they become obsolete as technology evolves;

ARTICLE IN PRESS

Table 1

Advised readings per lecture and topic

Lectures Topics Basic readings Complementary readings

1 Introduction to the problem [10] Chapter 1 [13,14]

[11] Chapter 1 [15]

2 Usability principles and paradigms [10] Chapter 4 [16]

3,4 The user: human information processing system; mental models [11] Chapters 2,3 [17]

5,6 Input/output devices [18] Chapter 2 [15]

[11] Chapter 12 [19]

7,8 Dialog styles [11] Chapters 4–10 [15]

9 Screen layout and colour usage; colour models [11] Chapters 14 [15]

[18] Chapter 12 [20]

10,11 Models in the user interface design process [10] Chapters 6–8 [21]

12 Evaluation of user interfaces [10] Chapter 11 [14,22]

13 Response time; help and documentation; user centred design [11] Chapter 15 [15]

[10] Chapter 12

[12] Chapter 1

B. Sousa Santos / Computers & Graphics 30 (2006) 658–668 661

thus, their use needs a frequent adaptation. Another bookby Mayhew [12] is used because it presents in a structuredand easy to understand manner a methodology toimplement the usability software lifecycle, which is a goodexample of how the concepts introduced along the coursecan be used in a user-centred design of an interactiveproduct. The book [18], which is an up-dated computergraphics textbook, is used to support the study of inputand output devices.

The new (3rd) edition of the book by Alan Dix et al. [23]includes additional examples, supplementary material onsubjects that were already addressed in the 2nd edition andtackles new issues; thus, it may be used to support somemore topics addressed throughout the course.

Besides the above-mentioned bibliographic referencesthat have been used along the years, some other books,papers and Web sites are used (changing often) in order topresent a few novel developments, discuss currentlyimportant issues or illustrate concepts in a different ormore up-to-date way. In 2004/2005, the following optionalreadings were given to the students to support subjects thatwere introduced in the lectures:

a chapter from a book (published by ACM in its 50thanniversary) about ubiquitous computing that includesa scenario of its possible use in everyday life [16]; � a paper from IEEE—Computer Graphics and Applica-

tions, criticising and joking about poor user interfaces atgymnasium facilities [13].

� a paper from IEEE—Spectrum presenting two 3D

displays [24];

� a set of papers from Communications of the ACM,

concerning the problems of electronic voting [19], animportant contemporary issue where user interfaces arecritical.

Below, the commented bibliography, including all thebooks used in this course, is presented divided into threedifferent categories: basic, complementary and opinion

bibliography. The first three books in the first category canbe considered textbooks in human–computer interaction,albeit having different approaches and target audiences.The next three books address mainly user interface design,and the last five books are used to support a few specifictopics. All the chapters recommended as mandatoryreading belong to books in this category. The complemen-tary bibliography includes six books (having a narrowerscope) that tackle some issues in detail and which can beuseful to extract examples for the lectures and practicalclasses or to support assignments of more advancedstudents. Moreover, this category comprises three otherbooks: a handbook indispensable to the researcher, aclassic reference in visualisation and a book that presentsvarious approaches to human–computer interaction basedon several different scientific areas (as cognitive psychologyand sociology), which helps to understand the trulyinterdisciplinary nature of this scientific area. The lastcategory includes books by well-know authors thatconvey personal and critical views about technology andinteractive products, speculate on future developmentsand point out new ways to adapt technology and itsproducts to the users’ needs and capabilities. Reading atleast some of these books is essential to anyone lecturing inthis area.

3.1. Basic bibliography

3.1.1. Alan Dix, Janet Finlay, Gregory Abowd, Russell

Beale, Human–Computer Interaction, 1st, 2nd, 3rd edition,

Prentice Hall, 1993, 1998, 2004

The 1st edition of this book was one of the firsttextbooks in the area; it was used to support courses thathad been appearing at Universities, and simultaneously ithelped to ‘‘crystallize’’ the content of the field that was stillspread throughout the literature. Human–computer inter-action is approached from a computer science perspective.This book addresses the main subjects in the area; however,the emphasis is on design methods of interactive systems.

ARTICLE IN PRESSB. Sousa Santos / Computers & Graphics 30 (2006) 658–668662

The following editions have been extensively revised andrewritten. The 3rd edition includes much new material andis organised in parts covering basic material suitable forintroductory courses, including a new chapter on interac-tion design and more advanced material focused ondifferent HCI models and theories, suited for moreadvanced courses, as well as researchers new to the field.Detailed coverage of the particular domains such as Webapplications, ubiquitous computing and computer-sup-ported collaborative work (CSCW) is also given.

3.1.2. Jenny Preece, Yvonne Rogers, Helen Sharp, D.

Benyon, S. Holland, T. Carey, Human–Computer

Interaction, Addison Wesley, 1994

This book covers the major subjects in human–computerinteraction, using concepts from computer science, psy-chology, sociology and industrial design. It introduces themain issues in user interface design and development andaddresses applications as CSCW, hyper- and multimedia.According to its authors, this book is meant to students inthe areas of computer science, psychology and sociology.

3.1.3. Ben Shneiderman, Designing the User Interface—

Strategies for Effective Human–Computer Interaction, 3rd

ed., Addison Wesley, 1998

This book gives an overview of the issues central todesigning, implementing, managing, maintaining andrefining the user interface of interactive systems. It ismeant primarily to designers and managers but also toresearchers, mainly in the study of user performance,having different backgrounds. Moreover, it is useful to theeducator. According to the author, the quality of userinterfaces has improved greatly in the last years, and thisbook is meant to help researchers as well as designers keepup the momentum and encourage further progress.

3.1.4. Deborah Mayhew, Principles and Guidelines in

Software User Interface Design, Prentice Hall, 1992

This book presents principles and guidelines for allaspects of user interface design, including conceptualmodels, dialog styles, screen layout, user documentationand response time. It also presents a literature reviewconcerning each subject. According to its author, it isaimed at practitioners as well as computer science students;although it is still useful, it should be used with cautionsince in various subjects it is already dated.

3.1.5. William M. Newman, Michael G. Lamming,

Interactive System Design, Addison Wesley, 1995

This book presents a set of methods fundamental to thedesign of interactive systems. Its authors intend to providea framework that allows integrating methods specific tointeractive systems with more general methods. Theaddressed issues are: methods to study the user, systemsanalysis, requirement specification, prototyping, as well asmethods for the design and evaluation of user interfaces.Moreover, this book comprises a set of case studies very

useful to the educator. Its authors consider this bookadequate to students as well as practitioners.

3.1.6. Jenny Preece, Yvonne Rogers, Helen Sharp,

Interaction Design—Beyond Human–Computer Interaction,

John Wiley, 2002

Interaction design is approached in a more comprehen-sive way than what has been usual in human–computerinteraction. According to its authors, interaction designcurrently transcends the design of interaction systemsmeant to be used by a user set in front of a computer;thus, subjects as ubiquitous computing using wireless andcooperative technologies are addressed. Moreover, thebook presents a lot of examples and is meant to be used bypractitioners and students as well.

3.1.7. David Redmond-Pyle, Alan Moore, Graphical User

Interface Design and Evaluation—a Practical Process,

Prentice Hall, 1995

This book introduces a set of techniques, described as aflexible, practical process for user interface design. It waswritten by developers for developers (software designers,analysts, programmers and managers); however, it issimple and allows non-experts to develop usable softwareproducts and it can also be useful to educators since itpresents a case study project throughout the completeprocess.

3.1.8. Jakob Nielsen, Usability Engineering, Morgan

Kaufmann, 1993

This is an essential reference in the area of usabilityengineering. It introduces, in a simple way adequate tonon-experts, methods to improve usability as well asevaluation methods, which can be used even with verylow budgets. This book is indispensable to the educatorand is strongly advised to practitioners.

3.1.9. Deborah Mayhew, The Usability Engineering

Lifecycle—a Practitioner’s Handbook for User Interface

Design, Morgan Kaufmann, 1999

This book presents a structured approach to the userinterface design as an interactive software lifecycle. Theproposed lifecycle encompasses a set of usability engineer-ing tasks used in a pre-determined order during thedevelopment of a product. This approach may be used inthe development of any interactive product, not only in theproject of user interfaces for mainstream software. This is apragmatic book meant for practitioners, according to itsauthor; however, it can be useful to the educator as asource of examples or as an illustration of a specificinteractive software development methodology.

3.1.10. James Foley, Andries van Dam, Steven Feiner, John

Hughes, Richard Phillips, Introduction to Computer

Graphics, Addison Wesley, 1993

This is an adaptation of a more complete text that hasbeen considered as a reference in computer graphics. This

ARTICLE IN PRESSB. Sousa Santos / Computers & Graphics 30 (2006) 658–668 663

smaller version is meant to be used in introductorycourses; however, it is useful for practitioners whoneed to learn basic principles. It includes chapters oninput/output devices and basic graphical interactiontechniques.

3.1.11. David Hearn, M. Pauline Baker, Computer Graphics

with Open GL, 3rd ed., Prentice Hall, 2004

This book presents the principles of design, use andunderstanding of computer graphics systems and applica-tions, along with OpenGL programming examples. Bothsoftware and hardware components are discussed using anintegrated approach of 2D and 3D topics, and nobackground in computer graphics is assumed. It haschapters on input and output devices and interactiontechniques.

3.2. Complementary bibliography

3.2.1. Ian Horrocks, Constructing the User Interface with

Statecharts, Addison Wesley, 1999

This book introduces an interactive software designtechnique to be used before coding. According to itsauthor, it aims at filling a gap in the literature, whichtackles mostly issues related to interaction design (addres-sing only the external behaviour of the software), softwaredesign (often not addressing the user interface design) orprogramming languages (explaining the syntax, generallydisregarding the overall software structure). It seemsinteresting for practitioners; however, it may be useful toeducators willing to prepare practical examples.

3.2.2. Scott Weiss, Handheld Usability, John Wiley and

Sons, 2002

This book is a practical guide to the user interface designfor handheld devices (personal digital assistants (PDA),mobile phones, pagers). It introduces the characteristics ofthese devices and their differences, and the main phases, aswell as a set of guidelines for the user interface design.Additionally, it addresses issues related to prototyping andusability evaluation, which makes it useful for practitionersand for educators who wish to prepare practical classes onthis subject.

3.2.3. Carolyn Snyder, Paper Prototyping—The Fast and

Easy Way to Design and Refine User Interfaces, Morgan

Kaufmann, 2003

This book describes paper prototypes and explains howthey can be used to develop user interfaces and conductusability tests. It explains in what conditions they shouldand should not be used, showing their advantages anddisadvantages as well as other aspects that have to beconsidered when evaluating the possibility of using them asa tool. It has a pragmatic approach and can be useful topractitioners and educators.

3.2.4. Dan Diaper, Neville Stanton (eds.), The Handbook

of Task Analysis for the Human–Computer Interaction,

Laurence Erlbaum Associates Publishers, 2004

This book is a collection of papers addressing thefundaments of task analysis, as well as different perspec-tives from the information technology industry, the userand the computer. It also includes a summary of mainissues in this field of human–computer interaction andpoints out promising ways. This book is meant forresearchers and can be useful to support assignments ofmore advanced students.

3.2.5. Jan Borchers, A Pattern Approach to Interaction

Design, John Wiley, 1996

This book proposes a pattern-based framework to thedesign of interactive systems. It also shows how thisframework improves the communication among projectteam members and how it can help to convey accumu-lated experience to new members, future projects or ineducation.

3.2.6. Alan Cooper, Robert Reimann, About Face 2.0—The

Essentials of Interaction Design, John Wiley, 2003

This book is a new up-to-date version of About Face, byAlan Cooper. It is intended to foster a better understandingof how users interact with interactive products (not only indesktop platforms), and introduces and explains theconcept of goal-directed design. This method advocatessignificant changes to conventional methods of softwaredevelopment (including defining archetypal users—perso-nas—using them in scenarios, and following principles ofdesign for behaviour). The target audience includesprogrammers, designers, usability experts among othertypes of practitioners, but it is also interesting foracademics.

3.2.7. Edward Tufte, Envisioning Information, Graphics

Press, 1990

This is a classic reference in the area of informationvisualisation; it addresses mainly how to escape from thelimitations of 2D representations revealing design strate-gies for enhancing the dimensionality and density ofportrayals of information.This book includes a chapter presenting examples of bad

and good colour usage in user interfaces.

3.2.8. John Carroll (ed.), HCI Models, Theories and

Frameworks, Toward a Multidisciplinary Science, Morgan

Kaufmann, 2003

This book presents several diverse approaches tohuman–computer interaction. Each chapter identifies thescientific field or tradition the approach rests upon,showing how particular principles of a discipline beyondHCI were specialized and developed, providing a founda-tion for describing in more operational detail how theapproach is employed in HCI work. Moreover, eachchapter comments on the state of the art suggesting issues

ARTICLE IN PRESSB. Sousa Santos / Computers & Graphics 30 (2006) 658–668664

that may be relevant during the next decade. Due to thesecharacteristics, it is fundamental to the understandingof the multidisciplinary nature of human–computerinteraction.

3.2.9. Julie Jacko, Andrew Sears (eds.), The Human

Computer Interaction Handbook, Lawrence Erlbaum

Associates, 2002

This is a collection of papers encompassing diverseaspects in human–computer interaction, addressing notonly the fundamental principles, but also new develop-ments in design and evaluation of interactive systems. Ittackles issues related to different platforms (virtual, mobile,networked) and users (adults, the elderly, children, etc.), inthe scope of specific applications (e-commerce, telecommu-nications, education, health, government, games, etc.). Dueto its broad-spectrum nature this book is important toresearchers, educators and practitioners.

3.3. Opinion bibliography

3.3.1. Donald Norman, The Design of Everyday Things, The

MIT Press, 1998

Donald Norman examines several examples of baddesign in everyday objects, which causes usage difficultiesdue to ignoring the user needs and cognitive psychologyprinciples. It also shows examples of good design andprovides a list of simple rules to improve the usability ofobjects as diverse as automobiles, computers, doors orphones. This book has become one of the main referencesin the area of human–computer interaction; it is indis-pensable to educators and advisable to interested studentsand practitioners.

3.3.2. Donald Norman, The Invisible Computer—Why Good

Products Can Fail, the Personal Computer Is So Complex

and Information Appliances Are the Solution, The MIT

Press, 1998

This book shows why computers are difficult to use andwhy this complexity is intrinsic to their nature. Accordingto Donald Norman, the only solution is to developinformation appliances that adjust to people’s needs. Inorder to attain this goal, the industry must change its wayof developing products. Reading this book is advisable toeducators as well as interested students and practitioners.

3.3.3. Jef Raskin, The Humane Interface—New Direction

for Designing Interactive Systems, Addison Wesley, 2000

It begins by the following phrase: ‘‘We are oppressed by

our electronic servants. This book is dedicated to our

liberation’’, which demonstrates the nature of this book.It analyses the cognitive basis of interaction between a userand a computer in order to ascertain why user interfacessucceed or fail. It describes some of the flaws of existinguser interfaces and presents solutions to overcome them.Jeff Raskin demonstrates that many of the currentparadigms are ‘‘dead ends’’ and asserts that new

approaches are needed to make computers significantlymore usable. Moreover, it provides many ideas for thedesign and development of user interfaces; thus, this bookis useful for educators and interested practitioners.

3.3.4. Ben Shneiderman, Leonardo’s Laptop—Human

Needs and the New Computing Technology, The MIT

Press, 2002

According to Ben Sheiderman, there have been signifi-cant changes in the way people look at computertechnology; which resulted in a greater emphasis on theissues related to users; nowadays, the goal is not so muchautomating as it is helping people to pursue their activities.In this book, Ben Shneiderman wonders how an approachtypical of Leonardo da Vinci, which integrates science,technology and art, would take us to new technologies,applications and designs in the areas of e-learning,e-business, e-healthcare and e-government.

4. Practical assignments

Practical assignments are very important to helpstudents understand and consolidate the concepts ad-dressed in lectures; they have evolved along the years as aconsequence of a change on the number of hours of thecourse, number and background of the students, progres-sion of the area and changes in technology.For pedagogical and motivation reasons, it is advanta-

geous that some of the assignments in courses offered tograduation and post-graduation students respond to realneeds, be those in research or industry. Thus, wheneverpossible, the author tries to include one assignment thatcorresponds to the proposal of a user interface prototype ofan application or the participation in usability tests orcontrolled experiments as subjects or evaluators for a real‘‘client’’ external to the course. These clients have beenpost-graduation students, and some of the work developedin the scope of this course has been included mainly innational publications but also in international publications;an example of a user interface developed during one editionof the course can be found in Ref. [25].In the first years, the course had no practical classes, it

was offered simultaneously to graduation and post-graduation students, and was attended by a small numberof students (between 12 and 16). During this phase, teamassignments involving six to eight graduation students,coordinated by an M.Sc. student, were developed. TheM.Sc. student acted as a project leader and had theresponsibility to integrate the contributions of the otherstudents. Meetings involving all the students and often anapplication domain expert were conducted by the teacheralong the semester. The author considers that theexperience was generally positive and that this approachis particularly interesting because the need of a good team-work strategy becomes more evident as teams get largerand the students usually work in teams of only twoelements. However, it demands a tight control of the work

ARTICLE IN PRESSB. Sousa Santos / Computers & Graphics 30 (2006) 658–668 665

each member is doing; otherwise the risk of getting acollection of modules that cannot be integrated istoo high. Also, during this first phase of the course, someM.Sc. students performed individual practical assignmentson subjects proposed by them, albeit subjected to theteacher’s validation. All those assignments involved design-ing a user interface, implementing a prototype andevaluating it to some extent. These user interfaces werefrequently intended to integrate an interactive systemunder development. Results obtained by some of thoseassignments were presented in internal publications ornational conferences.

Later, the course was no longer offered to M.Sc.students and started to have practical classes (2 h/weekduring a term of approximately 13 weeks). The number ofstudents increased to an average of 20 students perclass and practical assignments became more guided.This was a direct consequence, not only of the increasingnumber of students, but also of a policy to oppose thegeneralised practice of giving mini-project-typepractical assignments in most courses, which washaving negative impact on students performance in thegraduation project. In fact, at the time, students weredevoting less attention to their graduation project,which should be their main concern throughout theirgraduation year.

In this second phase of the course, the suggestion ofStrong [26] concerning the organisation of practicalassignments has been followed; the first assignments aredevoted to user interface evaluation and the final assign-ment is devoted to design. In addition to the practicalassignments concerning evaluation and design, currently,some time is also devoted to an introduction to twointeresting tools for user interface prototyping: VisualBasic and HTML. After this introduction, students areadvised to work on some examples. The author believesthat, albeit very brief, this introduction is important tomotivate the students to learn more by themselves.

Table 2 shows the topics that have been addressed at thepractical assignments in the last years, as well as thenumber of hours devoted to each subject during practicalclasses. All the assignments are performed by groups oftwo students. In the following sub-sections some moredetail will be given.

Table 2

Practical assignments and number of hours devoted to them in class

Type Practical assignments Hours in class

Evaluation Observation techniques 2

Evaluation Controlled experiments 2

Evaluation Heuristic evaluation 4

Evaluation Mobile phone evaluation 2

S/W Introduction to Visual Basic 2

S/W Introduction to HTML 2

Design Design of a user interface 12

4.1. Assignments on user interface evaluation

Beginning by studying user interface evaluation methodshas the advantage of allowing students to feel thedifficulties users have when using user interfaces andmotivates them to study the other topics addressedthroughout the course. In fact, according to Nielsen [22],most professional programmers and students acquire adifferent attitude after witnessing tests where users‘‘struggle’’ to use supposedly easy to use software.According to the same author, this effect is even greaterif they have developed the tested software. Thus, in orderto foster this change of attitude, the first practical classesare devoted to applying some evaluation methods such asobserver techniques, controlled experiments and heuristicevaluation where students act not only as experimentersbut also as users. In these classes S/W applications, Websites and mobile phones are evaluated; however, otherinteractive systems as photocopiers or digital cameras havealso been the subject of evaluation. Also the final assign-ment includes some evaluation.In the first practical assignment, about observation

techniques, some simple tasks in the context of e-shoppingare defined. Each student has to perform these tasksin a given e-shopping Web site, acting as user, while his/hercolleague observes and registers some usability measures aswell as the answers to a few questions to assess usersatisfaction. At the end, they change roles and thenew user has to perform the same tasks but at a differentWeb site.This has been performed using sites of two on-line shops

(either two different ones or the same but in differentcountries) and allows the students to observe that differentdesigns (sometimes only with slight differences) offering thesame functionality and information can support user tasksin a very different way. It also introduces the students tothe most commonly used user performance measures [22].Given that this is the first practical assignment, a detailedguide describing the tasks to be performed, the measures tobe used and the questions to be answered by the user, aswell as how the observer has to behave and what he/she hasto register is given to the students.In the second practical assignment, about controlled

experiments, students are asked to participate as users in acontrolled experiment. Usually it corresponds to a realexperiment ran in the scope of the research work of theauthor or of a post-graduation student who had asked forcollaboration. Students are not forced to participate assubjects, they may stay in the lab just watching; though, ingeneral they participate and enjoy doing it. The procedureadopted is the same as in any other session of theexperiment, with any other subjects; however, after thesession is over, the author or the designer of the experimentexplains its main aspects, including the motivation toperform the experiment, the hypothesis formulated, theindependent and dependent variables and the experimentaldesign. If some results of the statistical analysis are

ARTICLE IN PRESSB. Sousa Santos / Computers & Graphics 30 (2006) 658–668666

obtained before the end of the semester, some time isallocated to present them in another practical class.

The third practical assignment is devoted to perform aheuristic evaluation of an application or Web site; thestudents are allowed to propose the subject of evaluation.Each student conducts a general appreciation of theapplication or site in order to understand its functionalityand overall organisation and then analyse it in more detailusing the 10 usability heuristics of Nielsen [22] andclassifying the severity of each usability problem accordingto the severity rate proposed in Ref. [27]. In the end, bothstudents confront their findings and prepare a report. Onthe next week, each group makes an oral presentation tothe class describing their main findings. No guide isprovided for this assignment; in order to prepare it,students are advised to study [27].

The fourth practical assignment consists in designing asimple mobile phone usability test. Students are advised toread about usability tests and a document concerning theCommon Industry Format Usability Test Reporting (thatbecame an ANSI-354 standard in 2001) [28] is provided.Each group proposes the type of users, the tasks and themeasures to be used; a general discussion is conducted anda joint proposal is written on the blackboard. Finally, eachgroup uses a mobile phone model unknown to one of thestudents, who performs part of the tasks, while the otherobserves and registers some usability measures. In the end,each group reports informally to the class their mainfindings.

4.2. Final assignment (on user interface design)

The final assignment involves the requirement analysis,proposal of a conceptual model, implementation of part ofa prototype and some evaluation of a user interface. Allthis should be performed following a user-centred designmethodology.

Students are allowed to present their own proposals orthey may choose one of two different given problems. Ifthey want to propose their own subject they have to submitone page stating the objectives and the reason why they areinterested in working on that subject. In general, moststudents end up choosing one of the given problems;however, some submit proposals concerning a user inter-face they need to develop in the scope of their graduationprojects.

In 2004/2005, the final assignment consisted in proposingthe user interface for either a Web application that wouldallow to buy and/or reserve meals at any of the Universityrestaurants and canteens or another that would allowstudents to register in exams. Only a general description ofthe intended functionality is given so that students canpropose the specific functionality based on their work onthe requirements.

At the first practical class devoted to this assignment, theteacher briefly describes a usability engineering lifecycle asproposed in Ref. [12] with all its phases, and advises

students to follow it. The following classes are devoted towork on the problem and to discuss possible solutions withthe teacher and the class. Finally, in the last class, eachgroup must make a demonstration of their work. Studentsmay implement the prototype using whichever tool orlanguage they prefer, as long as it can be demonstrated inthe lab.

4.3. Other activities

In the scope of this course, students have also beencollaborating with other people in their research ordevelopment work. Besides participating as users incontrolled experiments as mentioned above, they per-formed heuristic evaluations of Web sites and applicationsand participated as observers in usability tests. Examples ofsuch collaboration are the usability test and the controlledexperiment described in Refs. [29,30]. The author considersthat this collaboration has been very constructive giventhat it allows the students, on the one hand, to be exposedto the use of the evaluation methods in real circumstancesand, on the other hand, to better understand theimportance of correctly dealing with people that collabo-rate as users in usability tests and controlled experiments.

4.4. Writing reports

Writing a report is for most students a difficult task;therefore, an explanation of how to do it is given in classbefore the first report is due. In order to support thisexplanation, a simple document is given; this documentcontains a straightforward description of the various partsa report should have, and some guidelines on style, formatand using references. Students are also advised to browse abook published by IEEE that addresses the subject ofwriting and speaking in the technology professions [31].Students are required to read each others reports beforethey hand them to the teacher, which corrects them andshows her corrections and comments to each group. All thegroups are given the opportunity to improve and re-submitthe report concerning the heuristic evaluation (the first onethey have to produce during the semester). This procedurehas been followed in the last years and the author hasnoticed a significant increase in the average quality of thereports.

5. Discussion and conclusions

In this paper, an introductory human–computer inter-action course offered since 1993 at the University ofAveiro, to Electrical and Computer Engineering students,is presented. Since technology and human–computerinteraction are evolving rapidly, a continuous effort isneeded to maintain an up-to-date programme and biblio-graphy and practical assignments that help students toconsolidate the concepts acquired along the course, and areadapted to the current technology.

ARTICLE IN PRESSB. Sousa Santos / Computers & Graphics 30 (2006) 658–668 667

In fact, maintaining such a course up-to-date is a hardtask. Actually, if on one hand a lot of the theory seemsalready reasonably stable, as usability principles thatdepend more on human nature than on technology, onthe other hand, in order to foster the understanding of thattheory, it is necessary to present instances of good practice,which of course depend heavily on current technology;however, technology evolves very rapidly and students arefamiliar with it. Therefore, to stay current and maintain anup-to-date ‘‘look’’ of the course, an educator in this areamust not only be aware of the new developments in thefield but also often change or adapt the examples. Thesame concern is valid for practical assignments.

Recently, in the course described in this paper, studentshave been performing, in groups of two elements, two typesof practical assignments: first evaluation and latter designof user interfaces. While evaluation assignments have beenaddressing desktop applications, Web sites, handhelddevices or consumer electronics products, the designassignment has been involving only the design of a userinterface and implementation of a prototype for desktop orWeb applications. However, the author is considering thepossibility of including handheld devices, namely PDAs, inthe design assignment, given that these platforms arebecoming increasingly important.

The author has lectured computer graphics, visualisationand human–computer interaction as separate courses; yetshe is convinced that, as these subjects are becoming evermore intertwined in their practice as well as in research, itmay make sense to lecture them (at least at introductorylevel) together, bringing in topics traditionally addressed indifferent courses. Thus, in recent years the introductorycourse offered to the students of computer engineering atthe University of Aveiro, follows this model, introducingnot only the basic concepts of human–computer interac-tion, as described, but also topics of computer graphics;other educators have recently adopted this approach [32].

Currently, a post-graduation in computer graphics isoffered at the University of Aveiro, which includes thiscourse as an elective, since basic knowledge in the area ofhuman–computer interaction is considered very importantas a support for areas such as data and informationvisualisation.

Acknowledgement

The author is grateful to her colleague Dr. JoaquimMadeira for his suggestions and comments to this manu-script.

References

[1] Norman D. The invisible computer. Cambridge, MA: MIT Press;

1999.

[2] ACM SIGCHI. Curricula for human–computer interaction. ACM

SIGCHI; 1996. http://turing.acm.org/sigs/sigchi/cdg/cdg2.html

[visited in October 2004]

[3] Sommerville I. Software engineering, 6th ed. Reading, MA: Addison

Wesley; 2001.

[4] Hu S. A wholesome ECE education. IEEE Transactions on

Education 2003;46(4):444–51.

[5] Evans D, Goodnick S, Rodel R. ECE curriculum in 2013 and

beyond: vision for a metropolitan public research university. IEEE

Transactions on Education 2003;46(4):420–8.

[6] McGettrick A, Theys M, Soldan D, Srimam P. Computing

engineering curriculum in the new millenium. IEEE Transactions

on Education 2003;46(4):456–62.

[7] ACM/IEEE Joint Task Force. Computing curricula 2001—computer

science. ACM Journal of Educational Resources in Computing 1(3).

[8] ACM/IEEE Joint Task Force. Computing curricula—computing

engineering. http://www.eng.auburn.edu/ece/CCEC [visited in

October 2004].

[9] Sousa Santos B. An Introductory course on human computer

interaction at the University of Aveiro. In: Adjunct proceedings of

10th human–computer interaction international HCII’2003, Greece,

June 2003. p. 231–2.

[10] Dix A, Finlay J, Abowd G, Russell B. Human computer interaction.

2nd ed. Englewood Cliffs, NJ: Prentice Hall; 1998.

[11] Mayhew D. Principles and guidelines in software user interface

Design. Englewood Cliffs, NJ: Prentice Hall; 1992.

[12] Mayhew D. The usability engineering lifecycle—a practitioners

handbook for user interface design. Englewood Cliffs, NJ: Prentice

Hall; 1999.

[13] Blinn J. User interface stories from the real world. IEEE Computer

Graphics and Applications 2005:92–3.

[14] Preece J, Rogers Y, Sharp H, Benyon D, Holland S, Carey T.

Human computer interaction. Reading, MA: Addison Wesley;

1994.

[15] Shneiderman B. Designing the user interface, strategies for effective

human–computer interaction. 3rd ed. Reading, MA: Addison

Wesley; 1998.

[16] Cerf V. When they’re everywhere. In: Denning P, MetCalfe R,

editors. Beyond calculation, the next fifty years of computing. New

York: ACM; 1997. p. 33–42.

[17] Newman WM, Lamming MG. Interactive system design. Reading,

MA: Addison Wesley; 1995.

[18] Hearn D, Baker MP. Computer graphics with open GL. 3rd ed.

Englewood Cliffs, NJ: Prentice Hall; 2004.

[19] Neumann P. The problems and potentials of voting systems.

Communications of the ACM 2004;47(10):28–30.

[20] Tufte E. Envisioning information. Graphics Press; 1990.

[21] Horrocks I. Constructing the user interface with statecharts. Reading,

MA: Addison Wesley; 1999.

[22] Nielsen J. Usability engineering. New York: Academic Press; 1993.

[23] Dix A, Finlay J, Abowd G, Beale R. Human–computer interaction.

3rd ed. Englewood Cliffs, NJ: Prentice Hall; 2004.

[24] Sullivan A. 3D Deep, new displays render images you can almost

reach out and touch. IEEE Spectrum 2004:30–5.

[25] Ferreira C, Sousa Santos B, Captivo ME, Clımaco J, Silva CC.

Multi-objective location of unwelcome or central facilities involving

environmental aspects—a prototype of a decision support system.

JORBEL, Belgian Journal of Operations Research, Statistics and

Computer Science 1996;36(1–2):117–59.

[26] Strong G. New directions in human computer interaction education.

Research and Practice 1994 http://www.sei.cmu.edu/community/hci/

directions/ [visited in October 2004].

[27] Nielsen J. http://www.useit.com/papers/ [visited in October 2004].

[28] ANSI-354, Common industry format usability test reporting. http://

zing.ncsl.nist.gov/cifter/TheCD/cif/readme.html [visited in October

2004].

[29] Sousa Santos B, Zamfir F, Ferreira C, Mealha O, Nunes J.

Visual application for the analysis of Web-based information systems

usage: a preliminary usability evaluation. In: Proceedings of

IEEE conference on information visualization IV’04, London

2004:812–8.

ARTICLE IN PRESSB. Sousa Santos / Computers & Graphics 30 (2006) 658–668668

[30] Silva S, Sousa Santos B, Madeira J, Ferreira C. Comparing three

methods for simplifying mesh models of the lungs: an observer test to

assess perceived quality. In: Galloway R, Cleary K, editors. Medical

imaging 2005: visualization, image guided procedures and display.

Proceedings of SPIE. vol. 5744, San Diego, February 2003. p. 612–20.

[31] Beer D, editor. Writing and speaking in the technology profession: a

practical guide. New York: IEEE Press; 1992.

[32] Paquette E. Computer graphics education in different curricula:

analysis and proposal for courses. Computers & Graphics

2005;29:246–55.