Your SlideShare is downloading. ×
EI607 Session 2 Debugging and Logical Reasoning
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

EI607 Session 2 Debugging and Logical Reasoning

1,392
views

Published on

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,392
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Explain that this week the focus is on developing the students’ logical reasoning and debugging skills as well as helping them to become more familiar with Scratch.
  • Explain that this week the focus is on developing the students’ logical reasoning and debugging skills as well as helping them to become more familiar with Scratch.
  • Explain that this week the focus is on developing the students’ logical reasoning and debugging skills as well as helping them to become more familiar with Scratch.
  • Share these sample projects with the group and ask the students to identify what appears to be wrong/what could be developed.Tell them that they should Remix the projects and add features/fix the bugs, using logical reasoning to work out what needs to be changed.
  • Share these sample projects with the group and ask the students to identify what appears to be wrong/what could be developed.Tell them that they should Remix the projects and add features/fix the bugs, using logical reasoning to work out what needs to be changed
  • Transcript

    • 1. COMPUTING DEBUGGING & LOGICAL REASONING
    • 2. SESSION OBJECTIVES • To develop your understanding of computational thinking • To explore and understand the processes of debugging and logical reasoning • To begin to develop an understanding of appropriate pedagogy for computational thinking
    • 3. READING REVIEW • What were your key ‘takeaways’ from the reading? • What questions did it raise for you?
    • 4. DEBUGGING & LOGICAL REASONING
    • 5. COMPUTING – KS1 Key stage 1 Pupils should be taught to:  understand what algorithms are; how they are implemented as programs on digital devices; and that programs execute by following precise and unambiguous instructions  create and debug simple programs  use logical reasoning to predict the behaviour of simple programs  use technology purposefully to create, organise, store, manipulate and retrieve digital content  recognise common uses of information technology beyond school  use technology safely and respectfully, keeping personal information private; identify where to go for help and support when they have concerns about content or contact on the internet or other online technologies.
    • 6. COMPUTING - KS1/KS2 Key stage 2 Pupils should be taught to:  design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts  use sequence, selection, and repetition in programs; work with variables and various forms of input and output  use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs  understand computer networks including the internet; how they can provide multiple services, such as the world wide web; and the opportunities they offer for communication and collaboration  use search technologies effectively, appreciate how results are selected and ranked, and be discerning in evaluating digital content  select, use and combine a variety of software (including internet services) on a range of digital devices to design and create a range of programs, systems and content that accomplish given goals, including collecting, analysing, evaluating and presenting data and information  use technology safely, respectfully and responsibly; recognise acceptable/unacceptable behaviour; identify a range of ways to report concerns about content and contact.
    • 7. WHAT IS DEBUGGING “Most programs don‟t work as they should first time round; professional programmers have this experience all the time! One of the most rewarding aspects of programming is finding and fixing these mistakes. Mistakes in programs are called „bugs‟, and finding and fixing them is „debugging‟. The process of debugging often involves identifying that there is a fault, working out which bit of the program (or underlying algorithm) has caused the problem, and then thinking logically about how to fix it. In the classroom, this can provide a great opportunity for collaborative work.”
    • 8. WHAT IS LOGICAL REASONING “Key stage 2 pupils should be able to explain the thinking behind their algorithms, talking through the steps and explaining why they‟ve solved a problem the way they have. They also need to be able to look at a simple programming project and explain what‟s going on. This is made easier with languages like Scratch, Kodu and Logo, which feature an on-screen sprite or turtle. The immediate feedback helps pupils to understand and debug their programs. Pupils might also be expected to look at someone else‟s algorithm and explain how it does what it does. Thinking through programs and algorithms helps develop pupils‟ abilities to think logically and algorithmically, which leads to planned debugging of code rather than just a trial-and-error approach.”
    • 9. CHECKLIST FOR SESSION 1. Sign up to the Scratch 2.0 community at http://scratch.mit.edu if you haven‟t already done so 2. Add your Scratch community username to group Google doc 3. Remix and debug one or more of the following Scratch projects 4. Share your project/s in the community 5. View one of your friend‟s projects and leave a comment
    • 10. Can you debug or fix the games errors? 
Can you animate the shark?
The diver should swim in both directions. The diver should return to the far left of the screen when game starts. Can you make the diver smaller and shark bigger?
Can you get the game to stop once the diver reaches the submarine? http://scratch.mit.edu/projects/14302132/ This game almost works correctly but it could do with some improvements. Can you make sure the frog moves correctly? Can you make it easier for the frog to cross the road? Can you add a „victory‟ sound when the frog reaches the other side? http://scratch.mit.edu/projects/18025114/
    • 11. EXTENSION TASK This game works but it could so with some extra features. Can you award the user a point for every apple they catch in the basket? Can you add a GAME OVER background and switch to this when three apples have hit the ground? http://scratch.mit.edu/projects/14319469/
    • 12. PEDAGOGY FOR LOGICAL REASONING “In the classroom, getting one pupil to role-play a floor turtle or screen sprite while another steps through the program can give a far more immediate sense of what‟s going on. When working with a computer, encourage pupils to make a prediction about what the program will do before they press return or click the button, and to explain their prediction logically; this is part of computer science. Logical reasoning also implies that pupils are following a set of rules when making predictions. Pupils who step outside the boundaries of these rules are not using logical reasoning. A pupil who expects a roamer to jump doesn‟t understand the constraints of its programming language or hardware.”
    • 13. PEDAGOGY FOR DEBUGGING “As a teacher, you should identify clear steps that pupils can follow so that they can fix their code. These might involve identifying what the fault is, finding out which part of the code is creating the problem, and then working towards a fix. Pupils should be encouraged to work together to identify bugs, as programmers are often blind to their own mistakes. Although it might be appropriate to help pupils compare code or identify which section to look at, it is rarely helpful for you to fix a bug for pupils until they have worked through the stages of debugging themselves. Debugging code develops valuable learning skills that are transferable right across the curriculum, such as independence, resilience and persistence.”
    • 14. FOLLOW UP TASK Read Turvey, K (forthcoming) “Chapter 12: Programming and Computational Thinking”