During this unit, students will work with another free programming language, Small Basic, and use this to create textual as well as graphical applications for a smartphone. Students investigate online security risks, data protection and develop an advanced user interface similiar to one on modern operating systems. Plus, students also learn advanced variable handling and subroutines to structure programming tasks. They learn how to document code through annotation and develop a fully blown smartphone conversion app. Finally, students create a report to aid assessment of their progress.

Lesson
number |
Indicative content |
Homework |
---|---|---|

1 | Explore the features of Small Basic; investigate variables in a command line interface (text window); produce code that runs in a command line interface and responds to user input. | Spring cleaning your phone. |

2 | Explore the graphics window in Small Basic; produce a smiley from an image given to you; design and code your own smiley. | Download and run Small Basic. |

3 | Work out which lines of code create the objects in the graphics window; accurately position text in a graphics window. | Phishing and bank accounts. |

4 | Inputting text in a graphics window; input and output text in a graphics window; investigate data protection. | There is no homework for this lesson. |

5 | Advanced x and y locations; user interactions using IF. | Variable calculations presentation. |

6 | Use variables to calculate results on a smartphone; use variables for more complex calculations. | Understanding complex code. |

7 | Annotate code; challenge: complete a converter app. | There is no homework for this lesson. |

8 | Evaluate another pupil's work; produce an end of scheme report. | There is no homework for this lesson. |

- Design, use and evaluate computational abstractions that model the state and behaviour of real-world problems and physical systems;
- Understand several key algorithms that reflect computational thinking [for example, ones for sorting and searching];
- Use logical reasoning to compare the utility of alternative algorithms for the same problem;
- Use 2 or more programming languages, at least one of which is textual, to solve a variety of computational problems;
- Design and develop modular programs that use procedures or functions.

- Knowing the purpose, audience for and context of the writing and drawing on this knowledge to support comprehension;
- Writing for a wide range of purposes and audiences, including notes;
- Paying attention to accurate grammar, punctuation and spelling;
- Understand a range of ways to use technology safely, respectfully, responsibly and securely, including protecting their online identity and privacy.

- Use algebra to generalise the structure of arithmetic, including to formulate mathematical relationships;
- Identify variables;
- Use the symbols =, ≠, <, >, ≤, ≥.