{'fraction_non_alphanumeric': 0.01912568306010929, 'fraction_numerical': 0.0009107468123861566, 'mean_word_length': 5.423976608187134, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Semblance of Similarity: Student Categorisation of Simple Algorithmic Problem Statements

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. Learners often lack appropriate schemata to call upon when solving problems, instead resorting to generic problem-solving techniques. Not only is this an inefficient method of solving problems, it can even inhibit the development of schemata. In line with constructivist theories of learning, effective teaching should build on the existing knowledge of learners; to do so, we must understand the nature of what they know – what do their schemata, as undeveloped as they may be, ‘look like’ and what concepts do they have about problems? In this paper, we explore the categories students identify when sorting simple algorithmic computing problem statements and the language they use to describe those categories. We conduct an interpretivist study involving a card sorting exercise, in which 35 computing students across four years of tertiary-level study grouped problem statements into categories they identified as meaningful, followed up with semi-structured interviews. Results of qualitative analysis revealed several students do demonstrate productive knowledge for identifying and reasoning about common tasks such as filtering, mapping, aggregating, and searching; however, this knowledge is fragile and concrete, and does not demonstrate the existence of pre-established problem schemata or abstract knowledge of algorithmic patterns. One implication of this work is that instruction may benefit from a more explicit focus on patterns and plans, and an established language with which students can communicate and reason about them.