git clone https://github.com/LondonAlgorithms/boilerplate.git
cd boilerplate
Here's some tips for creating a great algorithm challenge:
- Write a readme
- Add specs
- Add function definitions
- Add helpers
- Update
src/algo.js
filename with name of algo - Update
spec/spec.js
<title>
with name of algo
- Introduction: Write a clear description of the algorithm
- Resources: Include links to any slides, blog posts or articles if you are relying on them to help people to quickly grasp the concepts involved
- The challenge: Describe the challenge step by step (enough so someone without prior explanation can get started)
- Helpers: Document the helpers you are providing and, if helpful, explain the role they play in the algorithm
- Credits
- Start with some easy functions (give people a foot in the door)
- Specs should correspond the functions the student is writing
- Create shell functions
- Document functions using JSDoc
- Try to keep functions in an order that corresponds to the specs
- Abstract away all the icky complex code into helpers
- Document in the readme