# offset image lesson 

shift an image horizontally across the display with offset.

### @video td/videos/offset-image-0

## Topic

**If** Conditionals

## Quick Links

* [tutorial](/microbit/lessons/offset-image/tutorial)
* [quiz](/microbit/lessons/offset-image/quiz)
* [quiz answers](/microbit/lessons/offset-image/quiz-answers)
* [challenges](/microbit/lessons/offset-image/challenges)

## Class

Year 7

## Prior learning/place of lesson in scheme of work

Learn how to offset image with a conditional **If**, `if condition then` to run code depending on whether a condition is true or not. We will be learning how to offset image using a local variable, forever loop, the conditional If, input on button pressed, as well as simple commands, such as show string,  create image and image show image.

## What the teacher needs to know

* Algorithm: An unambiguous set of rules or a precise step-bystep guide to solve a problem or achieve a particular objective.
* Command: An instruction for the computer to execute, written in a particular programming language.
* Computational thinking: Thinking about systems or problems in a way that allows computer systems to be used to model or solve these.
* Data: A structured set of numbers, possibly representing digitised text, images, sound or video, which can be processed or transmitted by a computer, also used for numerical (quantitative) information.
* Decomposing: The process through which problems or systems are broken down into their component parts, each of which may then be considered separately.
* Hardware: The physical systems and components of digital devices; see also software.
* Loop: A block of code repeated automatically under the program’s control.
* Programmable toys: Robots designed for children to use, accepting input, storing short sequences of simple instructions and moving according to this stored program.
* Program: A stored set of instructions encoded in a language understood by the computer that does some form of computation, processing input and/or stored data to generate output.
* Repetition: Executing a section of computer code a number of times as part of the program.
* Script: A computer program typically executed one line at a time through an interpreter, such as the instructions for a Scratch character.
* Selection: A programming construct in which one section of code or another is executed depending on whether a particular condition is met.
* Sequence: To place program instructions in order, with each executed one after the other.
* Simulation: Using a computer to model the state and behaviour of real-world (or imaginary) systems, including physical or social systems; an integral part of most computer games.
* Variables: A way in which computer programs can store, retrieve or change data, such as a score, the time left, or the user’s name.

**QuickStart Computing Glossary

## Documentation

* ** global variables ** : [read more...](/microbit/js/data)
* ** assignment operator ** : [read more...](/microbit/reference/variables/assign)
* ** forever ** : [read more...](/microbit/reference/basic/forever)
* ** If ** : [read more...](/microbit/reference/logic/if)
* **show string** : [read more...](/microbit/reference/basic/show-string)
* **create image** : [read more...](/microbit/reference/images/create-image)
* **show image** : [read more...](/microbit/reference/images/show-image)
* **on button pressed** : [read more...](/microbit/reference/input/on-button-pressed)

## Resources

* Activity: [tutorial](/microbit/lessons/offset-image/tutorial)
* Activity: [quiz](/microbit/lessons/offset-image/quiz)
* Extended Activity: [challenges](/microbit/lessons/offset-image/challenges)

## Objectives

* learn how to a create a global variable as a place where you can store and retrieve data, accessible across functions and in nested code blocks
* learn how to set and change the value of a global variable
* learn how to repeat code in the background forever
* learn how to conditionally run code depending on whether a condition is true or not
* learn how to show a string on the LED screen
* learn how to create an Image to show on the micro:bit's LED screen
* learn how to show an Image on the micro:bit's LED screen
* learn how to run code when an input button is pressed

## Links to the National Curriculum Programmes of Study for Computing 

## Progression Pathways / Computational Thinking Framework

#### Algorithms

* Designs solutions (algorithms) that use repetition and two-way  selection, ie if, then and else.(AL)
* Uses diagrams to express solutions.(AB)
*  Uses logical reasoning to predict  outputs, showing an awareness of inputs (AL)
*  Designs solutions  by decomposing a problem and creates a sub-solution for each of these parts. (DE) (AL) (AB)
* Recognises that different solutions exist for the same problem (AL) (AB)  Understands that iteration is the repetition of a process such as a loop (AL)
* Represents solutions using a structured notation (AL) (AB)

#### Programming & Development

* Creates programs that implement algorithms to achieve given goals (AL)
*  Declares and assigns variables(AB)
* Uses post-tested loop e.g.‘until’,and a sequence of selection statements in programs,including an if,then and else statement(AL)
* Understands the difference between, and appropriately uses if and if, then and else statements(AL)
* Uses a variable and relational operators within a loop to govern termination (AL) (GE)
* Uses a range of operators and expressions e.g. Boolean, and applies them in the context of program control. (AL)
* Selects the appropriate data types(AL) (AB

#### Data & Data Representation

* Uses filters or can perform single criteria searches for information.(AL)
* Performs more complex searches for information e.g. using Boolean and relational operators(AL) (GE) (EV)
* Defines data types: real numbers and Boolean (AB)

#### Hardware & Processing

* Knows that computers collect data from various input devices, including sensors and application software (AB)

#### Communication Networks

* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns Understands how search engines rank search results (AL)

#### Information Technology

* Collects, organizes, and presents data and information in digital content (AB)
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
* Recognises ethical issues surrounding the application of information technology beyond school.

Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation

## Activity

* time: 20 min.
* [tutorial](/microbit/lessons/offset-image/tutorial)
* [quiz](/microbit/lessons/offset-image/quiz)

## Extended Activity

* time: 20 min.
* [challenges](/microbit/lessons/offset-image/challenges)

## Homework

* Extended Activity: [challenges](/microbit/lessons/offset-image/challenges)

## Intended follow on

Publish script to the classroom.

