From One Language to the Next: Applications of Analogical Transfer for Programming Education

The 1980s and 1990s saw a robust connection between computer science education and cognitive psychology as researchers worked to understand how students learn to program. More recently, academic disciplines such as science and engineering have begun drawing on cognitive psychology research and theories of learning to create instructional materials and teacher professional development materials based on theories of learning, to some success. In this paper, we follow a similar approach by highlighting common areas of interest between computer science education and cognitive psychology–specifically theories of analogical transfer–and discuss how cross-pollination of theoretical constructs between disciplines can support research on the teaching and learning of multiple programming languages. We will also discuss areas where computing education research can adapt the existing theories from cognitive psychology to develop domain-specific theories of knowledge transfer in computing and feed back into cognitive psychology research to inform larger debates about the nature of cognition and learning.

[1]  David Weintrop,et al.  The landscape of Block-based programming: Characteristics of block-based environments and how they support the transition to text-based programming , 2021, J. Comput. Lang..

[2]  Andrina Granic,et al.  Mediated transfer: From text to blocks and back , 2021, Int. J. Child Comput. Interact..

[3]  Alexander Repenning,et al.  Smacking Screws with Hammers: Experiencing Affordances of Block-based Programming through the Hourglass Challenge , 2021, SIGCSE.

[4]  Karen B. Givvin,et al.  The Better Book Approach for Education Research and Development , 2020 .

[5]  Ethel Tshukudu,et al.  The Role of Explicit Instruction on Students Learning their Second Programming Language , 2020, UKICER.

[6]  Karen B. Givvin,et al.  Practicing Connections: A Framework to Guide Instructional Design for Developing Understanding in Complex Domains , 2020 .

[7]  Quintin Cutts,et al.  Understanding Conceptual Transfer for Students Learning New Programming Languages , 2020, ICER.

[8]  Jodi L. Davenport,et al.  Cognition Research in Practice: Engineering and Evaluating a Middle School Math Curriculum , 2020, The Journal of Experimental Education.

[9]  Chris Parnin,et al.  Here We Go Again: Why Is It Difficult for Developers to Learn Another Programming Language? , 2020, 2020 IEEE/ACM 42nd International Conference on Software Engineering (ICSE).

[10]  Quintin Cutts,et al.  Semantic Transfer in Programming Languages: Exploratory Study of Relative Novices , 2020, ITiCSE.

[11]  Dedre Gentner,et al.  Spatial alignment facilitates visual comparison. , 2020, Journal of experimental psychology. Human perception and performance.

[12]  Yvonne Kao,et al.  Project Scoring for Program Evaluation and Teacher Professional Development , 2020, SIGCSE.

[13]  David Weintrop,et al.  Transitioning from introductory block-based and text-based environments to professional programming languages in high school computer science classrooms , 2019, Comput. Educ..

[14]  Alan F. Blackwell,et al.  Fifty years of the psychology of programming , 2019, Int. J. Hum. Comput. Stud..

[15]  Igor Moreno Santos,et al.  Experiences in bridging from functional to object-oriented programming , 2019, SPLASH-E.

[16]  Lisa Anthony,et al.  Amphibian: Dual-Modality Representation in Integrated Development Environments , 2019, 2019 IEEE Blocks and Beyond Workshop (B&B).

[17]  Benjamin D. Jee,et al.  Relational Scaffolding Enhances Children’s Understanding of Scientific Models , 2019, Psychological science.

[18]  Nicole M. McNeil,et al.  Improving children’s understanding of mathematical equivalence via an intervention that goes beyond nontraditional arithmetic practice. , 2019, Journal of Educational Psychology.

[19]  Lauri Malmi,et al.  Computing Education Theories: What Are They and How Are They Used? , 2019, ICER.

[20]  David Weintrop,et al.  Block-based programming in computer science education , 2019, Commun. ACM.

[21]  Luciana Benotti,et al.  Text-based Programming in Elementary School: A Comparative Study of Programming Abilities in Children with and without Block-based Experience , 2019, ITiCSE.

[22]  Elizabeth R. Albro,et al.  Looking Back to Move Forward: A Retrospective Examination of Research at the Intersection of Cognitive Science and Education and What It Means for the Future , 2019, Journal of Cognition and Development.

[23]  Kathi Fisler,et al.  Programming Paradigms and Beyond , 2019, The Cambridge Handbook of Computing Education Research.

[24]  Briana B. Morrison,et al.  Cognitive Sciences for Computing Education , 2019, The Cambridge Handbook of Computing Education Research.

[25]  Frank E Ritter,et al.  ACT-R: A cognitive architecture for modeling cognition. , 2018, Wiley interdisciplinary reviews. Cognitive science.

[26]  Chris Parnin,et al.  It's Like Python But: Towards Supporting Transfer of Programming Language Knowledge , 2018, 2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[27]  Bryan J. Matlen,et al.  Impact and Prevalence of Diagrammatic Supports in Mathematics Classrooms , 2018, Diagrams.

[28]  Andrew Luxton-Reilly,et al.  Transitioning from Block-Based to Text-Based Programming Languages , 2018, 2018 International Conference on Learning and Teaching in Computing and Engineering (LaTICE).

[29]  David Weintrop,et al.  Comparing Block-Based and Text-Based Programming in High School Computer Science Classrooms , 2017, ACM Trans. Comput. Educ..

[30]  Aidan Mooney,et al.  Visual and textual programming languages: a systematic review of the literature , 2017, Journal of Computers in Education.

[31]  David Weintrop,et al.  Between a Block and a Typeface: Designing and Evaluating Hybrid Programming Environments , 2017, IDC.

[32]  Michael Kölling,et al.  Frame-Based Editing , 2017, J. Vis. Lang. Sentient Syst..

[33]  Sasa Mladenovic,et al.  Mediated transfer from visual to high-level programming language , 2017, 2017 40th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO).

[34]  Jeffrey G. Gray,et al.  Learnable programming , 2017, Commun. ACM.

[35]  Diana Franklin,et al.  Using Upper-Elementary Student Performance to Understand Conceptual Sequencing in a Blocks-based Curriculum , 2017, SIGCSE.

[36]  Kathi Fisler,et al.  Assessing and Teaching Scope, Mutation, and Aliasing in Upper-Level Undergraduates , 2017, SIGCSE.

[37]  Karen B. Givvin,et al.  Online Learning as a Wind Tunnel for Improving Teaching , 2017 .

[38]  Hironori Washizaki,et al.  Analysis of the learning effects between text-based and visual-based beginner programming environments , 2016, 2016 IEEE 8th International Conference on Engineering Education (ICEED).

[39]  Christian D. Schunn,et al.  Improving Middle School Science Learning Using Diagrammatic Reasoning , 2016 .

[40]  Mark Guzdial,et al.  Replication, Validation, and Use of a Language Independent CS1 Knowledge Assessment , 2016, ICER.

[41]  Saquib Razak,et al.  From Alice to Python. Introducing Text-based Programming in Middle Schools , 2016, ITiCSE.

[42]  Kathi Fisler,et al.  Modernizing Plan-Composition Studies , 2016, SIGCSE.

[43]  C. Unkelbach,et al.  A general valence asymmetry in similarity: Good is more alike than bad. , 2016, Journal of experimental psychology. Learning, memory, and cognition.

[44]  Neil Brown,et al.  Frame-Based Editing: Easing the Transition from Blocks to Text-Based Programming , 2015, WiPSCE.

[45]  David Weintrop,et al.  Using Commutative Assessments to Compare Conceptual Understanding in Blocks-based and Text-based Programs , 2015, ICER.

[46]  Thomas W. Price,et al.  Comparing Textual and Block Interfaces in a Novice Programming Environment , 2015, ICER.

[47]  David Bau,et al.  Pencil code: block code for a text world , 2015, IDC.

[48]  Roy D. Pea,et al.  Designing for deeper learning in a blended computer science course for middle school students , 2015, Comput. Sci. Educ..

[49]  Mark Dorling,et al.  Scratch: A Way to Logo and Python , 2015, SIGCSE.

[50]  MICHAL ARMONI,et al.  From Scratch to “Real” Programming , 2015, TOCE.

[51]  Timothy C. Bell,et al.  Should your 8-year-old learn coding? , 2014, WiPSCE.

[52]  Michael Homer,et al.  Combining Tiled and Textual Views of Code , 2014, 2014 Second IEEE Working Conference on Software Visualization.

[53]  David Klahr,et al.  Sequential effects of high and low instructional guidance on children’s acquisition of experimentation skills: Is it all in the timing? , 2013 .

[54]  Timothy J. Nokes-Malach,et al.  Learning Through Case Comparisons: A Meta-Analytic Review , 2013 .

[55]  Vladimir M Sloutsky,et al.  The cost of concreteness: the effect of nonessential information on analogical transfer. , 2013, Journal of experimental psychology. Applied.

[56]  Benjamin D. Jee,et al.  Finding faults: analogical comparison supports spatial concept learning in geoscience , 2013, Cognitive Processing.

[57]  John Dunlosky,et al.  Improving Students’ Learning With Effective Learning Techniques: Promising Directions From Cognitive and Educational Psychology , 2012 .

[58]  Dedre Gentner,et al.  Causal Systems Categories: Differences in Novice and Expert Categorization of Causal Phenomena , 2012, Cogn. Sci..

[59]  Robert L. Goldstone,et al.  Introduction to “New Conceptualizations of Transfer of Learning” , 2012 .

[60]  Robert L. Goldstone,et al.  The Import of Knowledge Export: Connecting Findings and Theories of Transfer of Learning , 2012 .

[61]  Steve Cooper,et al.  Mediated transfer: Alice 3 to Java , 2012, SIGCSE '12.

[62]  Mordechai Ben-Ari,et al.  Learning computer science concepts with scratch , 2010, ICER '10.

[63]  Dedre Gentner,et al.  Bootstrapping the Mind: Analogical Processes and Symbol Systems , 2010, Cogn. Sci..

[64]  Ebru Celikel Cankaya,et al.  Using alice in CS1: a quantitative experiment , 2010, ITiCSE '10.

[65]  Colleen M. Lewis How programming environment shapes perception, learning and goals: logo vs. scratch , 2010, SIGCSE.

[66]  Eric Rosenbaum,et al.  Scratch: programming for all , 2009, Commun. ACM.

[67]  B. Rittle-Johnson,et al.  The Importance of Prior Knowledge When Comparing Examples: Influences on Conceptual and Procedural Knowledge of Equation Solving , 2009 .

[68]  Barbara Ericson,et al.  Exploring Wonderland: Java Programming Using Alice and Media Computation , 2009 .

[69]  D.C. Cliburn,et al.  Student opinions of Alice in CS1 , 2008, 2008 38th Annual Frontiers in Education Conference.

[70]  David N. Perkins,et al.  Making Learning Whole: How Seven Principles of Teaching Can Transform Education , 2008 .

[71]  Carsten Schulte,et al.  Block Model: an educational model of program comprehension as a tool for a scholarly approach to teaching , 2008, ICER '08.

[72]  Robert L. Goldstone,et al.  Formal notations are diagrams: Evidence from a production task , 2007, Memory & cognition.

[73]  Arthur C. Graesser,et al.  Organizing Instruction and Study to Improve Student Learning. IES Practice Guide. NCER 2007-2004. , 2007 .

[74]  Deborah J. Armstrong,et al.  Understanding Mindshift Learning: The Transition to Object-Oriented Development , 2007, MIS Q..

[75]  Robert L. Goldstone,et al.  How abstract is symbolic thought? , 2007, Journal of experimental psychology. Learning, memory, and cognition.

[76]  Caitlin Kelleher,et al.  Storytelling alice motivates middle school girls to learn computer programming , 2007, CHI.

[77]  Leanne M. Hirshfield,et al.  Through the looking glass: teaching CS0 with Alice , 2007, SIGCSE.

[78]  Nan Jiang Semantic Transfer and Its Implications for Vocabulary Teaching in a Second Language , 2004 .

[79]  Randy Pausch,et al.  Learning To Program With Alice , 2004 .

[80]  D. Gentner,et al.  Learning and Transfer: A General Role for Analogical Encoding , 2003 .

[81]  H. James Nelson,et al.  Old dogs and new tricks , 2002, CACM.

[82]  Ruth Drake,et al.  Teaching for Transfer. , 2001 .

[83]  Dedre Gentner,et al.  Learning by Analogical Bootstrapping , 2001 .

[84]  John R. Anderson,et al.  Implications of the ACT-R Learning Theory: No Magic Bullets , 2000 .

[85]  Nan Jiang,et al.  Lexical representation and development in a second language , 2000 .

[86]  L. Barsalou,et al.  Whither structured representation? , 1999, Behavioral and Brain Sciences.

[87]  D. Gentner,et al.  Comparison and Categorization in the Development of Relational Similarity , 1996 .

[88]  Susan Wiedenbeck,et al.  An intelligent tool to aid students in learning second and subsequent programming languages , 1996, Comput. Educ..

[89]  Adrienne Y. Lee,et al.  Cognitive Activities and Levels of Abstraction in Procedural and Object-Oriented Design , 1995, Hum. Comput. Interact..

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

[91]  John R. Anderson,et al.  Rules of the Mind , 1993 .

[92]  Jean Scholtz,et al.  Using Unfamiliar Programming Languages: The Effects on Expertise , 1993, Interact. Comput..

[93]  Jean Scholtz,et al.  Learning a new programming language: a model of the planning process , 1991, Proceedings of the Twenty-Fourth Annual Hawaii International Conference on System Sciences.

[94]  R. I. Sutton,et al.  Switching Cognitive Gears: From Habits of Mind to Active Thinking , 1991 .

[95]  John R. Anderson,et al.  Problem-Solving Transfer among Programming Languages , 1990 .

[96]  N. Pennington Stimulus structures and mental representations in expert comprehension of computer programs , 1987, Cognitive Psychology.

[97]  Richard J. Vondruska,et al.  Salience, similes, and the asymmetry of similarity , 1985 .

[98]  Mark Weiser,et al.  Programming Problem Representation in Novice and Expert Programmers , 1983, Int. J. Man Mach. Stud..

[99]  K. Holyoak,et al.  Schema induction and analogical transfer , 1983, Cognitive Psychology.

[100]  Paul J. Feltovich,et al.  Categorization and Representation of Physics Problems by Experts and Novices , 1981, Cogn. Sci..

[101]  Ben Shneiderman,et al.  Syntactic/semantic interactions in programmer behavior: A model and experimental results , 1979, International Journal of Computer & Information Sciences.

[102]  A. Tversky Features of Similarity , 1977 .

[103]  Stephen K. Reed,et al.  The role of analogy in transfer between similar problem states , 1974 .

[104]  Shuchi Grover,et al.  Teaching and Assessing for Transfer from Block-to-Text Programming in Middle School Computer Science , 2021 .

[105]  Lauren E. Margulieux,et al.  Learning Sciences for Computing Education , 2019, The Cambridge Handbook of Computing Education Research.

[106]  Heather Killen,et al.  Blocks or Text? How programming language modality makes a difference in assessing underrepresented populations , 2018, ICLS.

[107]  Caitlin Kelleher,et al.  Learnable Programming: Blocks and Beyond , 2017, ArXiv.

[108]  Dedre Gentner,et al.  Rapid Learning in a Children's Museum via Analogical Comparison , 2016, Cogn. Sci..

[109]  Doug Rohrer,et al.  Interleaved Practice Improves Mathematics Learning. , 2014 .

[110]  P. Kellman,et al.  Perceptual Learning, Cognition, and Expertise , 2013 .

[111]  Benjamin D. Jee,et al.  Enhancing the Comprehension of Science Text through Visual Analogies , 2011, CogSci.

[112]  E. Bjork,et al.  Making things hard on yourself, but in a good way: Creating desirable difficulties to enhance learning. , 2011 .

[113]  Ian M. McDonough,et al.  Learning by analogy: Discriminating between potential analogs , 2010 .

[114]  Mark Guzdial,et al.  Assessing fundamental introductory computing concept knowledge in a language independent manner , 2010 .

[115]  Norma C.-Ming,et al.  ANALOGIES VS . CONTRASTS : A COMPARISON OF THEIR LEARNING BENEFITS , 2009 .

[116]  M. Bennett,et al.  Through the looking glass. , 2009, Minnesota medicine.

[117]  Patricia Haden,et al.  Programming osmosis: Knowledge transfer from imperative to visual programming environments , 2007 .

[118]  O. Hn,et al.  Education and the Brain : A Bridge Too Far , 2005 .

[119]  Susan M. Barnett,et al.  When and where do we apply what we learn? A taxonomy for far transfer. , 2002, Psychological bulletin.

[120]  Dedre Gentner,et al.  Two Forces in the Development of Relational Similarity , 2002 .

[121]  H. James Nelson,et al.  Knowledge Transfer Between Languages and Paradigms , 2000 .

[122]  Daniel L. Schwartz,et al.  Rethinking transfer: A simple proposal with multiple implica-tions , 1999 .

[123]  Gretchen Irwin,et al.  Journeys up the mountain: Different paths to learning object-oriented programming , 1997 .

[124]  Karen P. Walker,et al.  Obstacles to Learning a Second Programming Language: An Empirical Study , 1996, Comput. Sci. Educ..

[125]  Jean Scholtz,et al.  An analysis of novice programmers learning a second language , 1992, PPIG.

[126]  Jean Scholtz,et al.  Learning second and subsequent programming languages: A problem of transfer , 1990, Int. J. Hum. Comput. Interact..

[127]  Elliot Soloway,et al.  Studying the Novice Programmer , 1988 .

[128]  Dedre Gentner,et al.  Structure-Mapping: A Theoretical Framework for Analogy , 1983, Cogn. Sci..

[129]  H. Simon,et al.  Perception in chess , 1973 .