Computational thinking (CT) has been described as an analytical skill that will be used by everyone in the world by middle of the 21st century . Therefore, it should be taught in schools, together with reading, writing and arithmetic skills. New curricula in UK, US and Australia aim to introduce computational thinking into every school, and there is a small but growing set of resources aimed at primary school students.
The essence of computational thinking is thinking about data and ideas, and using and combining these resources to solve problems . CT borrows techniques used by computer scientist to design programs: problem decomposition, pattern recognition, pattern generalization to define abstractions or models, and algorithm design . An algorithm is a sequence of steps, decisions and repetitions to complete a task. Algorithms can be designed by using pseudo-code, flowcharts or directly in a programming language.
The most common approach to introduce CT and algorithms is by exposing primary students to simple visual programs such as Scratch, Kodu or Logo and let them experiment or play. These tools are engaging and they successfully teach kids to develop simple algorithms. On the other hand, this methodology reinforces the perception that computer science is all about programming, and perpetuates the myth that computer scientist sit in from a terminal typing all code all day long. Furthermore, not all primary school teachers are confident using these tools, and they may have constraints both in the access to school computers and lack of time for upskilling.
Thus, we would like to support/complement visual programming tools with other teaching methods that only require pen and paper and can be applied to multiple subjects of the primary school curriculum. We believe flowcharts can be an effective tool to achieve this goal, as they use plain English and require no knowledge of programing languages. Besides, you could start with simple step-by-step procedures (F-1), and later introduce decisions, branches (year 2-4), and repetition (years 4-6). This strategy is aligned with the ACARA Digital Technologies curriculum’s content descriptions for algorithms at years F-6 .
In this paper we will review the pedagogical approaches of algorithm design aimed at primary school age students and explore the use of flowcharts in the primary school curriculum as a way to introduce computational thinking.
1. J.M. Wing, “Computational Thinking”, CACM, viewpoint, vol. 49, no.3 March 2006, pp. 33-35.
2. Computational Thinking: A Problem-Solving Tool For Every Classroom., Pat Phillips, http://csta.acm.org/Resources/sub/ResourceFiles/CompThinking.pdf
4. Draft Australian Curriculum: Technologies, February 2013. Available from http://www.acara.edu.au/technologies.html