The Imp Computer Prof Paul Curzon Queen Mary, University of London With support from Google,

Slides:



Advertisements
Similar presentations
The ‘Big A’ Peer Support Pack Using the Resource
Advertisements

Programming for GCSE Topic 3.1: If Statements in Python T eaching L ondon C omputing William Marsh School of Electronic Engineering and Computer Science.
EMS1EP Lecture 4 Intro to Programming Dr. Robert Ross.
Spit-not-so Prof Paul Curzon Queen Mary University of London With support from Google, D of E.
Advanced Compiler Design CSE 231 Instructor: Sorin Lerner.
Selection Flow Charts If statements. Flow of Control The flow of control is a concept we’ve already encountered. The concept of control relates to the.
Bug Session One. Session description In this session, pupils are introduced to a programming sequence which will make a light pattern on their Bug. Objectives.
Welcome to Back to School Night Mrs
This is a GENERIC EXAMPLE of a presentation Please consult your course/programme handbook for specific guidelines for your presentation Text in grey italics.
PSEUDOCODE & FLOW CHART
Chapter 1 Program Design
index.php Palmyra Area High School 1.
Bug Session One. Session description In this session, pupils are introduced to a programming sequence which will make a light pattern on their Bug. Objectives.
Second Grade Common Core Standards and Shifts. Math Three major changes:  More time on fewer skills  Link major topics from grade to grade  Connect.
Critical Reflection. The Learning Cycle  According to David Kolb’s Learning Cycle (the process that participants go through in experiential learning),
Topic #10: Optimization EE 456 – Compiling Techniques Prof. Carl Sable Fall 2003.
Understanding Tens and Ones Unit of Study: Counting and Modeling Numbers to 120 Global Concept Guide: 2 of 4.
CORE FOUR PREPARING AND PLANNING FOR THE NEW PRIMARY CURRICULUM PROGRAMMES OF STUDY CLEVER COMPUTING Session 4 Computing, programming and Pedagogy.
Capturing results and analysis. Surprising patterns can emerge.
Chapter 1 Defining Information Technology. Learning Objectives The “big idea” of computing inventions Explain why it’s important to know the right word.
Soda Constructor: Exploring the laws of Physics with Computational Thinking Paul Curzon Queen Mary University of London
Introduction to Arrays. definitions and things to consider… This presentation is designed to give a simple demonstration of array and object visualizations.
Bug Session Four. Session description Objectives Session activities summary Resources Prior knowledge of sequencing instructions using Bug Bug website.
CSC 1051 – Algorithms and Data Structures I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
Big Idea 2: Abstraction reduces information and detail to facilitate focus on relevant concepts. Enduring Understanding: A combination of abstractions.
A-Level Computing#BristolMet Session Objectives#6 MUST understand and produce simple logic diagrams using the operations NOT, AND and OR SHOULD explain.
Make-a-face Prof Paul Curzon Queen Mary, University of London With support from Google, D of.
Hexahexaflexagon Automata Paul Curzon Queen Mary University of London With support from Google,
`. Lecture Overview Structure Programming Basic Control of Structure Programming Selection Logical Operations Iteration Flowchart.
Explorers need maps: Abstraction, representations and graphs Paul Curzon Queen Mary University of London
Social Learning Construct PSA Core Concept. Have a problem?
Inquiry learning How do we plan for IBL in mathematics? Tool IF-1: Planning for IBL in mathematics.
How the Session Works Outline Practical on arrival Talk 1 Reflect on practical Clarify concepts Practical exercises at your own pace Talk 2: Further concepts.
Agent program is the one part(class)of Othello program. How many test cases do you have to test? Reversi [Othello]
Change Blindness Presentation: Paul Curzon Change Blindness: Milan Verma & Peter McOwan, Queen.
8. DECISION STRUCTURES Rocky K. C. Chang October 18, 2015 (Adapted from John Zelle’s slides)
Food for Thought Think for 30 seconds before answering… What is learning? What defines an effective classroom? How do students become proficient in mathematics?
Lesson Objectives: /interactive/deploy/index.htm#/introduction Virtual Field Trip Website Students will be.
IST 210: PHP LOGIC IST 210: Organization of Data IST210 1.
CS 104 – Fall 2011 Exploring Computer Science Build Your Own Blocks September 19, 2011.
Flow Control in Imperative Languages. Activity 1 What does the word: ‘Imperative’ mean? 5mins …having CONTROL and ORDER!
Microsoft® Small Basic Conditions and Loops Estimated time to complete this lesson: 2 hours.
Open app store and download QR code reader This will shorten the time we take to find and download the apps today. This tool is a quick way to direct pupils.
Maths workshop Times tables
Box Variables Prof Paul Curzon Queen Mary, University of London With support from Google, D of.
Yasemin Allsop Senior Lecturer in Computing Education
Algebra using brackets
Be A programmer in Steps
HSC Legal Studies.
Chapter Seventeen Writing the Essay
Punch Card Sorting: Binary Radix Sort
Teaching KS3 Computing Session 4 Theory: Boolean logic AND/OR/NOT
Bubble Sort Paul Curzon
Mergesort: The power of divide and conquer
Learning to Program in Python
Number - Calculations. I can add and subtract three digit whole numbers using written methods.   I can multiply and divide whole numbers.
The intelligent piece of paper: so what is an algorithm?
Bakuro: Binary Logical Thinking Puzzles
The SwapPuzzle So what is an algorithm?
Teachers as “Activators of Learning” and “Evaluators of Impact”
Teaching KS3 Computing Session 4 Theory: Boolean logic AND/OR/NOT
Sodarace: Exploring Evolution with Computational Thinking
Prof. Reima Al-Jarf King Saud University, Riyadh, Saudi Arabia
Queen Mary University of London
Program Flow Control Selection & repetition
Design and Implementation
Flowcharting & Algorithms
Object Oriented Programming in A Level
Advanced Compiler Design
Review of Previous Lesson
Presentation transcript:

The Imp Computer Prof Paul Curzon Queen Mary, University of London With support from Google, D of E and the Mayor of London

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:

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

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

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

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

Explaining programming concepts 1 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

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

A Snap Program We can compile this on to a toilet roll computer 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”) 1

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

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

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

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

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

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)

Thank you! Together we are Teaching London Computing