Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Using Pseudocode and Flowcharts in Algorithms Assessment for Key Stage 3 and 4 Teachers, Study Guides, Projects, Research of Computer Science

An overview of the role of pseudocode and flowcharts in assessing the understanding of algorithms and programming for key stage 3 and 4 teachers. It discusses their use in summative and formative assessments, teaching techniques, recommended resources, and challenges. Pseudocode and flowcharts are essential for students as they help conceptualize algorithms and express them to others.

Typology: Study Guides, Projects, Research

2014/2015

Uploaded on 04/18/2022

l1n
l1n 🇲🇲

2 documents

1 / 13

Toggle sidebar

Related documents


Partial preview of the text

Download Using Pseudocode and Flowcharts in Algorithms Assessment for Key Stage 3 and 4 Teachers and more Study Guides, Projects, Research Computer Science in PDF only on Docsity! Algorithms, Flowcharts and Pseudocode An overview for key stage 3 and 4 teachers There are three associated concepts: algorithms, flowcharts and pseudocode. They present both opportunities and challenges in the teaching of programming. The purpose of this paper is to identify the key issues and the role of flowcharts and pseudocode in: ● the summative assessment of the understanding of algorithms and programming; and ● their role in formative/diagnostic assessment It also identifies key teaching strategies, teaching resources and the challenges associated with using pseudocode and flowcharts in the teaching and assessment of computing at key stage 3 and 4. The report is divided into: Defining terms: working definitions Defining terms: what is pseudocode? Defining terms: what is a flowchart? Teaching techniques​ ​ - that can be used when teaching about pseudocode and flowcharts Tools and resources​ - recommended by teachers Challenges and teaching advice​ - expressed by teachers in the forum and commentary prepared by members of the ​CAS Assessment working group​ on: ● Formative, diagnostic and self assessment ● Summative assessment ● Professional Learning Defining terms: working definitions A computer program follows an ​algorithm​ (a sequence of activities) which can be represented using ​pseudocode​ (code-like English text statements) or a ​flowchart (labelled symbols connected to show the flow of action). Pseudocode and flowcharts are used to help programmers plan and describe their proposed program. Pseudocode and flowcharts are used in assessments to determine if learners can follow the underlying algorithm or describe a system in terms of an algorithm. CAS Assessment wg (January 2019) ​This document arose from discussion at a meeting of the Assessment working group in October 22019 and then subsequently online. Editor ​Andrew Csizmadia ​with Phil Bagge, Pete Dring, Cynthia Selby and John Woollard The importance of unnamed contributors is acknowledged. Defining terms: what is pseudocode? There is much debate around the term pseudocode and its role in the curriculum and in assessment. The term pseudocode is a requirement of the computer science GCSE subject content, “take a systematic approach to problem solving including the use of decomposition and abstraction, and make use of conventions including pseudocode and flowcharts” (DfE, 2015) and is therefore a necessary part of the experience of students. Confusion has arisen because the awarding organisations have used the term pseudocode to describe the syntax and format that examiners will use in the examination papers to present algorithms. CAS recommends that the term pseudocode is ONLY used in association with freely written, no fixed format or syntax, text used by students (and computer programmers) to construct or communicate the algorithm of their planned program. There is no definitive pseudocode Pseudocode is whatever the learner or whatever the programmer makes up to help them conceptualise the algorithm/program for themselves OR to express the algorithm/program to someone else (a known audience)​. Considering a reference language There are good reasons for examiners, resource authors and teachers being consistent in the presentation of algorithms. Learners will focus on the constructs of the algorithm rather than having first to decipher the presentation. There are good reasons for establishing a single standard of presentation of algorithms across all awarding organisations (continuity, standardisation, wider use of resources). To enable examiners to provide a fair and consistent format for ​setting questions,​ each awarding organisations has chosen to create their own format and syntax of presentation. Confusingly, that has been called pseudocode -​ it might better be referred to as an examination reference language. 1 pseudocode/flowchart can help the programmer identify errors in a similar way to the rubber duck debugging technique. 4 Teaching techniques The following approaches can be adopted to develop learners’ confidence, capability and proficiency in creating algorithms using either flowcharts or pseudocodes. Input-Process-Output (IPO) Model​ is a graphical representation of the processes involved in a task. It can be used to remove superficial detail in a problem statement to that the essential information remains with regard to what input(s) is/are required to generate a specific output and the processes required. Parson’s Problems​ requires learners to sort either blocks or individual lines of pseudocode into the correct order. It is an effective collaborative learning technique or a way of identifying a learner’s misconceptions. The algorithm can be simple but it requires learners to think about the algorithm - the sequence. More complex problems can include repetition (loops) and selection (IF statements). Parson’s problems can be based on computer code or pseudocode. In a similar way, flowcharts can be dissected and then learners reassemble to form the correct algorithm. Peer Instruction​ (PI) is an active-learning technique that utilises Multiple Choice Single Answer (MCSA) questions. It highlights individual learner’s alternative conceptions and misconceptions. Peer instruction provides learners with the opportunity to practice talking about computer science and it is regarded as an efficient way to draw out learner’s misconceptions, misalignments or alternative concepts. PREP​ is an approach used when developing functions. The acronym stands for: Parameters Define input(s) with meaningful name(s) Return Output(s) Example Test run your function with an example Pseudocode Describe the logic of the internal works of the function Guidance and resources for using peer instruction can be found in the​ ​peer instruction blog​ and for computer science in particular at​ ​Plan-C​ and​ ​Peer Instruction for Computer Science​. Plan first - code later​ is a principle advocated by many teachers. It agrees with approaches the pupils adopt in other spheres of learning. Paper and pencil first​ is a principle advocated by many teachers. Before ever approaching the programming environment, the learner must first express their ideas and understanding on paper followed by describing their potential solution to another (​rubber ducking​). Typing pseudocode first​ in the programming environment is alternatively advocated. The pupil uses the IDE as a text editor to describe the algorithm of their potential program. The statements then become the annotation of their code. Some examples, // input 2 values  // check validity  // calculate the product  // output to screen  % INPUT NAME  % LOAD CSV  % SEARCH FOR NAME  % OUTPUT FULL DETAILS  # repeat 10 times  # present question  # check response  # give score  5 Puzzle-based Learning​ is an approach in which learners are presented with either a puzzle or puzzle-based problem to solve using algorithmic thinking. This approach supports the learners’ design and analysis of algorithms. Unplugged Computing​ are kinesthetic activities, for example, learners provide the instructions to perform a task such as Phil Bagge’s​ ​Jam Sandwich Robot​ or record the steps to perform a particular task illustrated by various dance routines​ ​AlgoRythmics​. Visualisation of Algorithms​ is an interactive and kinaesthetic approach that provides learners with an opportunity to interrogate and step through an algorithm. Further examples include: ● Jam Sandwich Robot​ ​http://code-it.co.uk/unplugged/jamsandwich ● AlgoRythmics​ ​https://www.youtube.com/user/AlgoRythmics ● Algorithms Animations​ ​https://www.toptal.com/developers/sorting-algorithms ● VisuAlgo​ https://visualgo.net/en ● Just Dance​ ​http://www.digitalschoolhouse.org.uk/workshop/just-dance-algorithm ● Get with the Algo-rhythm​ ​http://www.digitalschoolhouse.org.uk/workshops/get-algo-rhythm Starting with everyday experience​ where possible. Pupils need to relate programming concepts to things in their current scheme of understanding. Where there is this cognitive overlap, comprehension of new ideas is increased. Writing and role playing everyday examples of conditional selection set out in a pseudocode layout increases pupils’ understanding of the ideas in subsequent pseudocode planning and programming activities. For example, If you are a boy then  Floss   Else  Dab  (Floss and dab are popular dances) Pupils, as early as Year 4 can be given points for writing a correct expression, extra points for putting each element on a different line and extra points for correct indentation. This aligns with English grammar and syntax expectations. When planning programming projects they can use the same pseudocode notation. Tracing through algorithms​, flowcharts and pseudocode helps develop learners’ understanding of and fluency in creating - it is the ‘reading’ complement to ‘writing’. 6 If teaching programming constructs, be careful to identify those constructs available to them in the language they are/will be using. Review the Awarding Organisations specification for the programming techniques they are expected to learn - and introduce these techniques to candidates first. Then investigate whether these constructs are supported in the programming language you are using.   Keyword blocking. ​Many languages use keywords at the start and end of blocks, for example, FOR i = 1 TO 10 NEXT i IF X = 2 THEN PRINT X ELSE PRINT 3 END IF whereas some programming languages are blocked by indentation, for example, fruits = ["apple", "banana", "cherry"] for x in fruits: print(x) if x == "banana": break When writing pseudocode, programmers need not use the ending block keywords because they ‘know’ where the end occurs. As a learner’s familiarity with the coding process develops then the consistency of their pseudocode, perhaps to reflect a particular programming language, will develop. If consistent indentation is used, then the reader may be able to better understand the meaning. If there is inconsistent indentation and missing keywords, then the intent becomes less clear to a reader.     ○ Teaching advice When presenting algorithms, support the learners by using a format that is consistent with the programming language in which they are learning to code. 9 Formative, diagnostic and self assessment Flowcharts and pseudocode are used as part of the assessment tool for assessing an understanding of algorithms and therefore computational thinking. The ability to trace (or dry run) through a flowchart or pseudocode is an indicator of being able to follow an algorithm. If the assessment is used to assess algorithmic thinking then consistency of presentation in formative assessments is important. The Awarding Organisations specifications can guide the presentation of the pseudocode, even for key stage 3 activities. Alternatively, where the resources are also to encourage or develop the concept that there are no fixed rules to pseudocode, then presenting the learners with a range of different presentation styles is beneficial. Learners should be encouraged to design and express algorithms in any way they see fit. Formative assessment resources for flowcharts and pseudocode include: Flowgorithm​ can be used as a self-assessment tool for flowcharts as it can run through the flowchart automatically step by step with test data. This eliminates the need for the learner to carry out a ‘dry run’. ​http://www.flowgorithm.org Project Quantum​ ​https://community.computingatschool.org.uk/resources/4382​ has a developing set of quizzes. Questions are based on flowcharts or pseudocode. An example from the Year 8 baseline collection is shown here: Pete Dring’s online exercises​ ​http://tools.withcode.uk/ks4pseudo​ give valuable feedback about those in the class that can read pseudocode algorithms in a format like, SET hungry TO false SET exercise TO 2 * 6 IF exercise > 10 THEN SET hungry TO true END IF SET food TO "toast" IF hungry = true THEN SET food TO "pasta" END IF SEND food TO DISPLAY Students work sequentially through variables, iteration, selection, subroutines, arrays and string handling. Flowol​ can be used to set open-ended tasks: ○ divide the class into 2s or 3s, each with a computer; 10 ○ give them a simple mimic to explore; ○ circulate around the room answering questions and offering advice; ○ use an achievement sheet to record successes. ○ after the activity, analyse the sheet to determine the focus of future lesson activities. Summative assessment The use of flowcharts and pseudocode is relevant and necessary in the formal assessments of the understanding of algorithms and computer code. The documents made available by the Awarding Organisations are intended to: ● direct examiners when writing questions; ● inform book and teaching resource publishers; and ● guide teaching when talking about, demonstrating and creating resources that use pseudocode. The Awarding Organisations in England have developed pseudocode guidance independently. It is therefore important that pupils are presented with pseudocode that is similar to the pseudocode they will meet in the examinations and in the textbooks associated with the course they are following. The sources are: AQA – Teaching Guide – Pseudo-code “​It is not the intention that candidates should use this style of pseudo-code in their own work​” https://filestore.aqa.org.uk/resources/computing/AQA-8520-TG-PC.PDF Edexcel Pseudo-code command set “​students may answer questions using any valid method​” http://tools.withcode.uk/ks4pseudo/media/edexcel_pseudocode.pdf OCR GCSE Computer Science Pseudocode Guide “​the following guide shows the format pseudocode will appear in the examined components​” https://www.ocr.org.uk/Images/202654-pseudocode-guide.pdf OCR AS and A Level Computer Science Pseudocode Guide “l​earners are not expected to memorise the syntax of this pseudocode and when asked may provide answers in any style of pseudocode they choose​” https://www.ocr.org.uk/Images/260952-pseudocode-guide.pdf By using the pseudocode syntax and keywords of the Awarding Organisations, the learning resources are better preparing the learners to be able to read and understand the examination questions. 11
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved