Teaching Primary Computing Diving Deep into Programming

Slides:



Advertisements
Similar presentations
Faculty of Sciences and Social Sciences HOPE Variables and Trace Tables Stewart Blakeway FML 213
Advertisements

Session 5 of 10 Review + Multiple Sprites
An intro to programming concepts with Scratch Session 2 of 10 sessions I/O, variables, simple computing.
(BASIC MATH) QUIZ. START!! Click Here!! 1. What is Addition? a. The act or process of adding numbers. The act or process of adding numbers. b. The act.
Bug Session Two. Session description In this session the use of algorithms is reinforced to help pupils plan out what they will need to program on their.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
CORE FOUR PREPARING AND PLANNING FOR THE NEW PRIMARY CURRICULUM PROGRAMMES OF STUDY CLEVER COMPUTING Session 4 Computing, programming and Pedagogy.
Scratch Programming Lesson 4 Question asking and answering.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
Using Lists Games Programming in Scratch. Games Programming in Scratch Extension – Using Lists Learning Objectives Create a temporary data store (list)
Parent Maths Workshop.
PROGRAMMING IN PYTHON LETS LEARN SOME CODE TOGETHER!
Maths quiz KS 2: Use sequence in programs. Today we are learning about: Programs & Selection ●I can explain what selection is ●I can write a program using.
Lives and Scoring Games Programming in Scratch. Games Programming in Scratch L2 Lives and Scoring Learning Objectives Define a variable Understand the.
Part 1 Learning Objectives To understand that variables are a temporary named location to store data and that programmers work with different data types.
Maths quiz - adding a score KS 2: Work with variables.
Scratch Programming Cards
AP Computer Science Principals Course Importance and Overview
GCSE COMPUTER SCIENCE Practical Programming using Python
Unit 2 Technology Systems
A Simple Quiz for Alice 3.2:
Games Programming in Scratch
Scratch 7B IT1.
Matlab Training Session 4: Control, Flow and Functions
Collecting Information from the User
Testing and Debugging.
Worked Examples - Incremental Software Development Worked Example
Week 12 Option 3: Database Design
C ODEBREAKER Class discussion.
Chapter 16 – Programming your App’s Memory
Teaching Primary Computing Diving Deep into Programming
Teaching Primary Computing Diving Deep into Programming
Teaching Primary Computing Diving Deep into Programming
Teaching Primary Computing Diving Deep into Programming
Teaching Primary Computing Diving Deep into Programming
Print slides for students reference
Teaching Primary Computing Diving Deep into Programming
Learning to Program in Python
Learning to Program in Python
Lesson 2 Programming constructs – Algorithms – Scratch – Variables Intro.
Language Basics.
For -G7 programing language Teacher / Shamsa Hassan Alhassouni.
An introduction to decomposition: Tut, clap or Jive
Teaching Primary Computing Diving Deep into Programming
Welcome! Martin Norris Year 5 Class Teacher & Computing
Somerset Conference Update
An intro to programming concepts with Scratch
Programming We have seen various examples of programming languages
Global Challenge Walking for Water Lesson 2.
Global Challenge Walking for Water Lesson 2.
Project 1 Guidelines.
Global Challenge Walking for Water Lesson 2.
Put it all together Lesson 5.
Language Constructs Construct means to build or put together. Language constructs refers to those parts which make up a high level programming language.
PYTHON: BUILDING BLOCKS Sequencing & Selection
COMPUTATIONAL THINKING COMPUTATIONAL THINKING IN PROGRAMMING
Game Over Module 4 Lesson 2.
Global Challenge Walking for Water Lesson 2.
Put it all together Lesson 6.
Global Challenge Walking for Water Lesson 2.
Global Challenge Walking for Water Lesson 2.
Global Challenge Walking for Water Lesson 2.
Asking Questions in BYOB Scratch.
Global Challenge Walking for Water Lesson 2.
Global Challenge Walking for Water Lesson 2.
Global Challenge Walking for Water Lesson 2.
Primary School Computing
Makey Makey Circuits and Coding.
CAMP 1 – MODULE 3 INSIDE MATHEMATICS
Presentation transcript:

Teaching Primary Computing Diving Deep into Programming Session 5 Variables

Course outline Day 1 Pedagogy, Sequence, Repetition Day 2 Selection, Variables, Make your own blocks Day 3 Control/Physical Computing Planning & Assessment

Objectives of this session Increase understanding of variables specifically: What is a variable analogy misconceptions initialisation data types data structures scope Using design to represent variables Progression of variables Roles of variables

Variables What is a variable? How do you teach variables - what analogy do you use – what misconceptions are associated with this approach? What are data types, data structures and what is scope? How might we represent a variable in a design or algorithm? What techniques/ commands are often used to implement (code) variables? What might the progression of these variables be? What are the roles of variables?

Variables What is a variable? A variable is a simple way of storing one piece of information somewhere in the computer’s memory whilst a program is running, and getting that information back later. Programs store, retrieve or change the value of a variable.

Variables Box analogy Create a variable (declare) - make and label the box. Set values, store values, change values, update values put values in the box. What misconception can pupils have about this step? Select, retrieve, get values look in the box. 2 How do you teach variables- what analogy do you use – what misconceptions are associated with this?

Variables Data types: numbers, text, yes/no... 3. What are data types, data structures and what is scope? Data types: numbers, text, yes/no... Data structures: variables, arrays, ordered lists, tables, graphs. Scope: local, global

Variables Do you have better examples? 4. How might variables be represented by pupils as an algorithm /design? variable variable Variable algorithm variable variable Variable algorithm

Variables 5. What techniques/ commands are often used to implement (code) variables?

Variables 5. What techniques/ commands are often used to implement (code) variables?

Variables 5. What techniques/ commands are often used to implement (code) variables? Why is this so important?

Variables to gather and display a value Activity 1 Live coding Score algorithm Set to 0 at the start Add 1 when answer is correct Take away 1 if wrong At the end show a ‘Well done’ message with the score but if they got less than 5 points say ‘Oh dear’ Add a score to your quiz. Where will you set/reset it? Why display it throughout the quiz? Can you break your quiz? Test data text,control characters, numbers (+,-,0) null value Maximum/minimum values (How can you record your tests?) If you did not create a quiz - use this one to get you started. https://scratch.mit.edu/projects/167162449/

Variables for users to control aspects of program Activity 2 Guided exploration Explore this program. https://scratch.mit.edu/projects/167543312/ What have you discovered? Why did I include certain things? What did I want you to learn?

Variables - to control a program to increase efficiency/reuse/understanding Activity 3a/b Exemplar code - predict and remix Problem Make a number bond to 20 quiz for a year 2 class to practise there mental maths. Quiz algorithm Ask 4 addition questions where the total is less than 20. If the answer is correct add 1 to the score, but if it is wrong say ‘Sorry the answer was..’ At the end give the player their total score. Using variables for other roles. In this maths quiz how have variables been used? Why? Predict what the code will do Run it. Were you correct? Remix the code Add 4 subtraction questions Add 4 multiplication questions What will you do for the end of game message? Extension: Compare the cat and bat code. https://scratch.mit.edu/projects/96144555/

Variables - to control the flow of program Activity 4a/4b Exemplar code and predict and Comparison (targeted task) How can variables be used to control flow? Look at the two programs Maths quiz easy hard (1) https://scratch.mit.edu/projects/167515468/ Maths quiz easy hard (2) https://scratch.mit.edu/projects/167515528/#player Predict first what each program will do before you run them. What has been added to control how easy or hard the quiz is? What do you think to the differences? What is the impact of make your own blocks? Problem Make a number bond to 20 quiz for a year 2 class to practise there mental maths. Let the user control how easy or hard the questions are.

Progression in variables (ideas to spark discussion only) Animations/stories Quizzes Games Context Simulations Physical computing e.g. Makey, makey, Lego Wedo, Picoboard, TTS controller/LED etc…. Use variable to: Display a value that changes during the program e.g. score/lives Use variable to: Facilitate user to control an aspect of a program e.g. difficulty/ speed/size/colour Use variable to: Control internal working of the program e.g. difficulty level Use Knows what a variable is, can predict what variables will do, can change code with variables, can add a variable…. Can create a variable Can initialise a variable Can update variables Can use variables Can exhaustively test variables Independance

The role of variables. Gatherer – e.g. score Use variable to: Display a value that changes during the program e.g. score/lives (or over time – cloud variables) Use variable to: Facilitate user to control an aspect of a program e.g. difficulty/ speed/size/colour Use variable to: Control internal working of the program e.g. difficulty level Gatherer – e.g. score Transformation – e.g. sum answer A flag or choice – e.g. hard or easy choice, task complete yes/no Most wanted holder – e.g. best score Fixed value – e.g. number of questions Temporary – like Scratch answer Most recent answer – the last value in a succession Follower - based on another variable Organizer - to do with reorganised arrays Stepper – to control a loop

Objectives of this session Increase understanding of variables specifically: What is a variable analogy misconceptions initialisation data types data structures scope Using design to represent variables Progression of variables Roles of variables

Project design and code Levels of abstraction Task Design (including algorithms) Code Running the code Copy code Targeted tasks Shared coding Guided exploration Project design and code Tinker Imitate Innovate Invent Vs Remix