skip to main content
10.1145/3341525.3387406acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article

Semantic Transfer in Programming Languages: Exploratory Study of Relative Novices

Published: 15 June 2020 Publication History

Abstract

It is a natural part of a student's computing education to transfer from language to language, hence adopting to a new programming language (PL) quickly is a necessary skill. Prior work in computer science research mainly brings awareness of the success and difficulties that students face when learning new languages. In addition, work that directly relates to PL transfer mainly concerns experienced programmers problem solving in a new language, evidencing plan transfer. We could not find research attempting to devise a model of PL transfer based on code comprehension. We explore this phenomenon in the context of five university students transitioning from procedural Python to object-oriented Java, over a period of 10 weeks. We analyse the results through the lens of a model of second language acquisition using the notion of Semantic transfer and the Mindshift learning theory (MLT). The findings indicate that during the initial learning stages, learners relied mostly on their syntactic matching between Python and Java and subsequent semantic transfer which affected their learning positively on Carryover concepts and negatively on Changed concepts. Students could not transfer their semantic knowledge on concepts they perceived as Novel. An understanding of the transfer process learners go through during a shift can help inform our pedagogy on how to ease the transition process and achieve an effective learning process, and we provide pointers in this direction.

References

[1]
Deborah J Armstrong and Bill C Hardgrave. 2007. Understanding mindshift learning: the transition to object-oriented development. MIS Quarterly (2007), 453--474.
[2]
William R Cook. 2009. On understanding data abstraction, revisited. In ACM SIGPLAN Notices, Vol. 44. ACM, 557--572.
[3]
Wanda Dann, Dennis Cosgrove, Don Slater, Dave Culyba, and Steve Cooper. 2012. Mediated transfer: Alice 3 to Java. In SIGCSE, Vol. 12. Citeseer, 141--146.
[4]
Anna Eckerdal and Michael Thuné. 2005. Novice Java programmers' conceptions of object and class, and variation theory. In ACM SIGCSE Bulletin, Vol. 37. ACM, 89--93.
[5]
Richard Hayes, Brittany Kyer, and Emily Weber. 2015. The case study cookbook. available at: file:///E:/Scoping/Case% 20Studies/CaseTypePDF. pdf (accessed August 17, 2018).[Google Scholar] (2015).
[6]
Michael Homer and James Noble. 2014. Combining tiled and textual views of code. In 2014 Second IEEE Working Conference on Software Visualization. IEEE, 1--10.
[7]
Nan Jiang. 2000. Lexical representation and development in a second language. Applied linguistics, Vol. 21, 1 (2000), 47--77.
[8]
Nan Jiang. 2004. Semantic transfer and its implications for vocabulary teaching in a second language. The modern language journal, Vol. 88, 3 (2004), 416--432.
[9]
Michael Kölling, Neil CC Brown, and Amjad Altadmri. 2015. Frame-based editing: Easing the transition from blocks to text-based programming. In Proceedings of the Workshop in Primary and Secondary Computing Education. ACM, 29--38.
[10]
Colleen M Lewis. 2012. The importance of students' attention to program state: a case study of debugging behavior. In Proceedings of the ninth annual international conference on International computing education research. ACM, 127--134.
[11]
Barbara Liskov, Alan Snyder, Russell Atkinson, and Craig Schaffert. 1977. Abstraction mechanisms in CLU. Commun. ACM, Vol. 20, 8 (1977), 564--576.
[12]
H James Nelson, Gretchen Irwin, and David E Monarchi. 1997. Journeys up the mountain: Different paths to learning object-oriented programming. Accounting, Management and Information Technologies, Vol. 7, 2 (1997), 53--85.
[13]
Norman Peitek, Janet Siegmund, Sven Apel, Christian Kastner, Chris Parnin, Anja Bethmann, Thomas Leich, Gunter Saake, and André Brechmann. 2018. A Look into Programmers' Heads. IEEE Transactions on Software Engineering (2018).
[14]
Kris Powers, Stacey Ecott, and Leanne M Hirshfield. 2007. Through the looking glass: teaching CS0 with Alice. In SIGCSE, Vol. 7. Citeseer, 213--217.
[15]
Håkan Ringbom. 2007. Cross-linguistic similarity in foreign language learning. Vol. 21. Multilingual Matters.
[16]
Jean Scholtz and Susan Wiedenbeck. 1990. Learning second and subsequent programming languages: A problem of transfer. International Journal of Human-Computer Interaction, Vol. 2, 1 (1990), 51--72.
[17]
Jean Scholtz and Susan Wiedenbeck. 1991. Learning a new programming language: a model of the planning process. In Proceedings of the Twenty-Fourth Annual Hawaii International Conference on System Sciences, Vol. 2. IEEE, 3--12.
[18]
Jean Scholtz and Susan Wiedenbeck. 1992. An analysis of novice programmers learning a second language. In PPIG (1). 9.
[19]
Jean Scholtz and Susan Wiedenbeck. 1993. Using unfamiliar programming languages: the effects on expertise. Interacting with Computers, Vol. 5, 1 (1993), 13--30.
[20]
Carsten Schulte. 2008. Block Model: an educational model of program comprehension as a tool for a scholarly approach to teaching. In Proceedings of the Fourth international Workshop on Computing Education Research. ACM, 149--160.
[21]
Carsten Schulte, Tony Clear, Ahmad Taherkhani, Teresa Busjahn, and James H Paterson. 2010. An introduction to program comprehension for computer science educators. In Proceedings of the 2010 ITiCSE working group reports. ACM, 65--86.
[22]
Kristin A Searle and Yasmin B Kafai. 2015. Boys' Needlework: Understanding Gendered and Indigenous Perspectives on Computing and Crafting with Electronic Textiles. In ICER. 31--39.
[23]
Ben Shneiderman and Richard Mayer. 1979. Syntactic/semantic interactions in programmer behavior: A model and experimental results. International Journal of Computer & Information Sciences, Vol. 8, 3 (1979), 219--238.
[24]
Nischal Shrestha. 2018. Towards Supporting Knowledge Transfer of Programming Languages. In 2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). IEEE, 275--276.
[25]
Robert S Siegler and Kevin Crowley. 1991. The microgenetic method: A direct means for studying cognitive development. American psychologist, Vol. 46, 6 (1991), 606.
[26]
Janet Siegmund, Christian Kastner, Sven Apel, Chris Parnin, Anja Bethmann, Thomas Leich, Gunter Saake, and André Brechmann. 2014. Understanding understanding source code with functional magnetic resonance imaging. In Proceedings of the 36th International Conference on Software Engineering. ACM, 378--389.
[27]
Juha Sorva. 2018. Misconceptions and the beginner programmer. Computer Science Education: Perspectives on Teaching and Learning in School (2018), 171.
[28]
Andreas Stefik and Susanna Siebert. 2013. An empirical investigation into programming language syntax. ACM Transactions on Computing Education (TOCE), Vol. 13, 4 (2013), 19.
[29]
Donna Teague and Raymond Lister. 2014. Longitudinal think aloud study of a novice programmer. In Proceedings of the Sixteenth Australasian Computing Education Conference-Volume 148. Australian Computer Society, Inc., 41--50.
[30]
Winston M Tellis. 1997. Introduction to case study. The qualitative report, Vol. 3, 2 (1997), 1--14.
[31]
Anneliese Von Mayrhauser and A Marie Vans. 1995. Program comprehension during software maintenance and evolution. Computer, Vol. 28, 8 (1995), 44--55.
[32]
Karen P Walker and Stephen R Schach. 1996. Obstacles to learning a second programming language: An empirical study. Computer Science Education, Vol. 7, 1 (1996), 1--20.
[33]
David A Watt. 2004. Programming language design concepts .John Wiley & Sons.
[34]
David Weintrop, Connor Bain, Uri Wilensky, and UChicago STEM Education. 2017. Blocking progress? Transitioning from block-based to text-based programming.
[35]
David Weintrop and Uri Wilensky. 2015. Using Commutative Assessments to Compare Conceptual Understanding in Blocks-based and Text-based Programs. In ICER, Vol. 15. 101--110.
[36]
David Weintrop and Uri Wilensky. 2018. How block-based, text-based, and hybrid block/text modalities shape novice programming practices. International Journal of Child-Computer Interaction, Vol. 17 (2018), 83--92.
[37]
Quanfeng Wu and John R Anderson. 1990. Problem-solving transfer among programming languages. Technical Report. CARNEGIE-MELLON UNIV PITTSBURGH PA ARTIFICIAL INTELLIGENCE AND PSYCHOLOGY¦.

Cited By

View all
  • (2024)Programming Language Learning in K-12 EducationEmpowering STEM Educators With Digital Tools10.4018/979-8-3693-9806-7.ch010(227-260)Online publication date: 1-Nov-2024
  • (2024)Parallel Instruction of Text-based and Block-based Programming: On Novice Programmers’ Computational Thinking PracticesTechTrends10.1007/s11528-024-00993-8Online publication date: 5-Sep-2024
  • (2023)How Many Languages Does It Take to Be a Programming Languages Course?Journal of Computing Sciences in Colleges10.5555/3606402.360641738:8(109-119)Online publication date: 1-Apr-2023
  • Show More Cited By

Index Terms

  1. Semantic Transfer in Programming Languages: Exploratory Study of Relative Novices

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ITiCSE '20: Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education
    June 2020
    615 pages
    ISBN:9781450368742
    DOI:10.1145/3341525
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 15 June 2020

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. code comprehension
    2. java
    3. programming language concepts
    4. python
    5. semantics
    6. syntax
    7. transfer

    Qualifiers

    • Research-article

    Conference

    ITiCSE '20
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 552 of 1,613 submissions, 34%

    Upcoming Conference

    ITiCSE '25
    Innovation and Technology in Computer Science Education
    June 27 - July 2, 2025
    Nijmegen , Netherlands

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)46
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 14 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Programming Language Learning in K-12 EducationEmpowering STEM Educators With Digital Tools10.4018/979-8-3693-9806-7.ch010(227-260)Online publication date: 1-Nov-2024
    • (2024)Parallel Instruction of Text-based and Block-based Programming: On Novice Programmers’ Computational Thinking PracticesTechTrends10.1007/s11528-024-00993-8Online publication date: 5-Sep-2024
    • (2023)How Many Languages Does It Take to Be a Programming Languages Course?Journal of Computing Sciences in Colleges10.5555/3606402.360641738:8(109-119)Online publication date: 1-Apr-2023
    • (2023)A Framework for the Localization of Programming LanguagesProceedings of the 2023 ACM SIGPLAN International Symposium on SPLASH-E10.1145/3622780.3623645(13-25)Online publication date: 18-Oct-2023
    • (2023)What Happens When Students Switch (Functional) Languages (Experience Report)Proceedings of the ACM on Programming Languages10.1145/36078577:ICFP(796-812)Online publication date: 31-Aug-2023
    • (2023)Scaffolding to Support Liberal Arts Students Learning to Program on PhotographsProceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 210.1145/3587103.3594158(577-578)Online publication date: 29-Jun-2023
    • (2023)Scaffolding to Support Humanities Students Programming in a Human Language ContextProceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 210.1145/3587103.3594157(579-580)Online publication date: 29-Jun-2023
    • (2023)The Different Types of Contributions to Knowledge (in CER): All Needed, But Not All RecognisedACM Transactions on Computing Education10.1145/348705323:1(1-36)Online publication date: 18-Jan-2023
    • (2023)Assessing Student Learning Across Various Database Query Languages2023 IEEE Frontiers in Education Conference (FIE)10.1109/FIE58773.2023.10343409(1-9)Online publication date: 18-Oct-2023
    • (2022)From One Language to the Next: Applications of Analogical Transfer for Programming EducationACM Transactions on Computing Education10.1145/348705122:4(1-21)Online publication date: 22-Nov-2022
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media