1 / 24

Higher CS Standard Algorithms

Part 1- Ensuring fuller understanding of the basic concepts. Higher CS Standard Algorithms. Who am I? . Principal Teacher of Computing at Crieff High School CAS Scotland committee member National Project Officer since August 2013. Session Overview.

jamal
Download Presentation

Higher CS Standard Algorithms

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Part 1- Ensuring fuller understanding of the basic concepts Higher CS Standard Algorithms www.planforcomputing.org.uk

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

  3. 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

  4. Current teaching of standard algorithms www.planforcomputing.org.uk

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

  6. Problems of prior pupil experience Intuition 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. “The computer doesn’t like me and is being awkward” Understanding Vs Magic Reason 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. “I haven’t correctly described the process”

  7. 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 Dynamic view of a series of actions unfolding over time and probably harder for novices Static view of a particular instant in time that’s probably easier for novices www.planforcomputing.org.uk

  8. 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

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

  10. 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

  11. PI in a secondary school context www.planforcomputing.org.uk

  12. 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 Egyptian is taller Angel is taller Egyptian is taller Angel is taller <nothing is output> www.planforcomputing.org.uk

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

  14. What is written out…? • -1 • 0 • 1 • 2 • 3 • 4 SET n TO 4 WHILE n > 0 LOOP SET n TO n – 1 END WHILE SEND n TO DISPLAY

  15. 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>

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

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

  18. 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

  19. 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.

  20. 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

  21. Identifying and describing mechanisms 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 assignment to a variable assignment to a variable conditional repetition output input complex condition logical comparisons

  22. 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

  23. Key Challenges www.planforcomputing.org.uk

  24. Questions www.planforcomputing.org.uk

More Related