# HW 1 Guide A: GitHub Skills

Every assignment in this course is a Git repository, and you submit it by
pushing commits. Part A makes sure the basics are in place before the data work
starts. [GitHub Skills](https://skills.github.com/) is GitHub's own set of
short, interactive tutorials. Each one runs inside a repository that you create
from a template, and a bot checks each step and replies with the next one as
you go.

## The three tutorials

Do these in order.

1. [Introduction to GitHub](https://github.com/skills/introduction-to-github):
   branches, commits, and pull requests, all in the browser.
2. [Communicate using Markdown](https://github.com/skills/communicate-using-markdown):
   the formatting used in READMEs, issues, pull requests, and the discussion
   board.
3. [Introduction to Git](https://github.com/skills/introduction-to-git): the
   same ideas from the command line, which is how you will work on every
   assignment.

Create each tutorial repository as **public** and in your own GitHub account,
not in the course organization, so that your completed work can be checked.

## Recording your work

Open `src/github_skills.py` in your HW 1 repository. For each tutorial, set
its `I_HAVE_COMPLETED_...` flag to `True` and paste the URL of the repository
you completed it in. Each tutorial is one test in `src/test_github_skills.py`
and worth one point.

## Further reading

The Week 1 session covers cloning, committing, and pushing with
[HW 0](./HW0.md). Later homeworks each add a few more GitHub Skills
tutorials: reviewing pull requests and resolving merge conflicts in HW 2, and
GitHub Actions in HW 4.
