This lesson allows pupils to consolidate their Python programming skills they have learnt so far by giving them a challenging program to complete.  They need to create a program that allows messages to be encoded and decode using a Caesar cypher. While they are doing this, they are acquiring valuable skills about creating robust programs and how to break a complex task into manageable chunks along with common techniques programmers use when tackling large programs.


This lesson is suitable for KS3 computing and GCSE 9-1 computer science pupils.


It includes an attractive dyslexia friendly PowerPoint presentation that includes differentiated lesson objectives, 2 videos to teach key skills and lots of practical programming practice. It also includes a comprehensive teacher’s lesson plan including the answer to the main programming challenge.


Please note:  This lesson does assume the pupils are confident with using basic programming constructs of sequence, selection (if statements) and iteration (while and for loops).


Duration: 1 lesson


This lesson teaches pupils about:

  • Using sensible variable names and user prompts
  • Creating a menu system that works
  • Creating a robust program that takes into account user errors to prevent them from crashing the program
  • How to break a complex task into manageable chunks
  • Caesar cypher
  • Converting strings into ASCII code and converting ASCII code into strings

08 Creating Robust Programs

  • Digital resources purchased from Nichola Wilkin Ltd. are to be used in the original individual school which purchases the resources only.

    Resources may not be shared, distributed or displayed digitally for public view, uploaded to school or borough websites, distributed via email, submitted to file sharing sites or shared with another school or institution, even those within the same academy chain.

    For full terms and conditions visit