## Prior learning/place of lesson in scheme of work TODO:
Learn how to creating a **global number variable**, `data->count` to keep track of the current count. We will be learning how to create a counter app using global variables as well as simple commands, such as on button pressed, and show number.
## What the teacher needs to know TODO:
* Acceptable Use Policy (AUP): An Acceptable Use Policy comprises a set of rules applied by the owner/manager of a network, website or large computer system that defines the ways in which the network, site or system may be used.
* 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.
* Computer networks: The computers and the connecting hardware (wifi access points, cables, fibres, switches and routers) that make it possible to transfer data using an agreed method (‘protocol’).
* Creative Commons: A licensing scheme where the creator of an original work allows others to use it without seeking further permission, subject to a number of agreed conditions: www. creativecommons.org.
* 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.
* Debug: To fix the errors in a program.
* Decomposing: The process through which problems or systems are broken down into their component parts, each of which may then be considered separately.
* Domain Name Service (DNS): The distributed automatic system that converts domain names into the IP addresses which are used for routing packets via the internet.
* Encrypt: To securely encode information so that it can only be read by those knowing both the system used and a secret, private key.
* E-safety: Used to describe behaviours and policies intended to minimise the risks to a user of using digital technology, particularly the internet.
* Generalisation: A computational thinking process in which general solutions or models are preferred to or derived from particular cases.
* Hardware: The physical systems and components of digital devices; see also software.
* Hypertext mark-up language (HTML): HTML is the language in which web pages are composed.
* Hypertext transfer protocol (HTTP): HTTP is the standard protocol for the request and transmission of HTML web pages between browser and web server.
* Input: Data provided to a computer system, such as via a keyboard, mouse, microphone, camera or physical sensors.
* Interface: The boundary between one system and another – often used to describe how a person interacts with a computer.
* Internet Protocol (IP) addresses: Numeric addresses uniquely specifying computers directly connected to the internet, also used on private networks to uniquely identify computers on that network.
* Loop: A block of code repeated automatically under the program’s control.
* Network server: A computer connected to a local area network providing services – such as file storage, printing, authentication, web access or email – automatically to other computers on the network.
* Open source software: Software in which the source code is made available for others to study, and typically adapt, usually with few if any restrictions.
* Operating system: The programs on a computer which deal with internal management of memory, input/output, security and so on, such as Windows 8 or iOS.
* Output: The information produced by a computer system for its user, typically on a screen, through speakers or on a printer, but possibly through the control of motors in physical systems.
* Packets of data: A small set of numbers that get transmitted together via the internet, typically enough for 1000 or 1500 characters.
* 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.
* Router: Network hardware which forwards packets of data onwards to the most appropriate hardware to which it is connected.
* Screencast: A recording of on-screen action that is often accompanied by an audio narration.
* 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.
* Sprite: A computer graphics object that can be controlled (programmed) independently of other objects or the background.
* Uniform Resource Locator (URL): A standard for specifying the location on the internet of certain files.
* 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.
* Web server: A service running on a computer (or sometimes for the computer itself) that returns HTML data for a web page when it receives an HTTP request via the local network or the internet.
* World Wide Web: A service provided by computers connected to the internet (web servers), in which pages of hypertext (web pages) are transmitted to users.
* 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)
* Shows an awareness of tasks best completed by humans or computers (EV)
* 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)
* Recognises that different algorithms exist for the same problem (AL) (GE)
* Represents solutions using a structured notation (AL) (AB)
* Can identify similarities and differences in situations and can use these to solve problems (pattern recognition)(GE)
#### 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)
* Designs, writes and debugs modular programs using procedures(AL) (DE) (AB) (GE)
* Knows that a procedure can be used to hide the detail with sub-solution(AL) (DE) (AB) (GE)
* Understands that programming bridges the gap between algorithmic solutions and computers(AB)
* Has practical experience of a high-level textual language, including using standard libraries when programming(AB) (AL)
* 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
* Understands the difference between data and information(AB)
* Knows why sorting data in a flat file can improve searching for information (EV)
* 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)
* Analyses and evaluates data and information, and recognises that poor quality data leads to unreliable re sults,and inaccurate conclusions (AL) (EV)
* Knows that digital computers use binary to represent all data (AB)
* Understands how bit patterns represent numbers and images (AB)
* Knows that computers transfer data in binary (AB)
* Understands the relationship between binary and file size (uncompressed) (AB)
* Defines data types: real numbers and Boolean (AB)
* Queries data on one table using a typical query language (AB)
#### Hardware & Processing
* Knows that computers collect data from various input devices, including sensors and application software (AB)
* Understands the difference between hardware and application software, and their roles within a computer system (AB)
* Understands why and when computers are used (EV)
* Understands the main functions of the operating system (DE) (AB)
* Knows the difference between physical, wireless and mobile networks (AB)
* Recognises and understands the function of the main internal parts of basic computer architecture (AB)
* Understands the concepts behind the fetch-execute cycle (AB) (AL)
* Knows that there is a range of operating systems and application software for the same hardware (AB)
#### Communication Networks
* Understands the difference between the internet and internet service e.g. world wide web (AB)
* Shows an awareness of, and can use a range of internet services e.g. VOIP.
* Understands why and when computers are used (EV)
* Selects, combines and uses internet services (EV)
* 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)
* Understands how to construct static web pages using HTML and CSS (AL) (AB)
* Understands data transmission between digital computers over networks, including the internet i.e. IP addresses and packet switching. (AL) (AB)
#### Information Technology
Collects, organizes, and presents data and information in digital content (AB)
* Creates digital content to achieve a given goal through combining software packages and internet services to communicate with a wider audience e.g. blogging (AL)
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
* * Makes judgements about digital content when evaluating and repurposing it for a given audience (EV) (GE)
* Recognises the audience when designing and creating digital content (EV)
* Understands the potential of information technology for collaboration when computers are networked (GE)
* Uses criteria to evaluate the quality of solutions, can identify improvements making some refinements to the solution, and future solutions (EV)
* Evaluates the appropriatness of digital devices, internet services and application software to achieve given goals (EV)
* Recognises ethical issues surrounding the application of information technology beyond school.
* Designs criteria to critically evaluate the quality of solutions, uses the criteria to identify improvements and can make appropriate refinements to the solution (EV)
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation