Our site uses cookies. Some of the cookies we use are essential for parts of the site to operate and have already been set. You may delete and block all cookies from this site, but parts of the site will not work. To find out more about cookies on this website, see our cookie policy.

ZigZag Education Photocopiable and digital teaching resources
Basket
  • Home
  • About Us
    About ZigZag Education Become an Author Vacancies Affiliates
  • FAQ
    Frequently Asked Questions Delivery Licensing Terms & Conditions Inspection Copies Fast Shop (for accounts departments)
  • Contact
  • Sign In
  • ZigZag's 50 Algorithm Challenges with Python Solutions New

    web/12860 53 photocopiable A4 pages

    Available for dispatch £79
    Add
  • ZigZag's 50 Algorithm Challenges with PHP Solutions New

    web/12861 55 photocopiable A4 pages

    Available for dispatch £79
    Add

Price includes unlimited photocopying for students attending the purchasing site. Add PDF (+20%) or Editable Word (+50%) upgrade at checkout where available.

Order online; alternatively email or call Customer Services to place your order.

Mailing List Sign Up

Computer Science and IT Computer Science KS3 GCSE AQA 8525 8520 OCR J277 Edexcel 1CP2 1CP1 Eduqas 2020 specification 2016 specification WJEC (2017 specification) WJEC (2025 specification) A Level AQA (7516/7517) For teaching and learning: For online homework and revision: For revision and exam preparation: For programming support: OCR (H046/H446) For teaching and learning: For online homework and revision: For revision and exam preparation: For programming support: WJEC Eduqas IGCSE CIE (0984) Programming Computational Thinking Pseudocode C# HTML/CSS/JavaScript Java Micro:bit PHP and SQL Python Scratch Small Basic Visual Basic Information Technology (Level 1/2) BTEC L1/L2 Digital Information Technology (2022) Information Creative Technology Cambridge Nationals L1/L2 IT (J836 from 2022) Functional Skills GCSE Digital Technology CCEA WJEC AAQ and Vocational (Level 3) BTEC National in Computing (2016) AAQ BTEC National Computing (2025) BTEC National in IT (2016) AAQ BTEC National IT (2025) Course Companions Online Learning and Revision Software Guides Cambridge Technical IT (2016) Level 3 Information Technology AAQ Cambridge Advanced National Application Development (2025) Course Companions Topic on a Page Online Learning and Revision AAQ Cambridge Advanced Nationals Data Analytics (2025) Course Companions Topic on a Page Online Learning and Revision T Levels Digital Software Development Course Companions Employer Set Project Topic Tests Digital Support and Security Digital Production Design & Development (last exams 2026) Creative iMedia Cambridge Nationals (J834) Photoshop / Premiere AI
  • Computer Science and IT
  • Programming
  • Python

ZigZag's 50 Algorithm Challenges

Working solutions for:

  • Python 3.10
  • PHP

Structured programming tasks lead student programmers on a journey from coding constructs to coding a website packed with mini-games.

Students learn through increasingly challenging tasks:

The Python solutions are well written and documented with comments

J Hamilton, Teacher & Peer Reviewer
  • 18 starter challenges to cover the essential programming constructs
  • 10 short practice challenges such as weight converter, quadractic solver and logic gates demo
  • 12 standard algorithm challenges covering searching and sorting algorithms, stacks, queues and trees
  • 10 games; fun to create and play, from Hangman to Minesweeper!

A wide range of tough challenges for secondary students

J Hamilton, Teacher & Peer Reviewer
  • Flow diagrams provided for the sorting algorithms, and pseudocode solutions for all starter and short practice tasks, so these can be set as additional practice tasks.
  • Student introduction includes positive ways to use AI to support learning
  • Working solutions provided
Aimed at L2 (GCSE/BTEC/OCRNAT) and L3 (A Level/AAQ/T Level) students,
although aspirational KS3 can have a go. Hardest tasks are highlighted as L3.

Share with others:

What do teachers say about this resource? (12860, 12861)

this resource contains a wide range of programming tasks for students of varying levels of ability. It would be appropriate for students from Key Stages 3 – 5, with some challenges even relating directly to exam board specifications of both KS4 and KS5 qualifications (sorting algorithms, graph traversal, etc.). The resource is structured through 4 different stages of increasing difficulty which is useful for finding tasks to issue to students. The resource is incredibly broad and can be employed across a variety of languages ... I like the variety of challenge - it requires students to use a variety of programming techniques to accomplish tasks and tasks are available for students of all ability levels. Some of the tasks are innovative – I have not seen these challenges before in other resources. Introducing the MVC model provides a healthy challenge for students studying at A-Level and could become relevant to the programming project required of KS5 students ... I like the included pseudocode solutions, guidance and flowcharts. These can be given to students to support them in completing the tasks without giving them too much help.

The Python solutions are well written and documented with comments included – this allows model solutions to be shared with students or for teachers to use the code for additional activities (PRIMM).
... This resource will allow students to develop their programming skills both inside and outside of the classroom. This will be especially useful for students completing a course of study in CS – there is often a requirement for completing a certain number of hours of programming at GCSE. Students will be challenged to apply computational thinking skills on a semi-independent level and required to think algorithmically to solve these problems. Teachers could use these in several ways and ask students to produce program code, pseudocode or flowcharts depending on what the teacher’s aim is ... The commenting on the provided Python solutions is clear and descriptive. Code is well structured and maintained ... this resource does cover all topics I would expect to cover with students in KS3, 4, and 5. Some of the algorithm tasks require students to write algorithms seen in many GCSE and A Level specifications (Graph traversal, searching, sorting, etc.), as well as covering constructs I would expect to see at these levels (sequencing, selection, iteration, recursion, etc.).
... it contains a selection of good challenges I can give to my higher prior attainers and allows for a wide range of activities to be delivered. I would also find it useful in coming up with programming tasks for younger year groups. I would give these challenges to A Level and strong GCSE students to complete independently ... a very good resource to be given to higher ability students. The author should be commended on creating a wide range of tough challenges for secondary students

J Hamilton, Teacher & Peer Reviewer

this is a strong, well-structured resource that succeeds in collating a very wide range of algorithmic challenges in one place. It provides a coherent progression from beginner tasks through to more advanced algorithms and games, and I can see how it would be particularly valuable for teachers who are either new to teaching programming or who are not Computer Science specialists. The inclusion of pseudocode, flowcharts, and working Python solutions is a real strength, as it gives flexibility in delivery across different teaching approaches ... I particularly liked the sheer breadth of coverage. Few resources bring together such a complete set of challenges, from fundamental loops and conditionals through to complex recursive algorithms and full game projects. The inclusion of games such as Hangman, Tic-Tac-Toe, and Minesweeper gives learners a sense of fun and achievement, while also naturally reinforcing the constructs they’ve learned earlier ... This resource has significant educational value in that it allows learners to progress from zero to complex algorithms in a structured and supportive way. It covers not just the basic constructs but also the canonical algorithms that GCSE and A-Level specifications demand. For learners, this means that regular exposure to the material builds both fluency and confidence. For teachers, it provides a bank of ready-to-use challenges that can be set as classwork, homework, or even enrichment projects ... The tasks are numbered, grouped by category, and build in difficulty in a way that makes sense. The inclusion of pseudocode and flowcharts is especially helpful, it provides an entry point before diving into the Python code itself ... The resource aligns very well with specification requirements, particularly in Section 3, which covers the classic search and sort algorithms, stacks, queues, trees, and graphs. These are examinable at both GCSE and A-Level, and the resource provides both working code and pseudocode to support understanding. For GCSE in particular, this is invaluable, as students often struggle with visualising and coding algorithms like merge sort or binary search ... The resource also goes beyond the specification in places (e.g. file handling, maze generation, and game design), which I think is a real strength. These additional challenges provide opportunities for extension, enrichment, and cross-curricular links, and could easily form the basis of stretch-and-challenge activities or coding clubs ... I certainly would have purchased it in my first few years of teaching, and I can see it being particularly valuable for new teachers, PGCE students, or non-specialists tasked with delivering programming content ... it provides both breadth and structure in a way that would save considerable preparation time ... a strong and useful resource ... I commend the effort to maintain consistency across 50 tasks, and I would recommend it as a valuable purchase for departments looking to strengthen their programming provision

A Brown, Teacher & Peer Reviewer

Very good, comprehensive set of coding exercises that cover all the content that students ned to be able to do and more for the CS spec ... I really like the level of challenge and the range of opportunity to practise writing algorithms. I like that the code is well annotated and that students should be able to read through the answers and interpret what has happened based on this ... I really enjoyed looking at the games section, there are some very nice, simple activities there that the student can get to grip with and then move on from ... The students have to research how and why to write code in a specific way and it challenges the students very well ... I love that this gives a clear distinction between the complexities of each algorithm ... These games are a lot more gentle and accommodate beginner level coding

P Cullis, Teacher & Peer Reviewer

This is a well-rounded and extensive resource that provides a broad spectrum of programming challenges, from foundational constructs to advanced algorithms and games. It is clearly designed with progression in mind, offering students an opportunity to build up their skills incrementally while also engaging them through interactive game development. There are so many different activities for the students to do, took a while to review but loved it ... I particularly appreciated the inclusion of full working solutions in both Python and PHP, which is rare and adds flexibility for teachers and students who may be exploring different languages. The mix of practical tasks and algorithm-based challenges is also commendable ... a fantastic bank - it would defo help many students. ... The educational value lies in the hands-on, progressive nature of the tasks. The resource supports learning-by-doing, which is essential in developing computational thinking and confidence in programming. It offers ample opportunity to practise fundamental concepts while stretching students with more complex, exam-relevant tasks. The inclusion of game-based challenges can motivate learners and encourage creativity ... The resource aligns well with the key areas of the specifications, particularly in covering sequence, selection, iteration, and subroutines. The inclusion of standard algorithms like linear/binary search, bubble/merge sort, stacks, queues and tree traversal corresponds directly to A-Level requirements. For GCSE, the basic and intermediate tasks are spot-on for practice and assessment preparation ... The resource provides excellent value through its comprehensive coverage and language solutions. It would be particularly useful for flipped learning, independent study, or coding clubs in addition to regular classroom use ... This resource is particularly versatile: suitable for both classroom teaching and self-study, and ideal for revision, homework, or as part of a computer science enrichment programme... The blend of real-world programming constructs and creative tasks makes it a strong asset for any department

C Morgans, Head of Computing & Peer Reviewer

Keywords

  • Programming Tasks
  • GCSE Practical Programming
  • Programming support
  • coding
  • PHP
  • Python

Loved it

C Morgans, Head of Computing & Peer Reviewer

Well-structured

A Brown, Teacher & Peer Reviewer

A strong and useful resource

A Brown, Teacher & Peer Reviewer

I like that the code is well annotated and that students should be able to read through the answers and interpret what has happened based on this...

...I love that this gives a clear distinction between the complexities of each algorithm

P Cullis, Teacher & Peer Reviewer

A well-rounded and extensive resource that provides a broad spectrum of programming challenges, from foundational constructs to advanced algorithms and games... There are so many different activities for the students to do...

...The mix of practical tasks and algorithm-based challenges is also commendable... A fantastic bank

C Morgans, Head of Computing & Peer Reviewer

Very good, comprehensive set of coding exercises that cover all the content that students ned to be able to do and more for the CS spec

P Cullis, Teacher & Peer Reviewer

It allows learners to progress from zero to complex algorithms in a structured and supportive way

A Brown, Teacher & Peer Reviewer

Covers all topics I would expect to cover with students in KS3, 4, and 5...

...This resource will allow students to develop their programming skills both inside and outside of the classroom... Students will be challenged to apply computational thinking skills on a semi-independent level and required to think algorithmically to solve these problems

J Hamilton, Teacher & Peer Reviewer

Clearly designed with progression in mind... ample opportunity to practise fundamental concepts while stretching students with more complex, exam-relevant tasks

C Morgans, Head of Computing & Peer Reviewer

It challenges the students very well

P Cullis, Teacher & Peer Reviewer

I like the variety of challenge - it requires students to use a variety of programming techniques to accomplish tasks and tasks are available for students of all ability levels...

...Some of the tasks are innovative – I have not seen these challenges before in other resources

J Hamilton, Teacher & Peer Reviewer

I really enjoyed looking at the games section, there are some very nice, simple activities there that the student can get to grips with and then move on from

P Cullis, Teacher & Peer Reviewer

© ZigZag Education®, Unit 3, Greenway Business Centre, Doncaster Road, Bristol BS10 5PY | Privacy Policy | Cookie Policy | Accessibility Policy 🤖 | Follow Us Join Us