This repository contains the collective effort of the codosseum team and contributors to create an open database of coding challenges.
The challenges are written in a well-defined format and are therefore easy to read for machines. The challenges in this repository are primarily meant for running codosseum instances, but can, in theory, be incorporated just about anywhere. If you want, you can also just use these as problems to practice your programming skills, without any additional software.
Do you want to contribute a challenge?
- Fork this repository
- Clone your version of the repository to your computer
- (Optional, but recommended): set up pre-commit (see below) to ensure that your changes can be accepted.
- Create a new directory for your challenge under the
challenges/
directory of the repository, e.g.my-challenge
(the name of the directory will be the unique ID of the challenge) - Copy the challenge template file to your challenge directory under the name of your challenge, e.g.
cp challenge-template.yml challenges/my-challenge/challenge.yml
. The name of the file must bechallenge.yml
. - Edit your challenge file, enter all the relevant information, create a solution in a language of your choice in the same directory
- Commit and push your changes
- Open a pull request
In the future, we will provide a more convenient web UI for submitting challenges.
WIP
The license and copyright information is specified for each challenge individually through the license
and author
fields. All challenges in this repository use free/open licensing. Specifically all challenges are licensed under at least one of the following: