Extra Credit
The best way to get better at developing software is to develop software. Do you need to come up with your on project to work on? No! There are thousands of important open source projects out in the world. Involvement with one is an opportunity for a maximum of 5% extra credit applied to your final grade. That's half a letter grade!
Tier 1
Tier 1 is finding a project with an issue you'd like to contribute to. In many ways, this is the hardest part. There are so many open source projects, but which one is right for you?
Below is a listing of resources for people looking to get involved in open source projects. Most of them are aimed at people who are new to open source development.
- Up-For-Grabs: A website devoted to tasks just for new contributors
- Your First PR: A listing of issues designed to be for people who have never submitted a pull request before
- An aggregation of opportunities on GitHub that are "awesome for beginners"
- All first-timers-only labels on open issues in GitHub
- Showcase of open source projects curated by GitHub as "great for new contributors"
- CodeTriage: A website devoted to open source projects with the most open issues
All you have to do for Tier 1 is find a GitHub issue you'd like to work on and meet with me about it. Once we agree that it's an appropriate issue, you'll just have to send me an e-mail with a link to the issue on GitHub. Once I receive the e-mail, you'll earn 1% extra credit toward your final grade.
Unfortunately, many posted issues are about Read Me files or other documentation. Many others are part of web projects and concern HTML or CSS. I require the issue to be one for which you must write code that performs a task in an executable programming language, likely Java, rather than a markup or formatting language. Even so, the issue can be small, requiring only a few lines of code to resolve.
Tier 2
Tier 2 consists of writing the code needed to resolve the issue and making a pull request. I will be available to assist you with the code.
This and this are useful guides to contributing to open source projects. Remember that the open source development world is a community, and a community has rules, etiquette, and standards of behavior.
Once you have submitted the pull request, send me an e-mail with a link to the pull request, and I will award you an additional 2% of extra credit.
Tier 3
Tier 3 is the simplest: You get a final 2% of extra credit if your pull request is accepted. It's possible that this will entail no additional work on your part. If you wrote good code and tested it, the pull request may be accepted with no changes.
However, pull requests are generally reviewed before being accepted, and the reviewer may discover problems that you have to fix before the pull request is accepted.
Once the pull request is accepted, send me an e-mail with a link to the merged commit or the closed issue on GitHub, and I will award the final 2%, bringing the total of extra credit up to 5%.
Although this opportunity is for extra credit, I'm happy to help you at any point in the process.