Skip to content

Commit 535ab4a

Browse files
authored
Merge pull request #4 from bhlmn/update-contributing-guide
Update contributing guide
2 parents 6ac2f54 + c24c547 commit 535ab4a

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

docs/contributing.md

+25-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ As such, building out this repo is a way we can accomplish all of these goals. I
1717
3. Clone the fork to your local machine.
1818
4. Connect your fork to the upstream `python-practice-problems` repository.
1919
5. Before you begin making edits, pull the latest code
20-
6. Create a new branch and make edits. Edits will be at least one of the following, and guidelines for how to do these are given in [the following section](https://github.com/PDXPythonPirates/python-practice-problems#edit-guidelines).
20+
6. Create a new branch and make edits. Edits will be at least one of the following, and guidelines for how to do these are given in [the following section](#edit-guidelines).
2121
* Adding exercise ideas to a problem set
2222
* Creating an exercise notebook (or notebooks) for problem(s) in a problem set
2323
* Creating a solution notebook (or notebooks) for problem(s) in a problem set
@@ -28,4 +28,27 @@ As such, building out this repo is a way we can accomplish all of these goals. I
2828

2929
## Edit guidelines
3030

31-
TBD
31+
Follow these guidelines when doing the following updates.
32+
33+
### Creating a new problem set
34+
35+
If you are creating a new problem set ...
36+
37+
1. Add an apporpiately named folder in the [`problem_sets`](../problem_sets/) folder and keep all related resources there. For example, all of the problems related to the `print()` function are in [`problem_sets/print/`](../problem_sets/print/).
38+
2. Update the main [repo README](../README.md) to list this new problem set and add a link to the new folder.
39+
3. Add a README.md file to the folder you created. This is where the exercises and their solutions will be listed. At the top of the README add a title and a note that exercises are generally listed in order of difficulty and put a disclaimer that presented solutions are not the only solution. Fee free to copy the paragraph at the top of [the `print()` README](../problem_sets/print/README.md).
40+
41+
### Adding problems to a problem set
42+
43+
1. Feel free to add ideas for exercises even if you aren't adding the exercise or solution notebooks. Having these problems in a single spot is helpful!
44+
2. If you came up with the exercise on your own, feel free to give yourself credit, else add a link to the original author and url.
45+
46+
### Creating notebooks for exercises and solutions
47+
48+
1. Exercises and their solutions should be saved in separate folders – encouraging the user to figure the problem out on their own before viewing the solution.
49+
2. Exercises and solutions should be stored in a folder of the same name within the appropriate problem set. For example, [../problem_sets/print/exercises/](../problem_sets/print/exercises/) and [../problem_sets/print/solutions/](../problem_sets/print/solutions/).
50+
3. The name of the notebook should reference the exercise number within the problem set and a couple keywords that hints at the content of the exercise. For example, the first exercise in the [`print() problem set`](../problem_sets/print/) is titled [01_print_multiple_lines.ipynb](../problem_sets/print/exercises/01_print_multiple_lines.ipynb).
51+
4. Make sure that instructions at the top of exercises and their corresponding solutions _are the exact same_.
52+
5. After adding exercise and solution notebooks, provide a link to these notebooks in the problem set README. These links should not be relative links to the notebooks, but links to [Google Colaboratory](https://colab.research.google.com) that point to the notebooks on the GitHub repo. The urls will look like `https://colab.research.google.com/github/PDXPythonPirates/python-practice-problems/blob/main/problem_sets/{problem_set}/{exercises}/{file}.ipynb` and `https://colab.research.google.com/github/PDXPythonPirates/python-practice-problems/blob/main/problem_sets/{problem_set}/{solutions}/{file}.ipynb`. See the [`print()` problem set README](../problem_sets/print/README.md) for an example.
53+
54+
**Note on above!** The fact that notebook links are not relative means they won't work until your updates are pulled into the main branch. This is a nuisance that we don't have a remedy for at the moment.

0 commit comments

Comments
 (0)