Python Challenges for KS3/4

30 programming challenges test students’ application of key programming constructs, including: sequence, selection and repetition; variables, arrays and functions. The increasing complexity aids progression from KS3 to KS4.

Very useful for absolute beginners through to more experienced users... The first tasks are suitable for KS3, but the latter ones are firmly aimed at KS4. M Fairbank, Computing Teacher & Independent Reviewer

Provided in a range of formats, these challenges are equally valuable for teacher-led lessons or independent learning – including homework.

Everything comes in photocopiable and electronic formats:

  • Challenges – provided as presentations, ‘challenge cards’ and a handy A5 booklet
  • Exemplar solutions with comments (Python v3) – including Python scripts; perfect for demonstration before students attempt each challenge, and for comparison afterwards
  • Simple mark scheme – accessible for both teachers and students


  • Teacher presentation – for delivery during lessons; the challenge, solution and mark scheme all in a single PowerPoint
  • Marking grid for teachers (and students) to monitor progress
Preview some of the slides of the Teacher presentation below.

What do teachers say about this resource? (5688)

An excellent resource that covers learning to program in Python well and in sufficient depth to meet the National Curriculum standards at KS3/4... The problems are clearly outlined and an associated model solutions are useful as a learning resource or even the basis for a set of student notes; the difficulty level is about right and even complex tasks like file handling and arrays are covered in a straightforward way.

P Chapman, peer reviewer

A good resource - impressed with how logical it is and the exemplars would certainly help teachers that are new to programming... Offers differentiation through independent learning and support that could be teacher led... I liked the use of stars on the challenges, the simple effective mark scheme and use of programs. Exemplars are very good too.

L Price, peer review

This resource is very useful for absolute beginners through to more experienced users. The tasks start very easy, but get very difficult by the end. The first few tasks would be suitable for KS3, but the latter ones are firmly aimed at KS4... The inclusion of the answers [in .py format] will be very useful to inexperienced teachers The PowerPoint version will be useful to display on IWBs... Layout is good and consistent. I like the 'skills' required column, which gives the students a pointer as well as reminding them of some of the key concepts in programming.

M Fairbank, peer reviewer

A very useful resource, that could be used as starters as well as main activities for programming elements of the curriculum... Will enable pupils to progress through the challenges independently as well as guided by a teacher... The layout makes it easy to read and follow by all abilities of pupil and teacher. Easy to follow and understand language used... It is very useful to have the solutions as often at KS3 classes are taught by non-specialists that would potentially struggle with these." - A Sanders, Computing teacher and independent reviewer

Very useful for teachers looking at starting to teach python to students in both ks3 and ks4 and gave scope for the different ability bands... Well-suited for a review or recap session in a lesson to check that the students can manipulate the different syntax and skills learnt in python to start to create their own programs... It could also be used as plenaries after teaching a topic or as a starter to review previous knowledge.

K Sproston, peer reviewer

A well-designed resource that will save a lot of time for teachers... I particular like the consistency and the simple division of the slides in three different parts: the challenge, the key elements they need to use and the level of difficulty... This resource can be used as a tool to enhance the learning of the programming theory within lessons or can also be used as a homework tool for the students to deepen their knowledge of programming. In any case, it is a very good tool for independent learning... Provides a challenge to students when revising or tackling for the first time a programming task in Python." - H Gonzalez, HoD, independent reviewer