Teaching HCI to Undergraduate Computing Students: the Quest for the Golden Rules


Published on

Presented at Workshop HCI@Large, during the CHItaly 2011 Conference, Sept 13,2011.
See also the slides in the slide section of Slideshare.

Published in: Education, Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Teaching HCI to Undergraduate Computing Students: the Quest for the Golden Rules

  1. 1. Teaching HCI to Undergraduate Computing Students: the Quest for the Golden Rules Roberto Polillo DISCO - University of Milano Bicocca Viale Sarca 336, 20123 Milano (Italy) +39-335-219668 roberto.polillo@unimib.it courses are not listed, so their number is not known, but often theABSTRACT offering is limited to a single HCI course per degree.I discuss a methodological framework for implementing effective As a consequence, HCI literacy and skills among computingHuman-Computer Interaction courses in undergraduate computing students is still largely unsatisfactory because time allocated touniversity degrees, and propose some “golden rules” for teaching, HCI concepts and practice is extremely limited. Since in manyderived from my 10 years of experience in such courses at the programs HCI courses are not mandatory, a large number ofUniversity of Milano Bicocca. students will graduate totally unaware even of the basic notions related to the design of usable systems.Categories and Subject Descriptors Teachers of HCI courses are in a difficult position because theyK.3.2. [Computers and Education]: Computer and Information have to combat on a double front. On one side, they must struggleScience Education – computer science education, information to get teaching space from “harder” subject matters, like computersystems education, curriculum. programming, operating systems, mathematics or theoretical computer science. On the other side, they have to cope with theGeneral Terms students themselves, who may be uneasy with the unexpectedDesign, Human Factors. “fuzziness” of the practice of the design of usable systems. Even the students who have voluntarily chosen an elective course on HCI - perhaps attracted by the glamour of innovative interactionKeywords technologies - may be disappointed when faced with the lack ofHCI, Human Computer Interaction, Interaction Design. clearly defined rules of the discipline. Computing students are accustomed to more technical courses and may perceive HCI1. INTRODUCTION topics as common sense not worth much attention [2]. ManyFor a number of years, courses on Human Computer Interaction colleagues teaching HCI can easily share the frustration expressed(HCI) have been offered in most university undergraduate by Terry Winograd in the foreword to an HCI textbook [7]:computing degrees. These courses are not aimed at forming “In years of teaching human-computer interaction, I have oftenprofessional interaction designers or usability specialists, their felt frustrated in trying to capture for students the experience ofgoal being – simply – to introduce students of the different creating useful, useable and likeable interactive systems”.computer careers to the main concepts and methods of HCI. Thishas been a slow process because the computer mainstream The purpose of this short paper is to stimulate a discussion amongcommunity has been slow to recognize the importance of user teachers of HCI courses, to identify ways of improving theirinterface design and HCI issues in computer education. Today, effectiveness. To this end, I will summarize a number ofthe importance of HCI courses in undergraduate computing suggestions, from my 10-year experience in teaching anprograms is recognized in all computing curricula developed by introductory HCI course for third-year undergraduate students inthe joint working groups of ACM and the IEEE [1]. These Informatics (Laurea Triennale in Informatica) at the University ofcurricula usually suggest a number of “core” (i.e.mandatory) Milano Bicocca. It is a one-semester elective course, with anclassroom hours on specified knowledge units of the HCI attendance of 80-120 students (4 to 6 credits, depending on theknowledge area. Regrettably, this number is still small because year). It is compliant with ACM-IEEE recommendations and hasHCI must compete with many other knowledge areas, which also been recently developed in a textbook [6].demand the attention of students and teachers. Section 2 will summarize the space allocated to HCI in the ACM-In Italy the development of HCI courses has been even slower. IEEE undergraduate computing curricula. Section 3 will mentionFor example, while in the University of Milano the first degree in the challenges and opportunities in designing an introductory HCIInformatics dates back to 1981, the first HCI courses started about course. Section 4 will propose a teaching approach drawn fromtwo decades later. GRIN1 data show that in 2009 only one third of my experience. Section 5 will summarize the key points.the 52 GRIN-certified first level degrees in Informatics of Italianuniversities have one mandatory HCI course in at least one of the 2. HCI IN ACM-IEEE CURRICULAoffered curricula (mostly one-semester, 6 credit courses). Elective The first consolidation of HCI as a discipline can be traced back to 1992, when ACM SIGCHI issued a first set of recommendations for education in HCI [3]. This document, now1 considered obsolete, had an enormous impact on HCI teaching for GRIN (Gruppo di Informatica, http://www.grin-informatica.it) many years. It gave a very broad definition of HCI, as “a certifies and collects data on Informatics degrees in Italian discipline concerned with the design, evaluation and public universities.
  2. 2. implementation of interactive computing systems for human use where it is defined as one of the five “pillars” of IT, together withand with the study of major phenomena surrounding them”, and programming, network, databases and Web systems. This is notorganized the HCI topics as shown in Table 1. surprising, since the IT degree focuses on the integration between Table 1. HCI topics, according to SIGCHI curriculum [3] information technologies and business processes. But the teaching space is still only 20 core hours, or 6.4% of the total. Topics and Subtopics The Nature of HCI: (Meta-)Models 3. CHALLENGES AND OPPORTUNITIES Use and Context of Computers: Human Social Organization and Work. All ACM-IEEE curricula contain detailed descriptions of the Application Areas. Human-Machine Fit and Adaptation. suggested HCI basic course, so there is plenty of material to start Human Characteristics: Human Information Processing. Language, with. Nevertheless, defining an undergraduate HCI course is a Communication, Interaction. Ergonomics. challenging task: Computer Systems and Interface Architecture: Input and Output Devices. Dialogue Techniques. Dialogue Genre. Computer Graphics. Dialogue • Suggested HCI topics are very heterogeneous, ranging from Architecture. human factors to widget development. There is always too Development Process: Design Approaches: Implementation Techniques. much to teach in a single course. On the other hand, in real Evaluation Techniques. Example Systems and Case Studies. life good design solutions can only be devised when the full Project Presentation and Examination. range of issues involved is taken into account. • The teaching space available is limited: even if the course is mandatory (as it should always be, and usually is not), it willThe document suggested that “all computer science students be normally the unique HCI course offered in a 4 yearshould be exposed to the issues and concerns of HCI as part of program (3 years in Italy).their fundamental courses”, and defined a set of alternative 4introductory HCI courses (42 hours each) in which the above • Computer students are analytically-minded, and more at easetopics had different emphasis, depending on the course audience. with hacking at a computer keyboard than with the “fuzzy”These courses were broadly characterized as either technology problems posed by humans, which may sometimes beoriented (CS1: User Interface Design and Development and CS2: considered uninteresting or even trivial [2].Phenomena and Theories of HCI) or human oriented (PSY1: • Theory must be interiorized with practice, therefore largePsychology of HCI and MIS1: Human Aspects of Information space should be allocated to project work, and this furtherSystems), and as moving from a general professional/practical stresses the time constraints.orientation (CS1 and MIS1) to one that is more specialized andresearch oriented (CS2 and PSY1), and were intended to be • Linking theory with practice (e.g. specific design solutions topersonalized according to particular situations. The document specific usability guidelines) requires experience, andstressed the importance of having the students understand basic individual coaching is necessary. The teacher should discussHCI concepts, terminology, facts and principles and be able to with each project group, on a step-by-step basis, theapply them in real life situations. advancement of their work, pinpointing the possible consequences of their choices. This is extremely demandingIn subsequent years various work groups were jointly established when large classes are involved, even if now some coachingfrom ACM and IEEE, to define undergraduate university can be done online with suitable tools.curricula for different computing areas. The 2001 Curriculum forComputer Science (CS) undergraduate programs included HCI as • Team work on projects is advisable because it helps toone of the 14 core knowledge areas and recognized the need for analyze problems from a plurality of point of views,HCI courses, but the core (i.e. mandatory) classroom hours encourages knowledge transfer between individuals, andallocated to it were only 8 (out of a total of 280). The HCI course prepares for real-life situations. This makes it difficult todescription contained both ergonomic issues and technical aspects evaluate the individual contributions of the group members.of GUI development. In the following years, other curricula were • Design projects and usability assessments give best resultsdeveloped: Information Systems (IS: 2002, 2010), Software when they cope with real problems, involving realEngineering (SE: 2004), Computer Engineering (CE: 2004), stakeholders, and they may not be always available.Information Technology (IT: 2006, 2008). The ComputingCurricula 2005 [1] gives a comparative summary of these On the other side, HCI courses have some advantages withdocuments, which can be downloaded from the education section respect to other more technical courses:of the ACM Web site. All curricula contain an HCI course, but its • Lab structures and expensive tools are not necessary. Forspace is not much higher than in CS (Table 2). Interestingly, HCI introductory HCI courses, students only need their laptops.gains its best credit in the 2008 revision of the IT Curriculum, Useful software tools (e.g. for prototyping or usability testing), are often freely available. If not, free trial periods are usually enough to complete student projects. Table 2. Summary of HCI space in ACM-IEEE curricula • HCI courses may be fun. Humans and human behaviors are strange and interesting subjects. Lots of video material is available on the net, to easily organize media-rich lessons. • HCI design projects can spur student creativity. Because initial prototyping is usually involved, students can concentrate on innovation, without being overwhelmed with detailed implementation problems.
  3. 3. 4. PLANNING AN HCI COURSE4.1 HCI Course DimensionsTopics suggested for an introductory HCI course in the ACM- At every cycle, the instructor reviews the prototype, tracing backIEEE curricula are very heterogeneous, ranging from human weaknesses and strengths to design decisions, mentioningcognitive processes to implementation techniques. This leaves an applicable general principles and techniques, and helping studentsenormous space to teacher choices. As suggested in [3], mapping to conceptualize – ex post – what has been made and relating it tothe course topics on a two dimensions schema (Figure 1) may be the theory. The design-prototype-evaluate cycle allows touchingvery useful for tailoring the course to a certain degree. Any all the major topics of an HCI introductory course: the mostcontent item can be presented in different ways according to the effective way to understand HCI concepts is through design.quadrant in which the course is placed. Let’s consider, e.g., thetopic of multi-touch interaction. While A-courses might examine Actual projects may vary from case to case, both in content (whatdevice characteristics and performances, B-courses might require is designed) and in size (small group projects vs a single projectthat students practice with it. C-courses might describe involving the whole class). Although every choice may beapplications using it. D-courses might model the user interaction. justified, working with small groups of 3-4 students, who choose their own project of interest, often is better. Indeed, interaction during revision is more direct, and projects may be tailored to actual student interests and experiences. Of course, there are also lots of facts that should be mentioned in an introductory course, requiring more structured classroom presentations. These should be allocated in suitable moments according to progress of project work, in order to maximize theory ↔ practice feedbacks. 4.3 Ten Golden Rules for Design Projects The above suggestions may seem obvious, and certainly the benefits of a project-based experiential learning have been largely discussed in the education literature. But if we consider the mentioned constraints (the short time available and the broad range of HCI topics suggested in the computing curricula), they are not easily implemented. Moreover, most popular HCI textbooks do not help: they adopt a top-down, concepts-first Figure 1. Dimensions of an HCI course. approach, extensively developed in hundreds of pages. Inevitably, if not explicitly, they suggest a rather traditional, lecture-first4.2 Project-Based Experiential Education teaching. In my experience, to get good learning results in theThe importance of having students practice in lab projects is short timeframe available, it is necessary to renounce trade-offs,common sense, and there is no need to comment on it. All and adopt a radical teaching approach, where direct, coachedmentioned curricula stress the importance of practical exercises design experience has top priority over systematicand projects, and team work. While this is applicable to most conceptualization. Since the short space available here does notcomputer courses, for HCI this requires a rather radical approach. permit a longer discussion, in the following I will summarize inExperience shows that presenting theory first and applying it later 10 short “golden rules” what I have learned in my courses afterdoes not work. Interspersing theory and teacher-narrated years of trials and errors.examples does not work either. HCI concepts may seem obviousif tackled out of a concrete problem solving context. Which 4.3.1 Practice first, concepts followstudent would not agree with Nielsen heuristics? They are Assign project work as soon as possible, ideally at the very startperceived as obvious and… immediately forgotten and never of the course.applied. 4.3.2 Situated design, not simulationIntroductory HCI courses require a project-based experiential Use real problems for design projects, with real constraints andeducation approach [8][9]. This is opposed to the traditional way real stakeholders which can be interviewed by the students.of teaching, in which the instructor presents facts and concepts to Simulated problems have fictitious constraints, which are easilythe classroom and prescribes textbook study and learning disregarded or relaxed. Instead, real stakeholders (customers andexercises in which facts and concepts are applied. Project-based users) are difficult to cope with, and are not always right. Theyexperiential education uses projects as the central focus of may have preconceptions leading to bad design; trying toinstruction. The instructor acts as a coach, leading students along convince them is very instructive (e.g., see [4]). Whenevera learning loop: possible, pursue a situated learning approach [5].Concrete experience → observation and reflection on that 4.3.3 Interaction, not descriptionexperience → formation of abstract concepts based on reflection Ask students to build interactive prototypes, not simply a→ testing the new concepts in new situations. description of the proposed system. Interaction cannot be narrated, it must be experienced. Charts, storyboards, interactionAlthough this approach could in principle be implemented with a diagrams and the like do not tell the whole story, and are notvariety of project assignments, it matches perfectly well with enough to evaluate a design. Learning a design language is not theiterative design projects, where the cycle is:
  4. 4. goal of an HCI course. We need a prototype, and it must be 5. CONCLUSIONSinteractive, so we can put our hands on it, and let users do the Since the late 1980’s, HCI has been recognized as a coresame. knowledge area in almost all ACM-IEEE curricula for computing4.3.4 Mostly coaching, not teaching undergraduate students, and detailed course descriptions haveAllow a very substantial percentage of teacher hours for planned been proposed, including a broad range of content topics. There iscoaching. Revise frequently the output of each project group, and also general agreement on the importance of having studentsdiscuss it with students, relating project issues to design principles practice in concrete projects to learn HCI. But implementing anwhen appropriate. Since HCI is not an exact science, involve effective HCI course is still very difficult, since the subject matterdifferent reviewers whenever possible. They will have different, is very broad, and the available teaching space is limited, becauseeven conflicting, points of view: confronting them is extremely HCI competes with many other important knowledge areas. Ininstructive. Involve other students as reviewers. Professors are this short paper I have summarized a methodological frameworknot always right: letting students discover it is part of the which may help in organizing effective HCI courses forteaching. undergraduate computer students, based on my 10 years trials- and-errors in teaching HCI courses to undergraduate students in4.3.5 User testing is mandatory computing. It advocates a radical project-based, experientialAsk students to perform user testing of every prototype. Every learning approach, in which small groups of students designstudent must experience usability testing, as a user, as a simple interactive systems in real environments, using a coachedfacilitator, as a developer of the tested system. The simplest iterative process, with the help of elementary prototyping toolssetting is the fittest: a table and chairs, a laptop with a webcam, and extensive user testing. This approach is summarized in tenfree software to capture and synchronize video, audio and screen proposed “golden rules”, and is called radical in the sense thataction, think-aloud protocol. Usability labs are harmful: they design practice and project coaching have absolute priority oversuggest that user testing requires expensive settings, which is not traditional lectures, which might be kept to a very minimum:true. concepts should develop from projects, and not the other way4.3.6 Iterate prototypes until “Wow!” around.Pursue perfection. Never accept an almost-good prototype:always ask to improve it. Seeing how a prototype slowly changes 6. ACKNOWLEDGMENTSfrom poor to excellent is an essential part of HCI learning. One I am strongly indebted with Piero Schiavo Campo, for his support,or two iterations are never enough. Big problems hide small over many years, to my courses at University of Milano Bicocca,problems, which become visible only later in the cycle. But a and for many discussions on how to improve them.moment will always arrive in which everything goes to its place,and everybody will immediately recognize it. This is the “Wow! 7. REFERENCESmoment”. Never stop earlier. [1] ACM–IEEE. 2005. Computing Curricula 2005 – Overview Report.4.3.7 Make students learn design, not design toolsUse paper prototyping for lo-fi prototypes, and simple [2] Aberg, J. 2010. Challenges with Teaching HCI Early topresentation programs (such as Power Point) for medium-fi Computer Students. In Proc. of the 15th Conference onprototypes. The best tools have zero learning time, as there is no Innovation and Technology in Computer Science Educationtime to do otherwise in an HCI course. An incredible number of (Ankara, Turkey, June 2010). ITiCSE’10. ACM.3-7interesting systems can be effectively prototyped using a simple [3] Hewett, T.T. (ed.). 1992. ACM SIGCHI Curricula forpresentation program. There is no need to look elsewhere. Human-Computer Interaction. ACM, New York, N.Y.4.3.8 Ban any intrusive prototyping tools http://old.sigchi.org/cdg/Prohibit the use of tools which may influence system look-and- [4] Koppelman, H. and Van Dijk, B. 2006. Creating a Realisticfeel and interaction style, such as HTML generators for non-Web Context for Team Projects in HCI. In Proceedings ofsystems, or computer animation tools, even when students are ITiCSE’06 (Bologna, Italy, June 2006). ACM.58-62expert user of these tools. Once again, use presentation tools. [5] Lave, J. and Wenger, E. 1991. Situated Learning. Legitimate4.3.9 Use the Web as a resource Peripheral Participation. Cambridge University Press.The Web can be helpful in many ways: to support group [6] Polillo, R. 2010. Facile da Usare – Una modernacommunication and online coaching; to investigate the technical introduzione all’ingegneria dell’usabilità. Apogeo, Milano.feasibility of the designed system; to find similar systems already [7] Rosson, M.B. and Carroll, J.M. 2002. Usability Engineeringavailable; to download useful software tools and stencil galleries – Scenario-Based Development of HCI. Morgan Kaufmann.for prototype development. Learning to use this resource shouldbe a primary goal of any HCI course. [8] Sas, C. 2006. Learning Approaches for Teaching Interaction Design. In HCI Educators Workshop (Limerick, Ireland, 23-4.3.10 Capitalize on student specific experiences 24 March 2006).Do not assign a unique, one-size-fits-all class project. Ask each [9] Thimbleby, H. 2009. Teaching and Learning HCI. Instudent team to propose a different project, based on their specific Universal Access in Human-Computer Interaction.interests and expertise. Hobbies, job experiences, previous school Addressing Diversity. LNCS 2009, Vol.5614/2009, 625-635careers make every student unique. Mixing diverse and interestingexperiences in a project group may produce a formidable boost tocreativity.