Explorers need maps: Abstraction, representations and graphs Paul Curzon Queen Mary University of London

Slides:



Advertisements
Similar presentations
Spit-not-so Prof Paul Curzon Queen Mary University of London With support from Google, D of E.
Advertisements

Achieving Examination Success
BackTracking Algorithms
Can visit all squares of a chessboard exactly once ?
Dorfmeister’s Guide to Mastering the OGT Writing.
Game Design and Programming. Objectives Classify the games How games are design How games are implemented What are the main components of a game engine.
Subtract Multiples of 100 and Some Tens
3.02 The Information Superhighway
Click, Clack, Moo Cows That Type
EECS 203: It’s the end of the class and I feel fine. Graphs.
CORE FOUR PREPARING AND PLANNING FOR THE NEW PRIMARY CURRICULUM PROGRAMMES OF STUDY CLEVER COMPUTING Session 4 Computing, programming and Pedagogy.
Artificial Intelligence Lecture 9. Outline Search in State Space State Space Graphs Decision Trees Backtracking in Decision Trees.
Soda Constructor: Exploring the laws of Physics with Computational Thinking Paul Curzon Queen Mary University of London
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 6 The Mathematics of Touring 6.1Hamilton Paths and Hamilton Circuits.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
1 Unit 1: Automata Theory and Formal Languages Readings 1, 2.2, 2.3.
Design: Strategies How the calendar is going to stand – the structure. When you are designing the calendar there are two elements to think about: What.
Sums and Differences Via Pattern Blocks. Needed for this lesson At least three sheets of the triangle graph paper available at
1 Artificial Intelligence Introduction. 2 What is AI? Various definitions: Building intelligent entities. Getting computers to do tasks which require.
How to read a scientific paper
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.
Mediated Learning Experiences Pupil Support Worker Conference Gillian Ruddock – Educational Psychologist Tuesday 18 th August 2015 DATA LABEL: PUBLIC.
Hexahexaflexagon Automata Paul Curzon Queen Mary University of London With support from Google,
Erdal Kose CC30.10 These slides are based of Prof. N. Yanofsky Lecture notes.
Middle School Grades 6-8 Advanced Features of Inspiration.
Program Design. The design process How do you go about writing a program? –It’s like many other things in life Understand the problem to be solved Develop.
The Imp Computer Prof Paul Curzon Queen Mary, University of London With support from Google,
Graphs A ‘Graph’ is a diagram that shows how things are connected together. It makes no attempt to draw actual paths or routes and scale is generally inconsequential.
Intermediate 2 Computing Unit 2 - Software Development.
Note-taking Skills WHO-WHAT-WHEN-WHERE- WHY-HOW. takes notes? Students who want to remember new information Students who want a good study tool Students.
Change Blindness Presentation: Paul Curzon Change Blindness: Milan Verma & Peter McOwan, Queen.
Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way.
Computational Thinking
The Problem A gallant and brave knight must traverse the lands to rescue the princess and claim his rightful place in the kingdom A Knight on a board.
Inequalities and their Graphs Objective: To write and graph simple inequalities with one variable.
Lesson Objective By the end of this session, you will be able to identify the main methods that you can use to improve your study skills for social policy.
Lecture 2: Problem Solving using State Space Representation CS 271: Fall, 2008.
Strategies & Knowledge for Independent Learning individual Work SKIL SKIL cards are sets of cards that explain how to use different learning strategies.
Maths workshop Times tables
Box Variables Prof Paul Curzon Queen Mary, University of London With support from Google, D of.
exploring who I am as a sensory learner Powerpoint presentation to accompany Frontline 20(11)29-30.
LB160 (Professional Communication Skills For Business Studies)
Maths Parent Workshop October 2013 Stakesby Community Primary School.
Hamiltonian Graphs Graphs Hubert Chan (Chapter 9.5)
3.1 Fundamentals of algorithms
AS Computer Studies Finite State Machines 1.
The Knight’s Tour Graphs, Algorithms, Abstraction and Decomposition
Hamiltonian Graphs Graphs Hubert Chan (Chapter 9.5)
Introduction to Programmng in Python
Punch Card Sorting: Binary Radix Sort
Bubble Sort Paul Curzon
Mergesort: The power of divide and conquer
The intelligent piece of paper: so what is an algorithm?
Bakuro: Binary Logical Thinking Puzzles
Parent workshop 2014.
The SwapPuzzle So what is an algorithm?
Sodarace: Exploring Evolution with Computational Thinking
The Knight’s Tour.
Paul Kawachi e-Learning http : / / www . open - ed . net Home
Haskell Tips You can turn any function that takes two inputs into an infix operator: mod 7 3 is the same as 7 `mod` 3 takeWhile returns all initial.
Year 5 (National Numeracy Strategy) (Based on DFEE Sample Lessons)
Year 5 (National Numeracy Strategy) (Based on DFEE Sample Lessons)
Year 5 (National Numeracy Strategy) (Based on DFEE Sample Lessons)
Knowledge Representation
Year 2 (National Numeracy Strategy) (Based on DFEE Sample Lessons)
Year 2 (National Numeracy Strategy) (Based on DFEE Sample Lessons)
Year 5 (National Numeracy Strategy) (Based on DFEE Sample Lessons)
Lecture One: Automata Theory Amjad Ali
Presentation transcript:

Explorers need maps: Abstraction, representations and graphs 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:

1 The Knight’s Tour Puzzle Adapted from an idea by Maciej Syslo & Anna Beata Kwiatkowska, Nicolaus Copernicus University

To get you thinking about problem solving let’s start with a puzzle to solve… What strategies do you use to try to solve it? Is it a hard or easy puzzle? What age group is it suitable for? 1 A Puzzle to solve

1 Work out an algorithm for a chess Knight to visit all squares on the board returning to the start Record the steps (the algorithm) The Knight’s Tour Puzzle

What strategies do you use to solve it… Is it a simple puzzle? What age group could tackle it? Let’s look at a simpler puzzle and return to the Knight’s Tour later 1 How difficult is it?

1 The Tour Guide Puzzle

1 Starting at the hotel, plan a route so that tourists can visit every tourist attraction just once ending up back at the hotel. Record the steps (the algorithm) The Tour Guide Puzzle The Tube Map

What strategies do you use to solve it… Is it a simple puzzle? What age group could tackle it? Is it simpler than the Knight’s Tour? Why / Why not? 1 How difficult is it?

1 Starting at the hotel, this route visits every tourist attraction just once ending up back at the hotel. There are many others possible! The Tour Guide Solution The Tube Map

The tube map is in computing terms a ‘graph’ data structure A graph 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?

1 The Knights Tour Puzzle (again)

Draw the Knights Tour puzzle as a graph. Use nodes for squares Edges show which squares you can jump to from each square 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 The Knight’s Tour as a graph

1 Draw a graph of the Knight’s Tour puzzle You need an algorithm to exhaustively explore the state space 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. 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

1 Here’s a graph of the Knight’s Tour Now solve the puzzle …

1 Here’s a solution of the Knight’s Tour puzzle

In fact they are two versions of exactly the same puzzle Identical if viewed through an abstraction Solve one and you’ve solved the other The graph abstraction gives a clear map of the problem. It throws away spurious information, highlighting the information that matters. 1 Is it simpler than the Knight’s Tour?

Solve one and you have solved both once they are generalised to the same graph problem We also came up with a general algorithm for creating a graph of a puzzle. Finding a circuit round a graph is called a Hamiltonian Circuit problem We could now develop an algorithm for finding a Hamiltonian Circuit of any graph. 1 Generalisation

Computational Thinking Lessons Algorithmic thinking Logical Thinking Abstraction Generalisation

1 HexaHexaFlexagon Automata

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. Make a map (a graph) to allow you to move at will around the flexagon. Use your new found knowledge of graphs to explore the hexahexaflexagon. Find a Hamiltonian circuit! 1 Hexahexaflexagons

1 Here’s a graph of the Hexahexaflexagon

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

Use to check properties of the design 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 We are using this to check the safety of medical devices with regulators 1 Checking properties

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