Abstract:
When a student reads a programming problem statement, something has to happen; that something could be abject confusion, the beginnings of a search for a solution, or a well-formed understanding of what the problem is asking and how to solve it. Barring abject confusion, several theories explain the differences between these responses all revolving around the existence or non-existence of a problem schema – some mental concept or knowledge structure which encodes what it is to be a particular type of problem which gets solved in a particular type of way. Schemata represent our concepts about the world; they allow us to recognise, categorise, and explain the things around us. Problem schemata represent our concepts about different problems, what they are, and how to solve them. Unfortunately, novice programmers are said to not have sets of schemata they can call on when solving problems and must resort to generic problem solving techniques. This is not only an inefficient method of solving problems, this can even inhibit the development of schemata. But, novice programmers still have to have some concepts about problems. Schemata develop slowly; so, we might assume that even novice learners have some developing schemata which inform their perceptions and approaches to problems. In line with the constructivist theory of learning, it is commonly accepted we need to build on the existing knowledge of learners; however, much of the research on novices’ knowledge seems to focus on what they don’t know or what they get wrong. Little has been done to address the nature of what novice learners do know – what do their schemata, as undeveloped as they may be, ‘look like’ and what concepts do they have about problems? Understanding this might mean we can focus on what learners do know and better understand how to nurture learners’ pre existing knowledge. To examine the nature of novice programmers’ knowledge, this thesis examines the features students recognise as salient in simple computing problems and how they use those features when categorising problems. An interpretivist study involving semi-structured interviews and card sorting exercises was conducted and the results were analysed using mixed qualitative and quantitative methods drawing from schema and category theory. I find most students are able to identify some underlying differences between problems and can sort problems into meaningful categories; however, across all levels of tertiary level instruction most participants do not show signs of schema-like knowledge and lack appropriate or abstract language to describe those categories.