Maria Kallia is working on a project to understand which concepts in computer  programming are particularly difficult and could be identified as “threshold concepts”.

We aim to involve teachers and students in all our research projects at King’s College London, and currently we have an opportunity for teachers of year 11 -13 students of GCSE and A-Level Computer Science to participate in this research study.

Please follow the following links to read more about the project so far:

Phase 1: Findings – Threshold concepts in Functions

Phase 2: Non-cognitive dimensions of learning and threshold concepts in programming


Threshold Concepts in Computer Programming

Students can struggle to overcome conceptual difficulties in computer programming and often get stuck and frustrated with this discipline. Often students of programming have a superficial understanding and can find abstract representations of knowledge difficult.  On the other hand, experts have profound structural and organisation levels of their knowledge and directly understand the critical characteristics or aspects of a concept or a problematic situation. On the journey from novice to expert, teachers can provide valuable assistance: they can help their students surpass their difficulties by directing their teaching more on the difficult parts of the curriculum and can highlight ways to overcome the conceptual obstacles of programming. Thus, the research problem that this study addresses focuses on three different levels of expertise: students, teachers and expert practitioners — and their experiences regarding threshold concepts in computer programming. Threshold concepts refer to places in the curriculum that might be used to organise and focus the education process; they are concepts whose understanding is necessary for mastering a discipline, but are also places in the curriculum where students get stuck and are unable to make progress.

The specific aim of this project is to identify threshold concepts in the broad area of functions and procedural abstraction at key stage 4 and 5 computing curriculum and to explore how students can be helped with understanding and mastering these concepts.

Why is this important?

Computer programming is a complex cognitive ability that requires a variety of skills. Literature suggests that the conceptual understanding of this subject contributes to its difficulty and that threshold concepts, as a source of troublesome knowledge, have a significant role in this. Thus, identifying threshold concepts and developing effective learning and teaching methods for programming are increasingly important. This research project will contribute to the teaching framework of computer programming at schools. The research findings would lead to greater understanding of the difficulties students are facing in computer programming. Then, possible suggestions would be made on how teachers might rethink and potentially restructure the curriculum more effectively to reduce students’ conceptual difficulties and provide a more dependable, comprehensible and positive learning environment.