Teaching Formal Methods Using Magic Tricks

The cs4fn project (www.cs4fn.org) aims to both enthuse school students about computer science and teach advanced computing ideas. One of the ways we have done this is using magic tricks. We give a highly popular magic show to school students around the UK. We have also written two magic books teaching computing concepts. We describe here how magic tricks can be used to introduce formal method concepts to school children. We illustrate how card tricks can, for example be used to show what an algorithm is, why testing is insu cient, how rigorous argument can reduce the amount of testing, making models of systems, how algorithms can be verified using proof, how algebraic proofs can be used to do this, what invariants are, and how inductive proofs can be used to verify an

[1]  cs4fn.org: Enthusing Students about Computer Science , 2009 .

[2]  George Buchanan,et al.  Who!s looking? Invisible problems with interactive medical devices , 2010 .

[3]  Paul Curzon,et al.  Engaging with computer science through magic shows , 2008, SIGCSE 2008.

[4]  Ann Blandford,et al.  An approach to formal verification of human–computer interaction , 2007, Formal Aspects of Computing.

[5]  Jason Alexander,et al.  Computer science unplugged: school students doing real computing without computers , 2009 .

[6]  Shai Simonson,et al.  USING A CARD TRICK TO TEACH DISCRETE MATHEMATICS , 2003 .

[7]  Jonathan Black,et al.  Teaching HCI through magic , 2012 .

[8]  Gerald Kruse "Magic numbers" approach to introducing binary number representation in CSO , 2003 .

[9]  Brent Morris Magic Tricks, Card Shuffling and Dynamic Computer Memories , 1998 .

[10]  Ann Blandford,et al.  Verification-guided modelling of salience and cognitive load , 2008, Formal Aspects of Computing.

[11]  Peter B. Henderson,et al.  Computer Science unplugged , 2008 .

[12]  Daniel D. Garcia,et al.  DeMystifying computing with magic , 2012, SIGCSE '12.

[13]  Jorge Nuno Silva,et al.  Mathematical Games , 1959, Nature.

[14]  Daniel D. Garcia,et al.  Demystifying computing with magic, continued , 2013, SIGCSE '13.

[15]  Timothy C. Bell,et al.  Enthusing & inspiring with reusable kinaesthetic activities , 2009, ITiCSE.

[16]  Paul Curzon Serious fun in computer science , 2007, ITiCSE '07.

[17]  C. Krumhansl Keynote Presentation , 2004 .