the psychology of programming

31
The Psychology of Programming “Summer colours” by Beshef. Shared under Crea;ve Commons 2.0

Upload: sallyann-freudenberg

Post on 22-Apr-2015

294 views

Category:

Technology


3 download

DESCRIPTION

A journey through some of the historical research on the Psychology of Programming: Beacons, Schema, Chunking, Visual-spatial thinking, mental models, external representations, distributed cognition and Legitimate Peripheral Participation.

TRANSCRIPT

Page 1: The Psychology of Programming

The  Psychology  of  Programming  

“Summer  colours”  by  Beshef.  Shared  under  Crea;ve  Commons  2.0  

Page 2: The Psychology of Programming

Dr.  Sallyann  Freudenberg  

“Summer  colours”  by  Beshef.  Shared  under  Crea;ve  Commons  2.0  

Page 3: The Psychology of Programming

HBO  movie  trailer  

Temple  at  Google  1  

Temple  at  Google  2  

Dr.  Temple  Grandin  

Page 4: The Psychology of Programming

Empirical  evidence  

•  Au;sm  occurs  more  oIen  in  families  of  physicists,  engineers  and  mathema;cians  Baron-­‐Cohen  et  al  (1998)  

•  Mothers  of  au;s;c  kids  are  more  likely  to  work  in  highly  technical  occupa;ons  -­‐  Windham  et  al  (2009)    

•  Significantly  more  au;sm  in  children  in  IT  rich  regions  -­‐  Roelfsema  et  al  (2011)  

•  ASD  students  more  likely  to  choose  STEM  subjects  –  Wei  et  al  (2003)  

Page 5: The Psychology of Programming

Different  types  of  Thinker  

Page 6: The Psychology of Programming

Historical  Studies  of  Programmers  “My  mouse  isn’t  working  right”  by  Nina  Ma]hews  Photography.  Shared  under  Crea;ve  Commons  2.0.  

Page 7: The Psychology of Programming

Chunking  

“Lost  Ba]le?”  by  Elvind  Barstad  Waaler,  shared  under  Crea;ve  Commons  2.0  

Page 8: The Psychology of Programming

Beacons  

“Peggy’s  Lights  Up”  by  Dennis  Jarvis  via  Crea;ve  Commons    2.0  

Page 9: The Psychology of Programming

Schema      

“Time  passages”  by  Robert  S.  Donovan.  Shared  under  Crea;ve  Commons  2.0  

Page 10: The Psychology of Programming

Counter  schema  Count  :=  0;  

Count  :=  Count  +  1;  

Sum  schema  

Sum  :=  0;  

Sum  :=  Sum  +  number;  

Page 11: The Psychology of Programming

BEGIN    Sum  :=  0;    Count  :=  0;  

 REPEAT        READLN(number);        IF  number  <>  99999  THEN          BEGIN            Sum  :=  Sum  +  number            Count  :=  Count  +  1          END;      UNTIL  number  =  99999  

………………  

Page 12: The Psychology of Programming

BEGIN    Sum  :=  0;    Count  :=  0;  

 REPEAT        READLN(number);        IF  number  <>  99999  THEN          BEGIN            Sum  :=  Sum  +  number            Count  :=  Count  +  1          END;      UNTIL  number  =  99999  

………………  

Page 13: The Psychology of Programming

“58.365”  by  Romana  Klee.  Shared  under  Crea;ve  Commons  2.0  

Hierarchical  Decomposi;on  

Page 14: The Psychology of Programming

Tacit  knowledge  

Image  by  epSos.de  shared  under  Crea;ve  Commons  2.0  

Page 15: The Psychology of Programming

Confirma;on  Bias  

Page 16: The Psychology of Programming

*  

Formal  Representa;ons  

Page 17: The Psychology of Programming

Informal  Representa;ons  

Page 18: The Psychology of Programming

“Photography,  memory  and  mental  models”  by  Kevin  Dooley.  Shared  under  Crea;ve  Commons  2.0    

Temple  Grandin  

Page 19: The Psychology of Programming

“Photography,  memory  and  mental  models”  by  Kevin  Dooley.  Shared  under  Crea;ve  Commons  2.0    

Page 20: The Psychology of Programming

*Wallis  (1926)  

Prepara;on,  incuba;on,  illumina;on,  verifica;on*  

Page 21: The Psychology of Programming

Luminarium  

Page 22: The Psychology of Programming

Things  that  limit  crea;vity  

Page 23: The Psychology of Programming

Cara  Turner,  Scrum  Gathering  Berlin,  2014  

Page 24: The Psychology of Programming

Things  that  foster  crea;vity  

Page 25: The Psychology of Programming

Cara  Turner,  Scrum  Gathering  Berlin,  2014  

Page 26: The Psychology of Programming

Distributed  cogni;on*  

*”Cogni;on  in  the  Wild”  by  Ed  Hutchins  

Page 27: The Psychology of Programming

Peripheral  Awareness  

Page 28: The Psychology of Programming

Legi;mate  Peripheral  Par;cipa;on*  

*Lave  &  Wenger  

Page 29: The Psychology of Programming

Thank  you  

Page 30: The Psychology of Programming

“Au;sm  occurs  more  oIen  in  families  of  physicists,  engineers,  and  mathema;cians”,    Baron-­‐Cohen  S.,  Bolton  P.,  Wheelwright  S.,  Scahill  V.,  Short  L.,  Mead  G.,  and  Smith  A.  in  Au;sm,  1998,  p.296-­‐301  

“Au;sm  spectrum  disorders  in  rela;on  to  parental  occupa;on  in  technical  fields”,  Windham  GC1,  Fessel  K,  Grether  JK.,  Official  Journal  for  the  Interna;onal  Society  for  Au;sm  Research,  2009  Aug;2(4),  p.183-­‐91.  

“Are  au;sm  spectrum  condi;ons  more  prevalent  in  an  informa;on-­‐technology  region?  A  school-­‐based  study  of  three  regions  in  the  Netherlands”,  Roelfsema,  Mar;ne  T.;  Hoekstra,  Rosa  A.;  Allison,  Carrie;  Wheelwright,  Sally;  Brayne,  Carol;  Ma]hews,  Fiona  E.  and  Baron-­‐Cohen,  Simon  (2012).  Journal  of  Au;sm  and  Developmental  Disorders,  42(5)  pp.  734–739.  

“The  Au;s;c  Brain:  Thinking  across  the  spectrum”,  Dr.  Temple  Grandin  and  Richard  Panek.  Published  by  Houghton  Mifflin  2013.  

“The  magical  number  seven,  plus  or  minus  two:  Some  limits  on  our  capacity  for  processing  informa;on”.  Miller  G.A.  (1956),  Psychological  Review  63(2):  81-­‐97.  

“Percep;on  in  chess”,  Chase,  W.  and  Simon,  H.A.,  (1973).  Cogni;ve  Psychology  4,  p.55-­‐81.  

"Chunks:  A  Basis  for  Complexity  Measurement”.  J.S.  Davis  (1984),  Informa;on  Processing  and  management,    Vol.  20,  nos.  1-­‐2,  p.119-­‐127.  

“Towards  a  theory  of  the  comprehension  of  computer  programs”,  Brooks,  R.  (1983),  Interna;onal  Journal  of  Man-­‐Machine  Studies,  18,  p.543-­‐554.  

“SoIware  Design:  Cogni;ve  Aspects”,  De;enne,  F  (2002).  Published  by  Springer.  

Page 31: The Psychology of Programming

“Characterizing  the  program  design  ac;vity,  neither  strictly  top-­‐down  nor  globally  opportunis;c”  –  Davies  (1991).  Behaviour  and  Informa;on  Technology  10(3).  

“Developing  the  a]tributes  of  medical  professional  judgement  and  competence:  a  review  of  the  literature”,  Eraut,  M.  and  Du  Boulay,  B.  (2000),  Cogni;ve  Sciences  Research  Paper  518,  University  of  Sussex.  

“When  mental  models  go  wrong:  co-­‐occurrences  in  dynamic,  cri;cal  systems”,  Besnard,  D.,  Greathead,  D.,  Baxter,  G.  (2004).  Interna;onal  Journal  for  Human-­‐Computer  Studies  60.  p117-­‐128.  (Kegworth  air  disaster).  

“Formality  in  sketches  and  visual  representa;on:  Some  informal  reflec;ons”,  Blackwell,  A.F.,  Church,  L.,  Plimmer,  B.  and  Gray,  D.  (2008)  Workshop  at  VL/HCC  2008,  p.11-­‐18.  

“Mental  imagery  in  program  design  and  visual  programming”,  Petre  M.  and  Blackwell  (1999),  A.F.,  Interna;onal  Journal  of  Human-­‐Computer  Studies  51(1),  p.7-­‐30.  

“The  Art  of  Thought”,  Wallas,  G.,  (1926),  Published  by  Jonathan  Cape.  

“Cogni;on  in  the  Wild”,  Ed  Hutchins  (1996),  Published  by  MIT  Press.  

“Pair  Programming  and  the  re-­‐appropria;on  of  individual  tools  for  collabora;ve  soIware  development”,  Bryant,  S.,  Romero,  P.,  Du  Boulay,  B.,  (2006),  Proceedings  of  the  2006  conference  on  Coopera;ve  Systems  Design,  p.55-­‐70.  

“Situated  Learning:  Legi;mate  Peripheral  Par;cipa;on”,  Lave,  J.  and  Wenger  E.,  (1991).  Published  by  University  of  Cambridge  Press.