1 / 16

Unplugged Programming Fun: Compiling in Real Life

Learn programming concepts through physical role-playing activities. Compile simple programs onto "imps" to make abstract ideas tangible.

daraa
Download Presentation

Unplugged Programming Fun: Compiling in Real Life

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. The Imp Computer Prof Paul Curzon Queen Mary, University of London With support from Google, D of E and the Mayor of London www.teachinglondoncomputing.org Twitter: @TeachingLDNComp

  2. Aims • Give you deeper understanding of core topics • Getting started programming • If statements and flow of control • Compilation, compile-time and run-time • Give you practical ways to teach computing in a fun, thought provoking way • away from computers, focus on concepts • Linked activity sheets and booklets can be downloaded from our website: www.teachinglondoncomputing.org

  3. Running programs physically • A really good way to build a deep understanding of programming constructs is to act out the program • Compile the program on to people! • They follow the instructions • Makes abstract ideas visible and tangible

  4. 1 An Insulting Program answer = input (“Can I insult you?”) if answer == “Y”: print (“You smell!”) else: print (“You smell of roses!”) print (“Thank you!”) We can compile this on to a toilet roll computer

  5. Compiling it on to Imps • Each node is a student • connected by rope. • You pass in a tube at one end • You are the operating system • When it is handed back something should be printed on the screen • written on the board

  6. 1 Print “You smell!” answer == “Y”? Print “Thank you” True False answer = input “Can I insult you?” Print “You smell of roses!” What it compiles to …

  7. Explaining programming concepts • We’ve made an invisible program tangible • Can now explain all sorts of concepts • If statements • Control structures • The program counter • Run-time versus compile time • Similar approach for loops 1

  8. More advanced concepts • Can also explore more advanced ideas • How program changes change structure • Optimizing compilers • Bugs 1

  9. 1 A Snap Program card1 = input (“Next card”) card2 = input (“Next card”) if card1 == “RED” and card2 == “RED”: print (“SNAP!”) else: if card1 == “BLACK” and card2 == “BLACK”: print (“SNAP!”) Print (“Bye”) We can compile this on to a toilet roll computer

  10. 1 What it compiles to … Print “SNAP!” card1 == “RED” & card2 == “RED”? Print “Bye” card1 = input “Next card” True False False card2 = input “Next card” True card1 == “BLK” & card2 == “BLK”? Print “SNAP!”

  11. Exploring Different Programs if card1 == “RED”: if card2 == “RED”: print (“SNAP!”) else: if card2 == BLACK: print (“SNAP!”) print (“Bye”) This will compile this in to a different toilet roll computer 1

  12. 1 What it compiles to … card2 == “RED” ? Print “SNAP!” card1 == “RED” ? True Print “Bye” False True False False True Print “SNAP!” card2 == “BLK”?

  13. 1 Compiler optimization … Print “SNAP!” card1 == “RED” & card2 == “RED”? • The compiler could optimize the first program • to more compact code, fewer imps needed! Print “Bye” card1 = input “Next card” True True False False card2 = input “Next card” card1 == “BLK” & card2 == “BLK”?

  14. Summary Programming can be introduced in fun ways away from a computer • By compiling the program onto students • You make it visible and tangible • Open it to questions • And exploration

  15. More support On our website to support this session: • Activity sheets • Story sheets • Slides Details of more worskshops/courses • free unplugged sessions • subsidised courses (e.g. GCSE programming) www.teachinglondoncomputing.org Twitter: @TeachingLDNComp

  16. Together we areTeaching London Computing Thank you! www.teachinglondoncomputing.org Twitter: @TeachingLDNComp

More Related