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 pracise 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
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