Python in Pieces - Q and A Part 1

March 5, 2020

We launched Python in Pieces, an interactive coding environment, designed to build student and teacher confidence in the text-based coding language of Python at Bett in January and are pleased to say that it has already been shortlisted for an ERA award.

In this blog we have a question and answer session with two of the developers of the programme, to discuss what Python in Pieces is, and how it supports computing in Secondary schools.

Part 2 next week will look at how Python in Pieces helps students and why Python should be taught in schools.


Rebecca is both an ex primary school teacher and an ex systems engineer. Having taught in primary schools, she then had a career change and worked in software engineering, writing programs to support Vauxhall Motors for several years before moving back to education as a specialist computing teacher in several primary schools. She is now an education consultant at 2Simple where she has the opportunity to combine her skills, getting involved in technical, as well as educational aspects of the work that we do to support schools and make learning exciting and successful.

John began his career in India in 2002 working on an educational website for secondary school maths and has been working at 2Simple for 5 years. He describes Python in Pieces as one of the most interesting and challenging projects he has ever worked on.

What is Python in Pieces?

Rebecca: Python in Pieces helps students to make the transition from block-based coding that is commonly used at primary school for teaching coding concepts and structures, to text-based coding that is required in Key Stage 3 and beyond. More than this, it bridges the interest gap by including the pip visual interface so that the programs that studemts make using text-based coding can be as visually engaging as those they made previously. Through this, students develop an understanding of how text-based coding can be the underlying code behind the visual programs that they engage with. This functionality is more likely to preserve student engagement in coding and develop a positive attitude towards continuing to develop their skills.

PIP code.png

Python in Pieces translates both from block to Python and Python to block as students type which provides reassurance as students explore Python and build their skills, using the blocks to give them reminders of the syntax for familiar coding structures that they wish to use. For example, a student might know that they want to use a ‘for loop’ and how to use it but cannot remember the specific syntax required. In Python, they can drag the ‘for loop’ block into their code to remind them of this structure and then continue in text.

John: There are many visual (block-based) programming tools, there are many text-based tools, and there are many fun tools for making animations and games. All of these are great - but Python in Pieces is a combination of the three and I would say that it is first and foremost an environment designed to help people *think* about programming. Think in terms of blocks, think in terms of text and think in terms of interaction. Once you can do all three you understand programming - and you can make some cool stuff as well!

What does it help teachers with/how is it matched to the curriculum?

John: We have made Python in Pieces flexible enough to accommodate many different teaching styles. Teachers can use the ready-made lessons which are tailored to the curriculum (and more are on their way!). Each one focuses on a specific aspect of the language, starting with the basics and then asks students to debug some incorrect code and finally produce an interesting visual mini-application to showcase it. If you want to deviate from our lessons that's great too - you can start a project, write your own code (in blocks or text or both) and set it as a Task for your pupils. When they complete it you can see what they did, comment on their work and even ask them to do it again.

Rebecca: There are built in progressive lessons that have been carefully planned to develop student skills, understanding of concepts and coding structures and provide engaging content and themes. Each lesson has video guidance for every level and further hints for students who need them. Students can refer to these at any time and they can be used as part of class teaching and to support teachers who are not as confident in teaching the coding concepts themselves. 

The way that the lessons are progressed and the video support provided helps students develop deeper understanding and commit knowledge to memory, so teachers can be reassured that students are really grasping and remembering concepts.

Teachers can create their own tasks using the 'Free Code Environment' and these can include interaction with BBC microbits. For example, teachers could create some code that they wish pupils to read and then predict what will happen. Students can be asked to run and test the code and adapt it for a specified purpose. When setting tasks for students, teachers can record instructions and task descriptions. They can set different tasks for different groups of students within a class, allowing differentiation opportunities. Students are automatically notified of tasks set.

Work can be set to be completed at any time (or restricted to certain times e.g. during school hours) and includes home access. Student progress is automatically saved so that if a lesson is not completed in the available time, the students will be able to pick up where they got to in the next available time.

Within the User Guides section, teachers can find full solutions to all lesson tasks. There are also curriculum maps that show coverage of KS2 and KS3 curriculum requirements by lesson.

PIP lesson 1.JPG

Next week will be the second part of our Q and A session with the developers, which will look at how Python in Pieces supports pupils and why Python should be taught in schools.