Don't do this - Pitfalls in using anti-patterns in teaching human-computer interaction principles

This paper explores the use of design patterns and anti-patterns in teaching human-computer interaction principles. Patterns are increasingly popular and are seen as an efficient knowledge transfer mechanism in many fields, including software development in the field of software engineering, and more recently in the field of human-computer interaction. In software engineering a concerted effort is also being made to identify and document anti-patterns for recording the experiences of expert software developers to caution novices against potential bad practices. It is, however, essential that we ensure compatibility with the learner's internal knowledge representation and acquisition processes, whether we are attempting to convey the knowledge in the form of a pattern or an anti-pattern. Since teaching with anti-patterns implies using negation, the primary aim of the research reported in this paper is to explore the efficacy of negative, rather than positive, teaching mechanisms. Evidence from theories of mental modelling and knowledge acquisition that highlight significant dangers in the use of anti-patterns to teach novices human-computer interaction principles is presented and supported with empirical findings. We started off by investigating the use of patterns (positive) in teaching, and then carried out experiments to test the use of anti-patterns (negative) in teaching HCI principles. This paper, whilst reporting mainly on our findings with respect to HCI design anti-patterns, will also identify some problems with the structure and use of patterns and anti-patterns in pedagogy.

[1]  M. Just,et al.  Eye fixations and cognitive processes , 1976, Cognitive Psychology.

[2]  Patrick S. Malone,et al.  You can't not believe everything you read. , 1993 .

[3]  E. Burnstein,et al.  “I am not guilty” vs “I am innocent”: Successful negation may depend on the schema used for its encoding☆ , 2004 .

[4]  Marcia C. Linn,et al.  The case for case studies of programming problems , 1992, CACM.

[5]  Helen Sharp,et al.  Evolving Pedagogical Patterns: The Work of the Pedagogical Patterns Project , 2003, Comput. Sci. Educ..

[6]  A. Graesser Prose Comprehension Beyond the Word , 1981 .

[7]  Marcia C. Linn,et al.  Patterns and pedagogy , 1999, SIGCSE '99.

[8]  Jan O. Borchers A pattern approach to interaction design , 2001, DIS '00.

[9]  Elliot Soloway,et al.  Learning to program = learning to construct mechanisms and explanations , 1986, CACM.

[10]  Donald McIntyre,et al.  Colour Blindness : Causes and Effects , 2002 .

[11]  Helen Sharp,et al.  The pedagogical patterns project (poster session) , 2000, OOPSLA '00.

[12]  Douglas C. Schmidt,et al.  Software patterns , 1996, CACM.

[13]  T. Ostrom,et al.  How Meaning Is Given to Rating Scales: The Effects of Response Language on Category Activation , 1996 .

[14]  K. J. Craik,et al.  The nature of explanation , 1944 .

[15]  Paula Kotzé,et al.  The use of anti-patterns in human computer interaction: wise or III-advised? , 2004 .

[16]  A. Newell,et al.  The Soar papers (vol. II): research on integrated intelligence , 1993 .

[17]  Jenifer Tidwell Designing Interfaces , 2005 .

[18]  S. Bagnara,et al.  The management of human errors in user-centered design , 1996, SGCH.

[19]  D. Scott McCrickard,et al.  Design, science, and engineering topics?: teaching HCI with a unified method , 2004 .

[20]  Viera K. Proulx,et al.  Programming patterns and design patterns in the introductory computer science course , 2000, SIGCSE '00.

[21]  B. Wootton Essays on the Sociology of Knowledge. By Karl Mannheim. Edited by Paul Kecskemeti. (London: Routledge and Kegan Paul. 1952. Price 25s.) , 1953, Philosophy.

[22]  Sally Fincher,et al.  Pedagogical patterns: their place in the genre , 2002, ITiCSE '02.

[23]  Andrew M. Dearden,et al.  Pattern Languages in HCI: A Critical Review , 2006, Hum. Comput. Interact..

[24]  Ian S. Graham,et al.  A pattern language for Web usability , 2003 .

[25]  Karina Valdivia Delgado,et al.  ProPAT: A Programming ITS Based on Pedagogical Patterns , 2004, Intelligent Tutoring Systems.

[26]  John M. Carroll,et al.  Designing claims for reuse in interactive systems design , 1999, Int. J. Hum. Comput. Stud..

[27]  K. Arrow Higher education as a filter , 1973 .

[28]  Stephen R. Schach,et al.  Object-oriented and classical software engineering , 1995 .

[29]  Marcia C. Linn,et al.  How Can Hypermedia Tools Help Teach Programming , 1992 .

[30]  Lydia Michelle Mann The implications of functional and structural knowledge representations for novice programmers , 1992 .

[31]  Carl H. Smith,et al.  Learning by the Process of Elimination , 2002, Inf. Comput..

[32]  R. Pekrun The impact of emotions on learning and achievement : towards a theory of cognitive/motivational mediators , 1992 .

[33]  Joseph Bergin,et al.  A pattern language for initial course design , 2001, SIGCSE '01.

[34]  Jean-Marc Jézéquel,et al.  Design Patterns and Contracts , 1999 .

[35]  Patrick S. Malone,et al.  Unbelieving the Unbelievable: Some problems in the rejection of false information , 1990 .

[36]  Murray Silverstein,et al.  A Pattern Language , 1977 .

[37]  Uwe Naumann,et al.  Do YouReallyKnow What You Have Seen? Intrusion Errors and Presuppositions Effects on Constructive Memory , 1996 .

[38]  Mary Beth Rosson,et al.  What do the experts say?: teaching introductory design from an expert's perspective , 2004 .

[39]  Andrew Koenig,et al.  Patterns and Antipatterns , 1998, J. Object Oriented Program..

[40]  Kate Ehrlich,et al.  Empirical Studies of Programming Knowledge , 1984, IEEE Transactions on Software Engineering.

[41]  Dempsey Chang,et al.  The Meeting of Gestalt and Cognitive Load Theories in Instructional Screen Design , 2004, ICEIS.

[42]  Douglas C. Schmidt,et al.  Using design patterns to develop reusable object-oriented communication software , 1995, CACM.

[43]  Jacob L. Cybulski,et al.  Teaching systems analysis and design using multimedia and patterns , 2000, Thirteenth Conference on Software Engineering Education and Training.

[44]  Daniel T. Joyce,et al.  Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education, SIGCSE 2004, Norfolk, Virginia, USA, March 3-7, 2004 , 2004, SIGCSE.

[45]  John Long Software reuse antipatterns , 2001, SOEN.

[46]  Anneliese Amschler Andrews,et al.  Program Comprehension During Software Maintenance and Evolution , 1995, Computer.

[47]  A. Reber Implicit learning and tacit knowledge , 1993 .

[48]  Herbert H. Clark,et al.  On the process of comparing sentences against pictures , 1972 .

[49]  Douglas C. Schmidt,et al.  Experience Using Design Patterns to Develop Reuseable Object-Oriented Communication Software , 1998 .

[50]  Marcia C. Linn,et al.  Designing computer learning environments for engineering and computer science: The scaffolded knowledge integration framework , 1995 .

[51]  Gerrit C. van der Veer,et al.  Pattern Languages in Interaction Design: Structure and Organization , 2003 .

[52]  Andy Dearden,et al.  Using Pattern Languages in Participatory Design , 2012 .

[53]  Joseph Bergin Fourteen Pedagogical Patterns , 2000, EuroPLoP.

[54]  Douglas J. Gillan,et al.  How does Fitts' law fit pointing and dragging? , 1990, CHI '90.

[55]  S. Fillenbaum,et al.  Memory for Gist: Some Relevant Variables , 1966, Language and speech.

[56]  Robert F. Dugan,et al.  Performance lies my professor told me: the case for teaching Software Performance Engineering to undergraduates , 2004, WOSP '04.

[57]  Doug Baldwin,et al.  Proceedings of the 36th SIGCSE Technical Symposium on Computer Science Education, SIGCSE 2005, St. Louis, Missouri, USA, February 23-27, 2005 , 2005, SIGCSE.

[58]  Thomas J. Mowbray,et al.  AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis , 1998 .

[59]  Martin Fowler,et al.  Analysis patterns - reusable object models , 1996, Addison-Wesley series in object-oriented software engineering.

[60]  Susan Wiedenbeck,et al.  Beacons in Computer Program Comprehension , 1986, Int. J. Man Mach. Stud..

[61]  ALISTAIR SUTCLIFFE,et al.  On the effective use and reuse of HCI knowledge , 2000, TCHI.

[62]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[63]  M W Kirkhart The Nature of Declarative and Nondeclarative Knowledge for Implicit and Explicit Learning , 2001, The Journal of general psychology.

[64]  Michael E. Gorman,et al.  Types of Knowledge and Their Roles in Technology Transfer , 2002 .

[65]  L. J. Johnston,et al.  Principles for a usability-oriented pattern language , 1998, Proceedings 1998 Australasian Computer Human Interaction Conference. OzCHI'98 (Cat. No.98EX234).

[66]  Ahmed Seffah,et al.  Multiple user interfaces : cross-platform applications and context-aware interfaces , 2005 .

[67]  Ruven E. Brooks,et al.  Towards a Theory of the Comprehension of Computer Programs , 1983, Int. J. Man Mach. Stud..

[68]  M. Posner Foundations of cognitive science , 1989 .

[69]  John E. Laird,et al.  The soar papers : research on integrated intelligence , 1993 .

[70]  Robert S. Rist Schema Creation in Programming , 1989, Cogn. Sci..

[71]  D. Berry How implicit is implicit learning , 1997 .

[72]  Bruria Haberman,et al.  (An almost) pedagogical pattern for pattern-based problem-solving instruction , 2004, ITiCSE '04.

[73]  P. Johnson-Laird Mental models , 1989 .

[74]  W. Brewer,et al.  Recall of logical and pragmatic implications in sentences with dichotomous and continuous antonyms , 1975, Memory & cognition.

[75]  Ahmed Seffah Learning the ropes: human-centered design skills and patterns for software engineers' education , 2003, INTR.

[76]  M. Polanyi,et al.  Personal Knowledge: Towards a post-critical philosophy , 1959 .

[77]  Jonathan Schaeffer,et al.  ScriptEase: generative design patterns for computer role-playing games , 2004 .

[78]  Marcia C. Linn,et al.  Supporting Pascal Programming with an On-Line Template Library and Case Studies , 1993, Int. J. Man Mach. Stud..

[79]  Landon P. Cox,et al.  Design patterns: an essential component of CS curricula , 1998, SIGCSE '98.