HIGHER CS STANDARD ALGORITHMS Part 1 Ensuring fuller





















![Identifying and describing mechanisms SET lotto_player TO [“”, ””, ””] FOR player FROM 0 Identifying and describing mechanisms SET lotto_player TO [“”, ””, ””] FOR player FROM 0](https://slidetodoc.com/presentation_image/5735b60461d4e5dc148bc2536b36a78b/image-22.jpg)


- Slides: 24

HIGHER CS STANDARD ALGORITHMS Part 1 - Ensuring fuller understanding of the basic concepts www. planforcomputing. org. uk

Who am I? Principal Teacher of Computing at Crieff High School CAS Scotland committee member National Project Officer since August 2013 www. planforcomputing. org. uk

Session Overview Importance of students developing a precise understanding - The problem with intuition - The hidden mechanism concept - Does this just apply to programming? Ways to assess and help secure pupils understanding of the basic concepts - Peer instruction - Identifying and describing hidden mechanisms www. planforcomputing. org. uk

Current teaching of standard algorithms What approaches do you currently use or are planning to use? What approaches do you find work well? What would you like to improve? www. planforcomputing. org. uk

Importance of developing mechanistic reasoning • Relying on intuition vs understanding • Concept of a hidden mechanism • Does this just apply to programming? www. planforcomputing. org. uk

Problems of prior pupil experience Intuition Understanding Reliance on the other persons experience and ability to deal with ambiguity. Precision doesn’t really matter Reliance on copying other examples that might be similar. Realisation that a computer has no prior experience and struggles with ambiguity. Precision is crucial Choosing features based on what you want the computer to do. “The computer doesn’t like me and is being awkward” “I haven’t correctly described the process” Magic Reason

What kind of u nderstanding do they need? Awareness of structure and how differ ent elements relat e to one another Static view of a particular instant in time that’s probably eas ier for novice s www. planforc omputing. org . uk Consistent mo del of how a process desc ription is carried out by a computer or o ther person Dynamic view of a series of actions unf olding over time and prob ably harder for novices

Does this just apply to programming? No Computing Science is an information structure and process orientated discipline Modern UI’s allow a try different things until it works approach www. planforcomputing. org. uk

Peer instruction to test for faulty mental models • Brief overview of PI • PI questions for the audience • Research evidence of its effectiveness www. planforcomputing. org. uk

Peer Instruction • Technique originally developed in Physics by Eric Mazur at Harvard university • Way of assessing whether novices really understand concepts requiring a precise understanding • Based on carefully designed multiple choice questions with structured discussion and voting www. planforcomputing. org. uk

PI in a secondary school context Before Pupils have worked with the concepts in class or at home. Individual • Pupils read the question and choose an answer • Vote takes place www. planforcomputing. org. uk Group • Pupils discuss what answer they chose and why • Vote takes place Class Correct Answer • Teacher facilitated discussion • Vote takes place • Teacher reveals the correct answer • Teacher explains why it’s correct

The variables angel and egyptian contain 1. 7 and 2. 0 respectively, which represent their height. What is written out…? IF angel > egyptian THEN SEND "Egyptian is taller" TO DISPLAY ELSE SEND "Angel is taller" TO DISPLAY END IF A. B. C. D. Egyptian is taller Angel is taller <nothing is output> www. planforcomputing. org. uk

Consider what this code does when metal. Colour is blue, red, or green… IF metal. Colour == "blue" THEN SEND "Cold" TO DISPLAY ELSE IF metal. Colour == "red" THEN SEND "Hot!" TO DISPLAY ELSE SEND "Try again!" TO DISPLAY END IF Which options are true? A. When metal. Colour is blue, Cold displayed B. When metal. Colour is red, Hot! displayed C. When metal. Colour is blue, both Cold AND Try again! displayed D. When metal. Colour is green, nothing happens

What is written out…? SET n TO 4 WHILE n > 0 LOOP SET n TO n – 1 END WHILE SEND n TO DISPLAY A. B. C. D. E. F. -1 0 1 2 3 4

How many times is Hello written out? SET i TO 0 WHILE i <= 5 DO SEND "Hello" TO DISPLAY SET i TO i + 1 END WHILE A: 4 B: 5 C: 6 D: 7 E: <other>

How many times is Hello written out? SET i TO 10 REPEAT i TIMES SET i TO i – 2 SEND "Hello" TO DISPLAY END REPEAT A: 10 B: 8 C: 6 D: 4 E: 2 F: 0

PI vs teacher explanation Statistically significant effect Twice as effective as a good teacher explanation www. planforcomputing. org. uk Successfully used in Physics, Maths and Computing Science Develops better sense of self efficacy particular amongst girls

Identifying and describing mechanisms • The importance of CS speak • Identifying mechanisms in a simple piece of code • Activity involving identifying and describing mechanisms www. planforcomputing. org. uk

Why the language matters Without CS speak you have - no way of clearly identifying the mechanisms - difficulty connecting the problem description to the code or features you need for the process description Forced to rely on showing them lots of problem descriptions and the code or steps to solve them.

CS Speak provides • A common language to describe their understanding. • Helps to transfer learning to another programming language. • Helps transfer from one example to similar problems. However they need opportunities to practice using the language! www. planforcomputing. org. uk

Identifying and describing mechanisms SET password TO “” SET attempts TO 0 assignment to a variable REPEAT conditional repetition SEND “Please enter the correct password” TO DISPLAY RECEIVE password FROM (STRING) KEYBOARD UNTIL password = “ 12345” OR attempts > 3 logical comparisons output input complex condition
![Identifying and describing mechanisms SET lottoplayer TO FOR player FROM 0 Identifying and describing mechanisms SET lotto_player TO [“”, ””, ””] FOR player FROM 0](https://slidetodoc.com/presentation_image/5735b60461d4e5dc148bc2536b36a78b/image-22.jpg)
Identifying and describing mechanisms SET lotto_player TO [“”, ””, ””] FOR player FROM 0 TO 2 DO SEND “Please enter players name” TO DISPLAY RECEIVE name FROM (STRING) KEYBOARD SET lotto_player[player] TO name END FOR selected = pick_random( 0, 2) SEND lotto_player[selected] & “has won!” TO DISPLAY www. planforcomputing. org. uk

Key Challenges Computational constructs are tightly linked www. planforcomputing. org. uk Need to understand the hidden mechanisms Code writing before code comprehension makes this more difficult for novices

Questions www. planforcomputing. org. uk