Your first assignment for this course is to become accustomed to how GitHub and GitHub Classroom works because we will be using it extensively in the class for your projects and for assignment submission. There are two parts to the assignment and you need to complete both of them to receive credit.

Tutorials

There are several tutorials you should go through if you are not familiar with GitHub. And even then, it’s a good idea just to refresh yourself.

Part 1 - Fix My Mistakes

If you do not have a GitHub account, go to https://github.com and create one before going any further.

Once you have an account, you can accept the assignment in GitHub Classroom. When you do that a repository will be created for you. It will be called project-0-github-yourgithubname and the URL should look like https://github.com/USM-COS470-S18/project-0-github-yourgithubname. You should clone and work with this new respository. It will also be where you push your submission. Other assignments/projects will work similarly.

The repository that was created when you accepted the assignment has 4 files in it that are part of this assignment. There are two programs and three problems to fix.

You need to do the following:

  • Create a branch and name it something meaningful
  • Correct the mistakes in each program (they are all small, silly things…)
  • Document your changes both in the code with comments and in the README.md
  • Document which tool you used to work with git (command line, GitKraken, GitHub’s own GUI tool, etc.) in the README.md
  • Commit and push your branch back to GitHub
  • Create a pull request with comments to merge the branch
  • Merge the branch back into master
  • Don’t delete your branch (or anything else with the process). We will be checking these!

Part 2 - Tell Me About Your Winter Break!

NOTE: Before this step will work, I need to add your GitHub Username to the class group for the repo. Do that on the Google form. I will try to update the group members consistently, so check back here in a day or so after you register.

  • Go to https://github.com/USM-COS470-S18/cos470-group
  • Fork and then clone the repository to your working area.
  • Create a branch named with your GitHub username.
  • Add a section, similar to the first one (mine) and tell us what you did over your break.
  • Create a Pull Request (PR) to have your changes added to the master branch.

Submission Notes

When we work with GitHub this semester, we will take the state of your repos at the start of class on the due date and use that for grading. There is nothing you need to do specifically in GitHub.

Definitions

The Internet Engineering Task Force (IETF) Best Practice Document RFC 2119 Key Words for use in Request For Comments (RFC) to Indicate Requirement Levels defines several keywords that are used in this assignment and throughout the course. Pay special attention to where they appear in the assignment.

Some of the keywords used in this assignment are as follows;

MUST: This word, or the terms REQUIRED or SHALL, mean that the definition is an absolute requirement of the specification.

SHOULD: This word, or the adjective RECOMMENDED, mean that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be under.

MAY: This word, or the adjective OPTIONAL, mean that an item is truly optional. One vendor may choose to include the item because a particular marketplace requires it or because the vendor feels that it enhances the product while another vendor may omit the same item.