Link to programme design
Many skills of a professional programmer are related to social context rather than the technical one
Blackwell, A. (2002). What is programming? In 14th workshop of the Psychology of Programming Interest Group (pp. 204-218).
As pointed out in the quote above, the skills needed for programming can be integrated with the Key Competencies, in particular Relating to others. It is when programmers know their end-users well and use this knowledge that the best programs emerge, and when they communicate well with other programmers that their programs have good “style”.
As in the previous pīkau Getting programs right: the end-user, and fast algorithms, the concepts of comparative ( <, >, =) and logical (‘and’, ‘or’, ‘not’) operators can be used within contexts of other learning areas. For example, in Health and Physical Education, students might describe when foods are healthy, for example when fat < 10g/100g, and sugar < 10g/100g. Or in Science, they might describe the ideal growing conditions for organisms based on warmth being greater than a certain temperature, and moisture being within some range.
The strands of the Technology learning area support teachers and kaiako to incorporate this particular digital content into programmes of learning using technological practice, knowledge and nature of technology achievement objectives.
The progress outcomes up to and including progress outcome 5, describe all the required significant learning steps that students need, typically by the end of year 10, students, “understand the role of systems in managing digital devices, security and application software”.
Progress outcome 5 describes students being able to “independently decompose problems into algorithms. They use these algorithms to create programs with inputs, outputs, sequence, selection using comparative and logical operators and variables of different data types, and iteration”.
A natural connection to the content in this pīkau is the Technological knowledge strand. It contains indicators of progression in Tech Systems that describe what students can do, in NZC Levels 1 to 5 (years 1 to 10), as they build their understanding of how a computer program uses control to transform inputs, into outputs. The progressions described in the strands is broad so that it can relate to any of the 5 areas of Technology:
- computational thinking for digital technologies
- designing and developing digital outcomes
- designing and developing materials outcomes
- designing and developing processed outcomes
- design and visual communication.