Initially, I wanted to contribute to an open source project that I use on a daily basis. However, most of the projects I use are too big for me to contribute to. I then decided to search for other open source projects that I could contribute to and that I could use if I was aware of their existence. That's how I found the Sorting-Algorithms-Visualizer project on GitHub. It's a project made in Python (this was a technology I was already familiar with) and I could use to help first year students understand sorting algorithms during my tutoring sessions.
## Data about the project
- Date of creation: 21/08/2020
- Maintainer: Lucas Pilla Pimentel (Recently graduated Computer Scientist from the University of São Paulo (USP))
- Communication: Directly on GitHub via issues and pull requests
- Decision process: The maintainer is the only one who decides if a pull request is accepted or not
- Number of contributors: 38 (39 with me)
- Number of stars: 421
- Number of forks: 164
## The contribution
I've added a speed option to the visualizer. This option allows the user to choose the speed at which the sorting algorithm is executed. I've implemented this feature as a delay (from 0ms to 100ms) slider, as the maintainer requested in the issue I've opened, that the user can move to change the speed of the visualizer.
## Diary:
| 21/09/2024 |
|-----------------------|
- Check the open source projects I use that are not linked to UCLouvain : Anki, OpenBoard, Overleaf, Python, Python packages, ...
- Realise that those projects are too big for me to contribute to
- Search for other open source projects that I could contribute to and that I could use if I was aware of their existence
|-----------------------|
| 27/09/2024 |
|-----------------------|
- Found a project on GitHub that I use and that I could contribute to : Sorting-Algorithms-Visualizer
|-----------------------|
| 28/09/2024 |
|-----------------------|
- Analysed the project source code and I've opened an issue to suggest a new feature : add a speed option to the visualizer
|-----------------------|
| 8/10/2024 |
|-----------------------|
- The maintainer of the project hasn't answered my issue yet, so I decided to contact him via email
- He answered to my email and he assigned me to the issue
|-----------------------|
| 10/10/2024 |
|-----------------------|
- I've started to work on the issue and I've opened a pull request
|-----------------------|
| 11/10/2024 |
|-----------------------|
- The maintainer of the project has reviewed my pull request and he asked me to make some changes
|-----------------------|
| 12/10/2024 |
|-----------------------|
- I've made the changes and I've pushed them to the pull request
- The maintainer of the project has reviewed my changes and he accepted them