Conceptual Understandings of Novice Programmers (original) (raw)

The need for computer users to have a conceptual, compared with surface-level, understanding of computers has been argued by various authors over many years. Conceptual difficulties are not, of course, specific to the computer programming domain, and indeed are often the focus of Science education practices. This investigation concerns the understanding of secondary school students who are novice users of the Python programming language. A series of different tasks were developed to probe their understandings of relevant programming concepts. As Science education in recent times has often favoured probes of understanding and student-centred representational approaches, we argue for creative teaching and learning strategies which make visible and explicit their understandings, making them open to clarification and elaboration. In short, we contend that there is opportunity for creative pedagogy by bringing some Science education practices into ‘Computer Science’, thus helping students resolve misconceptions and identifying pedagogical approaches which may have unwittingly reinforced such views.