Read over the introduction presentation slides if you weren't able to attend the Friday morning presentation or if you would like to review the information that was covered about the organization of the hackathon and basics of open source software.
We have a Discord server for receiving notifications during the hackathon and communicating with your team, mentors, and event organizers. The link for this Discord is: https://discord.gg/VpB2AzFc
Choose wisely. Send a message on Discord once you and your team have decided.
If you don't already have one, create a GitHub account. You can use any email you prefer, and feel free to personalize your account as much as you like. This is the first step to participating in open source collaboration and will serve to showcase your contributions to future software projects!
Create a repository to maintain the development of your project and collaborate with your team. You can follow a tutorial on how to create a GitHub here. You may want to make the repository private during the competition; however, please ensure that it is made public before presenting on Sunday. If you choose to make the repository private, you will have to add collaborators so they can contribute.
Documentation is essential for any successful software project.
Open source projects require an appropriate license that informs usage and protects contributors' intellectual property. Learn how to add a license here. If you need help picking a license, this guide may help.
Clone the new repository to either your local computer or a server. You can learn how to clone repositories and interact with git using these tutorials.
Learn how to use git clone, git add, git commit, git pull, and git push for basic version control. You can start by making simple README modifications or adding text files. You may also want to learn how to "fork" repositories, "make branches", make "pull requests", and "merge branches" for easier collaboration with your team.
Begin developing your project. Here are a few tips:
- Practice making frequent, small commits. This will make it easier to track versions and merge if you have multiple branches.
- Incorporate essential documentation through code comments and commit messages to simplify polishing future documentation.
- Have fun, and don't be afraid to tinker!
See the guidelines below for what objectives your team should aim to complete and how your team will be judged.
The goals for this hackathon are as follows:
- Explore how to become a contributor to open source geoscience projects
- Learn the requirements and implications of computational reproducibility
- Gain experience with building open source software and communicating your work
All teams are expected to produce a GitHub Repository with the following objectives:
- An active commit history that showcases contributions from all team members
- An open source license
- Standalone code using publicly available datasets and packages
- A README.md file with essential documentation and instructions on how to reproduce results using the repository
- A final presentation showcasing the repository, summarizing the project, and analyzing any challenges the team faced.
Each team will be judged on the following characteristics:
- Success in completing the objectives listed above
- Quality of the README.md and other documentation
- Ease of use and code readability
- Active participation from all team members
- Effectiveness and enthusiasm of final presentation
On Sunday, the judges will listen to each team's presentation and then review the GitHub repositories.
To view the agenda for this hackathon, please visit the event page.
