Hexahexaflexagon Automata Paul Curzon Queen Mary University of London With support from Google,

Slides:



Advertisements
Similar presentations
Copyright © 2014 ICT Inspires Ltd. All Rights Reserved. ICT (Computing) Subject Leader Course Session 2: Broader.
Advertisements

Spit-not-so Prof Paul Curzon Queen Mary University of London With support from Google, D of E.
Chapter 1 An Overview of Computers and Programming Languages.
Online Collaboration Applications ADE100- Computer Literacy Lecture 28.
SMART Table 442i Collaborative Learning Center Training & Content Development Sherri Desseau
Overview Finite State Machines - Sequential circuits with inputs and outputs State Diagrams - An abstraction tool to visualize and analyze sequential circuits.
Demystifying the new Primary computing curriculum
User Interface Design Chapter 11. Objectives  Understand several fundamental user interface (UI) design principles.  Understand the process of UI design.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Modelling information systems
Soda Constructor: Exploring the laws of Physics with Computational Thinking Paul Curzon Queen Mary University of London
Basics of creating a Virtual Patient Centre for Medical & Healthcare Education eLearning Unit Steven Malikowski & Chara Balasubramaniam Press the F5 Key.
PowerPoint slide templates More information please… A slide template designed to demonstrate how hyperlinks & triggers can be used to control navigation.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
Sums and Differences Via Pattern Blocks. Needed for this lesson At least three sheets of the triangle graph paper available at
Lecture 1 Computation and Languages CS311 Fall 2012.
How to read a scientific paper
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
 Three-Schema Architecture Three-Schema Architecture  Internal Level Internal Level  Conceptual Level Conceptual Level  External Level External Level.
Indulge into Mathematics Mrs. Puckett 3 rd Grade Winter 2010.
Make-a-face Prof Paul Curzon Queen Mary, University of London With support from Google, D of.
Lesson 1 Operating Systems, Part 1. Objectives Describe and list different operating systems Understand file extensions Manage files and folders.
Middle School Grades 6-8 Advanced Features of Inspiration.
Explorers need maps: Abstraction, representations and graphs Paul Curzon Queen Mary University of London
The Imp Computer Prof Paul Curzon Queen Mary, University of London With support from Google,
 A plan of attack for your games content  Or (more specifically)  A detailed description of all games mechanics, objects, characters, stats, ect… that.
You should be in groups of two You will first learn a different method on graphing systems of inequalities The lesson will lead you on to graphing with.
CS P Sample Lesson Treasure Hunt Activity Using the 5 E Inquiry Cycle.
CSCI1600: Embedded and Real Time Software Lecture 28: Verification I Steven Reiss, Fall 2015.
Change Blindness Presentation: Paul Curzon Change Blindness: Milan Verma & Peter McOwan, Queen.
Core Focus on Introductory Algebra
Algorithms and Pseudocode
Executive Summary - Human Factors Heuristic Evaluation 04/18/2014.
SCRATCH ScratchScratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share.
GCSE Computing: A451 Computer Systems & Programming Topic 3 Software System Software (1) The Operating System.
Strategies & Knowledge for Independent Learning individual Work SKIL SKIL cards are sets of cards that explain how to use different learning strategies.
System Software (1) The Operating System
Box Variables Prof Paul Curzon Queen Mary, University of London With support from Google, D of.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Algorithms and Flowcharts
Getting Started with Microsoft Word
Victorian Curriculum Mathematics F - 6 Algorithms unplugged
Lecture 2 Supplement - Prototyping
Revision of Modes of Representation or Cognitive Levels
AS Computer Studies Finite State Machines 1.
Software Testing.
Topic: Introduction to Computing Science and Programming + Algorithm
Problem Solving How do we attack a large problem?
CSE 311 Foundations of Computing I
The Knight’s Tour Graphs, Algorithms, Abstraction and Decomposition
Introduction to Programmng in Python
Punch Card Sorting: Binary Radix Sort
Bubble Sort Paul Curzon
Mergesort: The power of divide and conquer
Tenths are an Important Fraction
The intelligent piece of paper: so what is an algorithm?
Digital filing & note-taking
Bakuro: Binary Logical Thinking Puzzles
The SwapPuzzle So what is an algorithm?
Sodarace: Exploring Evolution with Computational Thinking
Theory of Computation Turing Machines.
Queen Mary University of London
Kidspiration/Inspiration Software
Scratch Programming Brian Cain.
Lecture One: Automata Theory Amjad Ali
SAT I Math Learning Design Trial
Liquids and Gases Digital Interactive Notebook
Digital Literacies for learning
Presentation transcript:

Hexahexaflexagon Automata Paul Curzon Queen Mary University of London With support from Google, D of E, the Mayor of London and CHI+MED

Aims Give you deeper understanding of core topics –Abstraction and data representation in problem solving –Graph data structures and finite state machines –Computational thinking 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:

Hexahexaflexagons are simple folded paper puzzles. Fold it up and unfold it from the middle to reveal new sides. There are 9 ‘sides’ to the flexagon. Find them all. See the video for how to make one at computing-stories/computational-thinking- hexahexaflexagon-automata/ 1 Hexahexaflexagons

You can explore a flexagon by folding and unfolding it at random. When exploring its good to have a map though. If you don’t then you should create one as you explore It turns out that a datastructure computer scientists call a graph is the ideal map. 1 Make a map

A graph data structure is just a way of representing information about links between things. It consists of nodes (circles) showing ‘places’. Edges (lines) showing which places are linked. A directed graph uses arrows to show one- way links (eg one-way streets) 1 What is a graph?

A graph for a hexahexaflexagon has as nodes the different numbered sides. Its edges shows how you can move directly form one side to another by flexing it (folding and unfolding) The edges are arrows to show the direction Edges have a label showing which corner you flex on to move to that side 1 A hexahexaflexagon graph

1 Here’s a graph of the Hexahexaflexagon

The graph abstraction gives a clear map of the problem. It throws away spurious information, highlighting the information that matters. The graph is the map you draw as you explore the ‘state space’ of the puzzle. Once you have a map, answering questions about it is easier 1 Abstraction

1 Draw a graph of the Flexagon You need an algorithm to exhaustively explore the state space of a puzzle like a flexagon ie explore possible puzzle positions

1 An algorithm for drawing graphs Start at the start position, draw a node (a circle) and label it with the square number. Draw edges (arrows) to each place you can jump to from it, adding new nodes for those places if a node doesn’t already exist. Repeat for each new node added until there are no new nodes added. The same algorithm is used to create graphs of gadget interaction design

A directed graph can actually be thought of as a ‘program’: a finite state machine. It describes computation 1 Finite State Machines

A finite state machine has Nodes that represent ‘states’ of the machine A start state (one specific node to start from) Edges that represent ‘transitions’ between states They have labels giving the action that will lead to the transition being taken. Outputs: what happens when you are in a state 1 Finite State Machines

1 The Hexahexaflexagon finite state machine Start state State Transition Action Output (yellow)

Use finite state machines to do computational modelling of whatever it describes. Actions are inputs that move us from state to state and outputs get printed. Used to rapidly prototype devices Used to help plan the design of interfaces, websites, the modes of a device, etc Eg Now write a Scratch simulation of a flexagon based on the finite state machine Finite State Machines as computational models

All this applies to gadgets (and software generally) Take your digital watch, central heating controller, digital radio, … Create finite state machines of them Then use it as the basis to write your own program Also make graphs as a model of a website 1 Modelling gadgets, websites, etc Working out the finite state machine of an alarm clock

Finite state machines are commonly used as an early way of describing designs (ie prototypes) Of an interface Of webpage menu structures Of hardware Of software Then the actually program can be written to meet the specification Or automatically generated 1 Specifications

Use the finite state machine version to check properties of the design Is it safe? Easy to use? Correct? is it easy to get back to the home state from any state… Does an action have the same effect everywhere, Can important tasks be done in few steps etc For example regulators can do this to check the safety of medical devices 1 Checking properties

Computational Thinking Lessons Algorithmic thinking Logical Thinking Abstraction Generalisation In creating the graph we’ve seen how attention to detail matters.

Summary Graphs are a good representation for any problem that involves links between ‘places’ Finite state machines turn them in to computational models Check designs work The way you represent information has a powerful effect on the ease of problem solving

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. on A’level computing) See also for more unplugged finite state machine activities

Thank you! Together we are Teaching London Computing