King's College London

Research portal

Transformative and Troublesome? Students’ and professional programmers’ perspectives on difficult concepts in programming

Research output: Contribution to journalArticle

Original languageEnglish
JournalACM Transactions on Computing Education (TOCE)
Publication statusAccepted/In press - 20 Sep 2018


King's Authors


Programming skills are an increasingly desirable asset across disciplines; however, learning to program continues to be difficult for many students. To improve pedagogy, we need to better understand the concepts that students find difficult and which have the biggest impact on their learning. Threshold-concept theory provides a potential lens on student learning, focusing on concepts that are troublesome and transformative. However, there is still a lack of consensus as to what the most relevant threshold concepts in programming are. The challenges involved are related to concept granularity and to evidencing some of the properties expected of threshold concepts. In this paper, we report on a qualitative study aiming to address some of these concerns. The study involved focus groups with undergraduate students of different year groups as well as professional software developers so as to gain insights into how perspectives on concepts change over time. Four concepts emerged from the data, where the majority of participants agreed on their troublesome nature—
including abstract classes and data structures. Some of these concepts are considered transformative, too, but the evidence base is weaker. However, even though these concepts may not be considered transformative in the ‘big’ sense of threshold concept theory, we argue the ‘soft’ transformative effect of such concepts means they can provide important guidance for pedagogy and the design of programming courses. Further analysis of the data identified additional concepts that may hinder rather than help the learning of these threshold concepts, which we have called ‘accidental complexities’. We conclude the paper with a critique of the use of threshold concepts as a lens for studying students’ learning of programming.

Download statistics

No data available

View graph of relations

© 2018 King's College London | Strand | London WC2R 2LS | England | United Kingdom | Tel +44 (0)20 7836 5454