higher cs standard algorithms part 1- ensuring fuller understanding of the basic concepts
TRANSCRIPT
HIGHER CS STANDARD ALGORITHMSPart 1- Ensuring fuller understanding of the basic concepts
www.planforcomputing.org.uk
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 OverviewImportance 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
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
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?
Problems of prior pupil experience
IntuitionReliance 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.
“The computer doesn’t like me and is being awkward”
UnderstandingRealisation 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.
“I haven’t correctly described the process”
VsMagic Reason
What kind of understanding do they need?
Awareness of structure and how different elements relate to one another
Consistent model of how a process description is carried out by a computer or other person
www.planforcomputing.org.uk
Static view of a particular instant in time that’s probably easier for novices
Dynamic view of a series of actions unfolding over time and probably harder for novices
Does this just apply to programming?
NoComputing Science is an information structure and process orientated disciplineModern UI’s allow a try different things until it works approach
www.planforcomputing.org.uk
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
Group
• Pupils discuss what answer they chose and why
• Vote takes place
Class
• Teacher facilitated discussion
• Vote takes place
Correct
Answer
• Teacher reveals the correct answer
• Teacher explains why it’s correct
www.planforcomputing.org.uk
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 DISPLAYELSE SEND "Angel is taller" TO DISPLAYEND IF
A. Egyptian is tallerB. Angel is tallerC. Egyptian is taller Angel is tallerD. <nothing is output>
Consider what this code does when metalColour is blue, red, or green…
IF metalColour == "blue" THEN SEND "Cold" TO DISPLAYELSE IF metalColour == "red" THEN SEND "Hot!" TO DISPLAY ELSE SEND "Try again!" TO DISPLAY END IFEND IFWhich options are true?
A. When metalColour is blue, Cold displayedB. When metalColour is red, Hot! displayedC. When metalColour is blue, both Cold AND Try again!
displayedD. When metalColour is green, nothing happens
What is written out…?
SET n TO 4WHILE n > 0 LOOP
SET n TO n – 1END WHILESEND n TO DISPLAY
A. -1
B. 0
C. 1
D. 2
E. 3
F. 4
How many times is Hello written out?
SET i TO 0WHILE i <= 5 DO SEND "Hello" TO DISPLAY SET i TO i + 1END 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 DISPLAYEND REPEAT
A: 10 B: 8 C: 6 D: 4 E: 2 F: 0
www.planforcomputing.org.uk
PI vs teacher explanation
Statistically significant effect
Twice as effective as a good teacher explanation
Successfully used in Physics, Maths and Computing Science
Develops better sense of self efficacy particular amongst girls
www.planforcomputing.org.uk
Identifying and describing mechanisms
• The importance of CS speak• Identifying mechanisms in a simple
piece of code• Activity involving identifying and
describing mechanisms
Why the language mattersWithout 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.
www.planforcomputing.org.uk
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!
conditional repetition
complex condition
logical comparisons
output
Identifying and describing mechanisms
assignment to a variable
assignment to a variable
input
SET password TO “”
SET attempts TO 0
REPEAT
SEND “Please enter the correct password” TO DISPLAY
RECEIVE password FROM (STRING) KEYBOARD
UNTIL password = “12345” OR attempts > 3
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
www.planforcomputing.org.uk
Key Challenges
Code writing before code
comprehension makes this
more difficult for novices
Need to understand the
hidden mechanisms
Computational constructs are tightly linked