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
- 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
- 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
although aspirational KS3 can have a go. Hardest tasks are highlighted as L3.
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
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
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
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