Activity set part 3

Activity set summary

In this set, students will revise their skills in the Blockly visual programming language and learn the basics of the text–based language: Python. Throughout, they will be designing, creating and debugging their own programs. They will develop their understanding of the concept of selection, to include repeat while in both Blockly and Python. Students who make rapid progress will gain confidence in writing Python programs independently, using repeat loops, if and while statements, defining procedures and creating variables. At the end of each activity set, students will create challenging routes for each other to solve by writing programs in Python. The activity will involve self–evaluation and provide an ideal opportunity for teachers to assess progress and achievement.

Session 11 – Switching from Blockly to Python

Session 12 – Understanding more Python commands (while, if.. elif..else)

Session 13 – Writing basic code directly in Python (forwards, turn, print, repetition)

Session 14 – Flying solo with Python! (programming independently using repetition, selection with extension to using procedures and variables)

Session 15 – Increase the challenge — (creating new Python variables, incrementing variables)

Session 16 – Assessment session — applying your coding knowledge to create a game challenge for a partner).

ResourcesKey

• Rapid Router game: www.codeforlife.education

• UKS3 Session plans 11–16

• Resource Sheets S11 to S16 and assessment sheets

Code Wall Cards

• Levels Guide (Levels 51–109)

Blockly–Python Phrasebook

Glossary

Vocabulary: Programming terms appear in blue

Assessment: Key questions appear in red

Student’s previous experience

Students should be able to use and understand the core programming concepts using Blockly, which they will have covered in Rapid Router Levels 1 to 67:

Forward and turn movements

Repeat loops

Repeat until

If … do statements

If … else if … else

Procedures

Teacher preparation

Create accounts for yourself and the students in Rapid Router (www.codeforlife.eduction)

This way, the students can save their created challenges and you can track their progress.

If you have not used the Advanced part 1 and Advanced part 2 levels (19–67), look through the corresponding materials to select some bridging activities.

Familiarise yourself with the contents of Advanced part 3 session plans, and the related game levels.

Read the Introduction to Python in Rapid Router and the Rapid Router Blockly–Python phrasebook.

Key points to note:

You may often need to spend more than one lesson covering the contents of each session. The pace is rapid, and students will have needed to cover the lower levels of Rapid Router to have a thorough understanding of the computer science principles of sequencing, repetition and selection in a visual language such as Blockly.

The teaching plans are intended to be adapted by each teacher to meet the needs of their classes. For example, you may decide not to use each level covered in each session.

Special needs pupils

You may decide to stick to Blockly, as the challenge of text-based coding in Python may complicate the basic programming principles you’ve already taught these pupils. They may benefit more from similar work using Scratch to reinforce the sequence, repetition and selection concepts.

Advanced part 3 learning expectations:

In this activity set, the students will:

  • Revisit the skills of sequencing, repetition and selection learnt in Advanced part 1

  • Learn to use procedures in programming

  • Transfer these skills from Blockly, a visual programming language to Python, a text–based language

  • Compare and contrast the two languages, understanding the importance of precision and syntax in Python

  • Design, write and debug programs in Python using repetition, selection and output (print)

  • Learn to create and increment variables in Python (extension)

  • Links to the National Curriculum for Computing PoS

Key stage 3

Pupils should be taught to:

  • 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 two or more programming languages, at least one of which is textual, to solve a variety of computational problems; make appropriate use of data structures [for example, lists, tables or arrays]; design and develop modular programs that use procedures or functions

  • understand simple Boolean logic [for example, AND, OR and NOT] and some of its uses in circuits and programming; understand how numbers can be represented in binary, and be able to carry out simple operations on binary numbers [for example, binary addition, and conversion between binary and decimal]

  • understand the hardware and software components that make up computer systems, and how they communicate with one another and with other systems

  • understand how instructions are stored and executed within a computer system; understand how data of various types (including text, sounds and pictures) can be represented and manipulated digitally, in the form of binary digits

  • undertake creative projects that involve selecting, using, and combining multiple applications, preferably across a range of devices, to achieve challenging goals, including collecting and analysing data and meeting the needs of known users

  • create, re-use, revise and re-purpose digital artefacts for a given audience, with attention to trustworthiness, design and usability

  • understand a range of ways to use technology safely, respectfully, responsibly and securely, including protecting their online identity and privacy; recognise inappropriate content, contact and conduct and know how to report concerns.

Last updated