Skip to content

Commit 6deb02d

Browse files
committed
Add section on how to contribute
1 parent da8048a commit 6deb02d

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

README.markdown

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Welcome to the algorithm club!
44

55
Here you'll find implementations of popular algorithms and data structures in everyone's favorite new language Swift, with detailed explanations of how they work.
66

7-
If you're a computer science student who needs to learn this stuff for exams -- or if you're a self-taught programmer who wants to brush up on the theory behind your craft, you've come to the right place.
7+
If you're a computer science student who needs to learn this stuff for exams -- or if you're a self-taught programmer who wants to brush up on the theory behind your craft -- you've come to the right place.
88

99
The goal of this project is to explain how algorithms work. The focus is on clarity and readability of the code, not on making a reusable library that you can drop into your own projects. That said, most of the code should be ready for production use, but you may need to tweak it to fit into your own codebase.
1010

@@ -14,6 +14,22 @@ This is a work in progress. More algorithms will be added soon. :-)
1414

1515
**Suggestions and contributions are welcome!** Report an issue to leave feedback, or submit a pull request.
1616

17+
## How to contribute
18+
19+
To keep this a high quality repo, please follow this process when submitting your contribution:
20+
21+
1. Create a pull request to "claim" an algorithm or data structure. Just so multiple people don't work on the same thing.
22+
2. Use this [style guide](https://github.com/raywenderlich/swift-style-guide) for writing code (more or less).
23+
3. Write an explanation of how the algorithm works. Include plenty of examples for readers to follow along.
24+
4. Include your name in the explanation, something like *Written by Your Name* at the end of the document. If you wrote it, you deserve the credit and fame.
25+
5. Add a playground and/or unit tests.
26+
27+
Just so you know, I will probably edit your text and code for grammar etc, just to ensure a certain level of polish.
28+
29+
### What sort of things can you contribute?
30+
31+
New algorithms and data structures are always welcome (even if they aren't on the list). Improvements to existing implementations. Better explanations. Suggestions for making the code more Swift-like or to make it fit better with the standard library. Unit tests. Fixes for typos. No contribution is too small. :-)
32+
1733
## Where to start?
1834

1935
If you're new to algorithms and data structures, here are a few good ones to start out with:
@@ -84,6 +100,10 @@ Bad sorting algorithms (don't use these!):
84100
- [Permutations and Combinations](Combinatorics/). Get your combinatorics on!
85101
- Statistics
86102

103+
### Machine learning
104+
105+
- k-Nearest Neighbors
106+
87107
## Data structures
88108

89109
The choice of data structure for a particular task depends on a few things.

0 commit comments

Comments
 (0)