Skip to content

Latest commit

 

History

History
131 lines (80 loc) · 9.64 KB

day1.md

File metadata and controls

131 lines (80 loc) · 9.64 KB

Day 1 - Introducing Git and GitHub

The aim of day 1 is to ensure every attendee is comfortable using Git and GitHub to collaborate on projects. This day also gives attendees a chance to get to know each other and start networking.

If attendees are already competent GitHub users, and they only want to learn about contributing to open source then they can either skip this day, or can be encouraged to attend and mentor the rest of the attendees.

Run of the day

Time Activity
09:30 Doors open and breakfast
10:00 Welcome
10:15 Networking activity
10:25 Get signed up with GitHub
10:55 Networking opportunity - connect on GitHub
11:05 Introduction to GitHub
12:00 Lunch
12:55 Another networking activity
13:00 Make your first contribution
14:00 Make your second contribution
15:00 Wrap up

Doors open and breakfast

The doors should open at least 30 minutes before the event starts. Having a half hour period between the doors opening and the event starting gives attendees time to arrive, and start talking to other attendees. Ensure you have signage outside the event location indicating that the event is hosted there and the opening time to help any attendees who arrive extra early (for example trying to avoid traffic).

Once attendees arrive, give them badges with their preferred name and pronouns. These can be as simple as a sticker written on in pen.

If possible, provide breakfast. During this period encourage mentors to meet with and talk to attendees. If you are unable to provide breakfast, encourage attendees to bring their own as well as drinks.

Welcome

The welcome is when the event kicks off. Attendees should be seated and ready to start the day with their laptops out.

The host(s) welcome the attendees and run through the following:

  • The code of conduct including who to go to to report any violations. Please read this out as well as showing it on a slide to ensure everyone is aware.
  • Event space logistics such as WiFi details, location of toilets, fire safety etc
  • Introductions to the mentors and speakers
  • The agenda for the day
  • Encouragements and tips to network (Pac-Man rule, being inclusive of those who don't want to network)

You can find an example welcome deck in the presentations/welcome folder. Instructions on using this deck are in the README in the presentations folder.

Code of conduct

You must provide a code of conduct, and enforce this. This code of conduct defines what behavior is unacceptable, and what behaviors are encouraged. This helps attendees, mentors, speakers and anyone else involved in the event feel safe knowing that if the worst happens and they are subject to harassment or behaviors that make them feel uncomfortable or welcome then something will be done to remove the harasser.

If anyone breaches the code of conduct they must be removed from the event, so ensure either you or one of the mentors (or event staff or security if your venue has these) are willing and able to do so. If attendees do not leave when instructed then you should call any relevant building security or the local police.

It is helpful to also provide a phone number or email address to communicate code of conduct breaches.

If you do not already have a code of conduct for your event, there are plenty of great examples around you can use to create your own. Also check with the event venue as they may already have one that all attendees must adhere to (for example, all Microsoft Reactor events are covered by a code of conduct defined and enforced by Microsoft).

It is also a good idea to have a sign by the event entrance with the code of conduct, so if anyone arrives late to the event they cannot claim not to have heard the rules.

Remember - everyone at the event must abide by the code of conduct, including the mentors, speakers and event staff.

Networking activity

Encourage attendees to form small teams and complete a quick challenge. Ideas for such activities are given in the Networking activities guide. This must be an optional activity, with team formation also being optional.

Get signed up with GitHub

Before attendees can get started, they need to have a GitHub account. This time is dedicated to introducing GitHub, directing folks to GitHub.com, talking through the account options and getting everyone signed up. After this, the attendees need to install a couple of tools to help work on code.

You can find this session in the presentations/get-signed-up-with-github folder. Instructions on using this deck are in the README in the presentations folder.

Mentors will need to be on-hand to help attendees with any issues around sign up.

Networking opportunity - connect on GitHub

As a networking opportunity, get attendees to find each other on GitHub and follow each other. This will not only foster connections between attendees, and make it easier to collaborate later on in the day, but it will also teach them about the social connection side of GitHub.

This must be optional so any attendees who do not wish to connect with others are not pressurized into doing so

The presenter should start by asking a mentor their GitHub handle, finding them on GitHub at GitHub.com/[handle], then following them.

Introduction to GitHub

This session is to get attendees up to speed with GitHub concepts such as repos, commits and pull requests. In this session attendees will create a new repo for their GitHub profile.

You can find this session in the presentations/intro-to-github folder. Instructions on using this deck are in the README in the presentations folder.

Mentors need to be on hand to provide support and unblock any attendees who hit issues.

Lunch

Lunch is an opportunity for attendees to not only rest from learning to allow ideas to cement themselves, but also provides an opportunity to re-fuel ready to learn more, and is an important time for networking.

  • Provide tables so attendees can sit and eat together
  • Encourage mentors to sit with attendees rather than have a 'mentors table'. Networking is important, so attendees will want to hear the mentors journey into tech and learn from them.

You can find more suggestions for the catering side of the lunch break in the catering section in our how to run this event guide.

Make your first contribution

This session is the attendees first opportunity to make a contribution to a 'public' GitHub repo. In this case, it is a contribution to the CubeFlyer game. This is a small game based off Flappy Bird that the attendees can play and make changes to.

More details are provided in the CubeFlyer section.

This first contribution should be instructor led. The Instructor should:

  1. Walk the attendees through how to access the code repo by creating a new repo from the CubeFlyer template repo
  2. Get the attendees to fork the code
  3. Show the attendees how to launch and play the game
  4. Walk the attendees through the code structure
  5. For their first pull request, the attendees need to add a new greeting to the constants.js file. The instructor should show them how to do this, then raise a pull request.
  6. Walk the attendees through the pull request, along with the process for code reviews, commenting on changes and approving and merging
  7. Get the attendees to add their own greeting and raise a pull request
  8. Merge some of the PRs and show merge conflicts
  9. Walk the attendees through resolving merge conflicts and updating their PR
  10. Get all the PRs merged

You can find this session in the presentations/make-your-first-contribution folder. Instructions on using this deck are in the README in the presentations folder.

Make your second contribution

This second session gives the attendees time to work on issues in their teams. Using the skills they've learned so far they should work on any open issues in the teams CubeFlyer repo.

You can find this session in the presentations/make-your-second-contribution folder. Instructions on using this deck are in the README in the presentations folder.

Wrap up

At the end of the day, you will need to wrap up the first day. Take a moment to thank all the mentors, and give a very quick review of the day. Remind everyone to return the next day for a whole day focused on open source so they can learn to use their new skills to contribute to projects.

You can find an example wrap up deck in the presentations/day-1-wrap folder. Instructions on using this deck are in the README in the presentations folder.