Agenda

8:00-8:20: Welcome & Warm Up Activity: Zoo Tycoon!

If anyone remember’s this early 2000’s business simulation video computer game, you’ll recall that this world focus around building and running successful zoo scenarios. Here we will quickly do a simplified version with a focus on project managment.

  • Form groups of ~4 people
  • Set up a project board on the table or wall. Prepare 4 columns with blue masking tape for each stage of production:
    • Ideas: Generate good, bad, and maybe ideas!
      • Pick an exhibit to build (e.g., reptiles, mystical sea monsters, dinosaurs, insects, safari) and collaboratively decide what your exhibit needs and write down each “task” (aka drawing assignment) on a post-it (e.g., animals, toys for animals, benches, bathing pools).
    • Ready to work on: The idea now has a clear path forward and someone can pick up the task.
      • Organize tasks to get the ready for deligation.
    • In progress: Assign tasks and get to work! Let your team mates know you’re on it.
    • Done: You did it! Let your team mates know you got the job done.
  • (5 min each:) Report out! What was in your zoo/exhibit and how efficient was the team at getting the task done?

8:20-8:40 Lecture and Demo: Introduce GitHub

  • What are goals are for today
  • Introduce GitHub in the browser
  • Introduce GH Project Boards
  • Show how to add “cards”

8:40-9:10 Learning in practice: Add tasks to your GitHub Project Board

  • Each team member comes up with a topic with 2-3 sub topics
  • Choose topic ideas and assign tasks In the project, add tasks with the “+ Add tasks” button at the bottom of the “New” column. These need to be simple tasks that will take ~5 minutes.
  • Make each of your tasks into issues Make a bulleted list of
  • Make each of your subtasks issues Within the main issue, you can make your bulleted tasks into issues. Click on the issue title on the webpage, scroll over to each subtask and on the right hand side you will see an icon to make it into an issue.

9:10-9:30 Lecture and Demo: Edit markdown documents in the browser

  • Introduce more GitHub terminology
  • Adding text
  • Adding images
  • Adding links
  • Committing
  • History

9:30-9:45 Learning in practice: Edit your sandbox markdown file and commit your changes

9:45-10:00 Demo and Lecture: Using branches

Why do we need branches? Bad things happening if you are not careful about how and when you commit changes!

  • What is a branch
  • How to create a branch
  • How to make sure you are on your branch
  • Work on [group name].md in our OWN branch

10:00-10:30 Learning in practice: work on tasks in your own branch

  • Find your branch You can click on the hyperlink in the issue or find your branch on the branches page of the repo. Each branch will be named with the number of your issue and the name of the issue.
  • Move all tasks on the project board to done.
  • Work on your tasks in your branch. Move all tasks on the project board to from idea, ready, in progress, and done!

10:30-10:45 Lecture and Demo: Using pull requests

Demo: Eli and Em doing their 2 pull request from their branches on bridges.md. Eli will commit to main. Em will commit to main after Eli and there will be a merge conflict!

  • What is a Pull Request
  • How to do a Pull Request from the browser

10:45-11:00 :tea: Break with Light Refreshments :doughnut:

11:00-11:30 Learning in practice: Take time to organize and do your pull requests

  • Add new tasks with the pull requests
  • Decide on commit order (aka, who will commit first, second, etc.)
  • As you complete pull requests and resolve the merge conflicts, you might come up with new tasks

11:15-11:30 Lecture: GitHub issues

  • Quick introduction; show how to search for an issue and add to board

11:30-11:45 Talk about next learning steps & demo

  • Other GitHub Kanban board features
  • Creating issues and using them to build branches and complete tasks (and auto move tasks across your Kanban board!)
  • More about project management in GitHub

11:45-12:00 Discussion