Overview
This section contains everything you need to know about hackweek projects:
- What are the roles and responsibilities of hackweek project participants?
- How to initialize a project within the hackweek Github Organization?
- What are the recommended GitHub workflows for managing projects?
- What are some examples of past projects?
Purpose of the projects:
During the hackweek we will be facilitating open hacking sessions most of the afternoons. The purpose of these sessions is for you to gain hands-on experience in working together on a well-defined problem.
What is hacking?
Hacking is a session of focused, highly collaborative computer programming, in which we create conditions for rapid absorption of new ideas and methods. The word "hack" or "hackathon" has many different interpretations, both positive and negative. Here our intention is to foster the idea of hacking as a fun, interactive and welcoming environment to explore and experiment with computer code.
Why is this important?
Increasingly, research and software development is being conducted across groups of people with diverse skills and backgrounds. We believe this collaborative work leads to more innovative solutions to complex problems. At CSI-2020 Hackweek, our goal is to explore with you some of the skills needed to navigate technical and social challenges of working in these kinds of collaborative settings.
How will the projects be conducted?
- Participants have already posted initial ideas for projects in the #project_ideas channel. On Friday, June 12 we will begin the formation of preliminary teams of (3-7 people) around project ideas. We will finalize the teams and project roles during our session on Monday, June 15th. Group "Hacking" begins immediately afterwards.
- each team will identify:
- a project lead, likely the person who pitched the idea, who has knowledge of the datasets and the specific problem to be explored. But roles can be assigned as the group decides to best fit skills and needs.
- a data science lead from the pool of CSI-2020 instructors who has expertise in the data tools and methods
- once formed, each team will be guided through exercises to help narrow in on a set of tasks that are doable within the 5 days. A brief project outline will be posted to GitHub, following the "Project Guidelines" below.
- On the mornings of June 16th, and 17th we will have a daily stand-up meeting to check-in on progress and challenges
- On Thursday June 18th each team will present their work in a series of lightning talks.
What can I do to prepare in advance?
- if you have a project idea already brewing, we encourage you to share that with participants on our #project_ideas channel.
- feel free to explore various projects and initiate conversations. The goal is to gather as much information as you can to inform your decision about which team to join when we meet in person.
- contact a CSI-2020 organizer if you would like assistance in assessing whether a project is well-scoped, or if you need help with a particular dataset.
Project guidelines
Each project requires a brief project summary in the readme.md of each GitHub project folder. Below is a template for the project summary. You can visit the project folder on GitHub to see existing examples.
Project Title
Brief title describing the proposed work.
Collaborators on this project
List all participants on the project. Choose one team member to act as project lead, and identify one waterhack organizer as the data science lead.
The problem
What problem are you going to explore? Provide a few sentences. If this is a technical exploration of software or data science methods, explain why this work is important in a broader context.
Application Example
List one specific application of this work.
Sample data
If you already have some data to explore, briefly describe it here (size, format, how to access).
Specific Questions
List the specific tasks you want to accomplish or research questions you want to answer.
Existing methods
How would you or others traditionally try to address this problem?
Proposed methods/tools
Building from what you learn at this hackweek, what new approaches would you like to try to implement?
Background reading
Optional: links to manuscripts or technical documents for more in-depth analysis.