Understanding Conceptual Transfer for Students Learning New Programming Languages

Prior research has shown that students face transition challenges between programming languages (PL) over the course of their education. We could not find research attempting to devise a model that describes the transition process and how students' learning of programming concepts is affected during the shift. In this paper, we propose a model to describe PL transfer for relative novices. In the model, during initial stages of learning a new language, students will engage in learning three categories of concepts, True Carryover Concepts, False Carryover Concepts, or Abstract True Carryover Concepts; during the transition, learners automatically effect a transfer of semantics between languages based on syntax matching. In order to find support for the model, we conducted two empirical studies. Study 1 investigated near-novice undergraduate students transitioning from procedural Python to object-oriented Java while Study 2 investigated near-novice postgraduate students doing a transfer from object-oriented Java to procedural Python. Results for both studies indicate that students had little or no difficulty with transitioning on TCC due to positive semantic transfer based on syntax similarities while they had the most difficulty transitioning on FCC due to negative semantic transfer. Students had little or no semantic transfer on ATCC due to differences in syntax between the languages. We suggest ways in which the model can inform pedagogy on how to ease the transition process.

[1]  David A. Watt,et al.  Programming language design concepts , 2004 .

[2]  Yizhou Qian,et al.  Students’ Misconceptions and Other Difficulties in Introductory Programming , 2017, ACM Trans. Comput. Educ..

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

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

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

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

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

[8]  Andreas Stefik,et al.  An Empirical Investigation into Programming Language Syntax , 2013, TOCE.

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

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

[11]  Nan Jiang FORM–MEANING MAPPING IN VOCABULARY ACQUISITION IN A SECOND LANGUAGE , 2002, Studies in Second Language Acquisition.

[12]  Elliot Soloway,et al.  Preprogramming Knowledge: A Major Source of Misconceptions in Novice Programmers , 1985, Hum. Comput. Interact..

[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]  HristovaMaria,et al.  Identifying and correcting Java programming errors for introductory computer science students , 2003 .

[15]  Tapio Salakoski,et al.  Breaking the Programming Language Barrier: Using Program Visualizations to Transfer Programming Knowledge in One Programming Language to Another , 2012, 2012 IEEE 12th International Conference on Advanced Learning Technologies.

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

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

[18]  J. Dworin Insights Into Biliteracy Development: Toward a Bidirectional Theory of Bilingual Pedagogy , 2003 .

[19]  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).

[20]  Walter Kintsch,et al.  Toward a model of text comprehension and production. , 1978 .

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

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

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

[24]  Roy D. Pea,et al.  Language-Independent Conceptual “Bugs” in Novice Programming , 1986 .

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

[26]  Tony Clear,et al.  An introduction to program comprehension for computer science educators , 2010, ITiCSE-WGR '10.

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

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

[29]  Anat Prior,et al.  Bidirectional transfer: The effect of sharing a translation , 2011 .

[30]  Christopher D. Hundhausen,et al.  Can direct manipulation lower the barriers to computer programming and promote transfer of training?: An experimental study , 2009, TCHI.

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

[32]  Marc Roper,et al.  Investigating the viability of mental models held by novice programmers , 2007, SIGCSE.

[33]  David Weintrop,et al.  How block-based, text-based, and hybrid block/text modalities shape novice programming practices , 2018, Int. J. Child Comput. Interact..

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

[35]  Kate Ehrlich,et al.  Knowledge and processes in the comprehension of computer programs. , 1988 .

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

[37]  Håkan Ringbom,et al.  Cross-linguistic Similarity in Foreign Language Learning , 2006 .