Programming Concepts

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

To read more information about the project’s findings so far please visit the following link: Phase 1: Findings – Threshold concepts in Functions

The project has entered its second phase and Maria is now looking for students and teachers to take part in the next phase of her research. If you are interested to learn more about this phase and how you may participate please visit the following link:

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.


1 Trackback / Pingback

  1. Threshold concepts and non-cognitive dimensions of learning | Computer Science Education @ King's

Leave a Reply

Your email address will not be published.