Published on: May 23, 2024
What are the literacy and numeracy expectations in the Vocabulary activities that are a part of the Introduction to the Python programming lesson plan? And what improvements can be made to enhance support for the knowledge and skills required in your classroom?
Input and output are tier three words that may be familiar to students in other contexts, but have specific meaning in a Digital Technologies classroom. Together, they provide a conceptual framework for how programs (and thus Python Programming) work.
The fact that these concepts are introduced separately makes sense, however, there is a lack of symmetry in the visual explanations.
The arrows in the input example provide a visual marker to help students understand the process of inputting. Mirroring these arrows in the output diagram –in the same way the text explanation is mirrored– would help students understand that the two concepts are opposites.
Adding in a third slide that combines the two concepts will scaffold student understanding of how input and output relate to the concept of a Python program.
The words “data”, “systems” and “processes” are left undefined. These are tier two words that students may have encountered in other subjects like maths, science and history.
In Digital Technologies, “systems and processes”, are usually referring to “information systems” and “information processes”. It is worthwhile exploring examples of other information systems and processes to engage the different prior knowledge systems some students might have due to culturally differences, e.g., gaming systems, weaving and knitting processes, songline systems, etc.
Instead of asking students to classify a process as input or output, we should be asking them to identify the inputs, outputs and types of data in a process.
Based on prior knowledge from the Digital Technologies curriculum, students should also be able to recognise data as numbers, text, and pictures (possibly even binary).
In addition to asking students to identify these components conversationally, we can use ask students to label diagrams, sentences and even short form texts to build students’ literacy skills across visual and textual domains.
The definition of a variable, as given in the Arc lessons, as a named bucket or box is a popular analogy because it is genuinely useful. However, it is also full of potential pitfalls for students.
For example, the analogy suggests a spatial logic that doesn’t necessarily apply (depending on the programming language). For example, in Python, if a program stores a really large list in a variable can it overflow out of the variable like water from a bucket? The answer is ‘yes’ for reality and ‘no’ for Python.
Mathematics teachers and curriculums will often not give a vocabulary definition of algebra when teaching it. Instead they chunk algebraic thinking into defined sub-concepts like sequencing, terms, rules, patterns, generalising. Similarly, we can chunk ‘variable thinking’ into sub-concepts.
You can use resources and activities that allow students simultaneously learn variables and practise and build their numeracy skills. For example: