usability of programming languages
play

Usability of Programming Languages Lecture 4 - directed by your - PowerPoint PPT Presentation

Overview Practical experimental course lectures are only introductory Lecture 1 - theoretical principles classic approaches l h current trends in leading research. Lecture 2 - candidate research methods advantages and


  1. Overview  Practical experimental course  lectures are only introductory  Lecture 1 - theoretical principles  classic approaches l h  current trends in leading research.  Lecture 2 - candidate research methods  advantages and disadvantages  Lecture 3 - specific classes of user Usability of Programming Languages  Lecture 4 - directed by your research interests  Lecture 4 - directed by your research interests MPhil ACS module R201 - Alan Blackwell Reading List  Hoc, Green, Samurçay and Gilmore (1990)  Psychology of Programming.  Psychology of Programming Interest Group y gy g g p  www.ppig.org  Cambridge guidance on human participants Lecture 1: Principles of human  Cairns and Cox (2008) factors in programming  Research Methods for Human-Computer Interaction  Carroll (2003)  Carroll (2003)  HCI Models, Theories and Frameworks: Toward a multidisciplinary science 1

  2. Cognitive models in HCI Cognitive models of programming  Engineering model of human ‘I/O subsystems’ and  Deciding what to do is harder than doing it  HCI models assume a ‘correct’ sequence of actions ‘central processor’  Derived from human factors/ergonomics  Classic cognitive models derived from GOFAI g  Speed and accuracy of movement S d d f  problem solving  Include working memory capacity  planning  7 +/- 2 ‘chunks’  knowledge representation  Single visual scene  PoP book  Programming as ‘cognitive ergonomics’?  ch 1.4 - Human Cognition and Programming  ch 3 1 - Expert Programming Knowledge:  ch 3.1 - Expert Programming Knowledge: A Schema-based Approach  ch 2.3 - Language Semantics, Mental Models and Analogy  cf user interface “metaphor” Software Development Context Individual Variation  Cognitive science: individuals in controlled contexts  Cognitive theories are general theories  carefully construct experimental tasks to explore schemas,  Consistent aspects of human performance plans, analogy etc  But some programmers are far more productive p g p  correspond to AI constraints of toy problems d AI i f bl  Always more productive in a language they know  Performance also correlated with  Compare to wicked problems  goals and criteria under-specified, constraints conflict etc  general intelligence  self-efficacy  Commercial software development is more social  diagnostic tests for autism  understand problem domain, negotiate specification change  “expert” vs “novice”  Study knowledge by comparing those with to those without  PoP book  ch 1.3 - The Tasks of Programming  Study naïve users who are not ‘crippled’ or ‘mutilated’  ch 3.3 - Expert Software Design Strategies  Real expert performance may include design research  ch 4.1 - The Psychology of Programming in the Large: T eam and Organizational Behaviour  cf Information Systems literature 2

  3. Venues  Psychology of Programming Interest Group (PPIG)  annual conference - proceedings available online  “Work in Progress” meeting (PPIG-WIP)  European Association for Cognitive Ergonomics (EACE)  Empirical Studies of Programmers foundation (ESP) Major research centres and programmes  IEEE Visual Languages and Human Centric Computing  ESP symposia in 2002, 2003  International conference/workshop on Program  International conference/workshop on Program Comprehension (ICPC, formerly IWPC)  ACM CHI  Evaluation and Assessment in Software Engineering (EASE) NSF EUSES UK/European centres  End-Users Shaping Effective Software  PPIG UK  Margaret Burnett at Oregon State University  Salford (Maria Kutar – chair)  Brad Myers at Carnegie Mellon University  York (Thomas Green)  Mary Beth Rosson at Penn State University M B h R P S U i i  Sheffield Hallam (Chris Roast) Sh ffi ld H ll (Ch i R )  Susan Wiedenbeck at Drexel University  Open University (Marian Petre and Judith Segal)  Gregg Rothermel at University of Nebraska  Sussex (Judith Good)  Alan Blackwell at Cambridge  Cambridge (Alan Blackwell)  Joensuu, Finland (Sajaniemi, Tukiainen, Bednarik)  See brand new publication  Limerick, Ireland (Buckley)  Limerick Ireland (Buckley)  Ko, A.J., Abraham, R., Beckwith, L., Blackwell, A.F., Burnett, M., Erwig, M., Lawrence, J., Lieberman, H., Myers, B., Rosson, M.-B.,  INRIA Eiffel group, Paris (Détienne, Visser) Rothermel, G., Scaffidi, C., Shaw, M., and Wiedenbeck, S. (2011).  Fraunhofer (Wulf ) The State of the Art in End-User Software Engineering. ACM Computing Surveys 43(3), Article 21. 3

  4. Other US centres  University of Colorado at Boulder  Gerhard Fischer & Alex Repenning  MIT Media Lab  Henry Lieberman  IBM Research TJ Watson Current areas of theoretical attention  Rachel Bellamy  IBM Research Almaden  Allen Cypher  Microsoft Research Redmond Human Interactions in Programming (HIP) group  Rob DeLine, Gina Venolia & Andrew Begel Cognitive Dimensions of Notations CDs Theory  Programming as interaction with an information  Any visible notation encodes an information structure.  The structure has different parts structure (Ch 2.2 of PoP book)  The parts have various relationships to each other  Sample dimension  Sample dimension  Viscosity: a viscous system is difficult to change  Notational Layers  one structure is often derived from another with similar parts  Resources: and relationships  Visual language usability paper in JVLC by Green & Petre  e.g. web page, from PHP program, from UML diagram, from  Tutorial by Green & Blackwell whiteboard sketch, from business plan  Questionnaire by Blackwell & Green  Chapter in Carroll book  Chapter in Carroll book 4

  5. Notational Activities Attention Investment  Search:  Cost-benefit equation - compare mental effort:  finding information in a familiar structure  to carry out a programming task  against effort saved by the program  Exploratory understanding: p y g  understand a structure you haven’t seen  With associated risk/uncertainty:  In estimate of effort to finish the program  Incrementation:  In actual benefit if the program has a bug  add new items to existing structure  In chance of damage resulting from a severe bug  Modification:  change an existing structure  Transcription:  create a new structure derived from an existing layer  Exploratory design:  create a structure you don’t understand yet Attention Investment Biases Gender HCI  Some expert programmers:  Attention investment + self-efficacy theory  under-estimate costs, and over-estimate benefits  You need confidence to start programming  Attention investment means that female students are less  Novices might be reluctant to engage in programming: g g g p g g  If they over-estimate the costs inclined to explore programming options.  If they over-estimate risk of negative return  You need to do programming to gain confidence  T ools can provide ‘gentle slope’ to reduce this bias  Self-efficacy develops through time spent experimenting  E.g. surprise – explain - reward  Encourage ‘tinkering’ to explore behaviour  But note that the same kind of tinkering can results in poorer learning for males, who have a tendency to be over-confident, and not to think about what they are doing 5

  6. Programming by Example Natural Programming  Based on machine learning techniques  Programmme of Myers’ group at Carnegie Mellon  Infer programs from examples of required output  Study natural/everyday description of algorithms  Attention Investment benefits:  Attention Investment benefits:  Design programming languages compatible with naïve  Design programming languages compatible with naïve  examples can be provided through normal direct manipulation, knowledge so reduced perceived cost  Pane’s HANDS (for children)  inferred program is offered to user when already functional, so  Miller’s LAPIS (for text manipulation) reduced perceived risk  Ko’s CITRUS (constraint-based MVC platform) Variable Roles Agile/Pair Programming  Programme of Sajaniemi’s group at Joensuu  Study interaction between people doing pair programming  Based on analysis of source code corpuses  theoretical focus on sociology rather than psychology  theoretical focus on sociology rather than psychology  Unlike Myer’s focus on naïve knowledge this focuses  Unlike Myer’s focus on naïve knowledge, this focuses on expert knowledge  See Computer-Supported Collaborative Work (CSCW) rather than HCI.  Variables are used in only a few ways:  fixed, stepper, follower, gatherer etc  Originally used for educational visualisation, instruction  May be used for intelligent compilers in future 6

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend