From complete beginner to novice level, you should find some exercises here to interest and challenge you.
Each exercise lives in a self-contained directory. Exercise directories contain at least one exercise file and one solution file. Some may contain an assets directory that pertain to the exercise. There is often more than one way to solve a problem in programming, hence it will not be unusual to discover more than one solution file for an exercise.
If you would like to contribute an exercise, or your own solution to an existing exercise for others to learn from, please open a pull request (and ensure you follow the filename convention below).
Directory and file names have the following format:
Ldifficulty_DescriptiveNameContentType.php
...which translates to:
L3_RatingExercise.php or L3_RatingSolution.php
The letter 'L' at the beginning stands for 'Level' and is followed by a number from 1 to 5 denoting the perceived difficulty of the exercise.