codingquest
logo

About Coding Quest

Coding Quest is an annual competition specifically for secondary students to showcase their knowledge and understanding of algorithm design, data structures and computational thinking.

There are no prizes, just bragging rights. Coding Quest exists mostly for students to compete against themselves.

Each competition runs over two weeks. Problems are released each Monday through Friday at 12:00 noon UTC (12:00:00 PM Coordinated Universal Time). Saturday and Sunday are days off.

Each problem will have a scenario and a worked example to help you interpret it. Sometimes the problem may involve just one part, whereas on other days the problem may consist of several sub-parts to be solved sequentially (usually to help you check you are taking the correct approach).

You can use any programming language/environment you prefer. Problems will be supplied with puzzle input that you will need to parse and process in order to calculate the correct solution. You write your program to process the data provided, and then return to the website to submit your answer for judging.

It is recommended you test your program with the worked example before using it on the actual problem input. To guard against guessing via brute force, an incorrect answer will result in a 60 second delay before you can make a second submission.

Problems are designed to align with curriculum typically used for secondary students, such as IGCSE Computer Science, A Level Computer Science, or IB Diploma Computer Science. Some problems may require a little research and just-in-time learning 😉. The following is a non-exhaustive list of computer science topics that may prove useful in solving problems.

  • Early challenges
    • Data types & calculations using primitives
    • Binary operations and boolean logic
    • String manipulation
    • Validation algorithms (checksums, hash algorithms, etc)
    • Networking theory
    • Arrays of 1 dimension
  • Later challenges
    • Arrays of 2+ dimensions
    • Von Neumann model, assemblers, compilers
    • Recursion
    • Linked lists, stacks, queues, binary trees
    • Object oriented programming
    • Graph search and path finding (DFS, BFS, Dijkstra, etc)

The aim is that problems should be challenging yet achievable for secondary students.

Join the community on reddit to discuss or seek support for individual problems.

Contact me on Reddit

Leaderboards and recognition of achievement

Individuals can compete for positions within an internal school leaderboard, and additionally each school competes against other schools for a bit of light-hearted rivalry (which school gets to brag at having the most hot-shot programmers?!). The overwhelming emphasis, however, is on the learning experience and maximum participation.

Students will be able to download an individualised certificate of achievement upon completion of the event (accessible from their account page).

Within the leaderboard page, positions are based on:

  1. most number of problems solved, then
  2. fastest completion time cummulatively (from the time each problem is released).

School ranks use the top 5 students from each school to calculate school position. This method is used so rankings do not disincentivize encouraging broad participation in the competition.

The following are the various achievement badges available for every problem:

  • 1st globally Global: 1st to solve!
  • Global top 10 Global: top 10
  • Global top 20 Global: top 20
  • Global top 30 Global: top 30
  • 1st in school School: 1st to solve
  • 2nd in school School: 2nd to solve
  • 3rd in school School: 3rd to solve
  • Under 30 Under 30 minutes
  • Under 60 Under 60 minutes

In keeping with this being a project for schools and their students, only user accounts that have joined a school team will be eligible to appear on the leaderboards.

Costs

There is no cost. This is a self-funded personal project which I am now launching onto the world. It was inspired after I really enjoyed last years Advent of code and I felt there really should be similar event designed for highschool students that I could use with my classes. That all said, if you wish to buy me a coffee you can!

How to join or register?

It is recommended that teachers sign-in to register their school prior to promoting the event with students. That will allow the school team to be listed and available for students to see and join when they sign up. When you are ready to invite your students, download the promotional poster. Past events remain open for use as practice for future events.

Credits

Coding Quest is a project by Paul Baumgarten.

Thanks to the following for their valuable assistance:

  • 2024 Challenge:
    • Beta testing of challenges by Edward.
    • Animations and artwork by Clarice.
    • Poster by Clarice.
  • 2023 Challenge:
    • Beta testing of challenges by Colin McAlpine and Patrick Kennedy.
    • Poster by Clarice.
  • 2022 Challenge:
    • Beta testing of challenges by Chris Hall.
    • Daily cartoons by Clarice and Emily.
    • Featured artwork for day 10 by Vivian.
  • 2022 Trial run / soft launch:
    • Beta testing of challenges by Edward.

About me

I am a Secondary Computer Science teacher, currently working at an international school in Hong Kong where I teach Computer Science through the IB Diploma, IGCSE and MYP. Previously I have also lived and worked in Lausanne Switzerland, and Perth Australia, which is where I was raised.

I am passionate about Computer Science and the exciting possiblities that lay ahead for the future.

Please contact me via direct message.

Regards, Paul Baumgarten.