Understanding the Transfer of Knowledge in Introductory Programming Classes
Computing has become an essential field of study, with programming as its core component. However, pedagogical aspects of teaching programming remain under-explored and poorly understood. The selection of a student's first programming language has sparked considerable debate within the community, often referred to as a “culture war”, and presents curricular challenges that extend to subsequent language choices. This research full paper investigates the transitions between different programming languages and measures students' learning experiences as they progress through a single language. We utilize Mindshift Learning Theory (MLT) to examine the transfer of knowledge across programming languages as students go through courses in a pre-requisite chain in our curriculum. Our study focuses on three aspects: novelty (encountering new, unique concepts), change (differently applying previously exposed topics), and carryover (directly transferring concepts to new contexts). Our methodology includes an online survey of current and past students transitioning through these courses. We aim to understand how perceived transitions impact mastery and confidence in programming languages. We designed the survey questions, identified target classes, and implemented incentive mechanisms to ensure a statistically significant response rate. Our results are partially aligned with earlier findings in the literature, which correlated carryover, changed, and novel concepts with knowledge scores of object oriented (OO) developers, despite a totally different demographic. Namely, our student participants transitioning to C/C++ (procedural programming) and OO C++ mostly have high, moderate, and low knowledge scores on the programming concepts they perceive as carryover, novel, and changed respectively. On the other hand, those transitioning to OO Java have higher scores for the changed concepts.
Authors
- Michael E. Knox (ORCID: https://orcid.org/0000-0003-4466-6982)
- Murali Mani (ORCID: https://orcid.org/0000-0002-1452-6877)
- Suleyman Uludag (ORCID: https://orcid.org/0000-0002-7207-6683)
- Halil Bişğin (ORCID: https://orcid.org/0000-0001-6874-168X)
- Charlotte Tang (ORCID: https://orcid.org/0000-0002-3518-9929)
Institutions
- University of Michigan–Flint (US)
Publication Details
- Published
- 2024-10-13
- DOI
- https://doi.org/10.1109/fie61694.2024.10893318
- Primary Topic
- Teaching and Learning Programming
- Type
- article
- Field-Weighted Citation Impact
- 0.00