CS 351 Spring 2020 Homework 1

Git, GitHub, and Markdown

Dr. Greg M. Bernstein

Due Wednesday, January 29th, 2020 by 11:59PM, 50 points.

General Instructions

The goal of this homework is to get you functioning with git, GitHub, and Markdown as we will be using these tools throughout the course. This homework will take you step by step through establishing your GitHub repository, cloning that repository on your local machine, making edits and additions locally and committing them locally, and pushing changes up to your GitHub repository to share with me.

Note this homework parallels what I did when producing the Git for Class, and GitHub Class Procedures slides.

Tips:

  1. Do not use directory names with spaces in them within your repository.
  2. Do not have directories in a repository that only differ in their capitalization.
  3. Put your repo in a directory that is relatively easy to get to via a command line.

Use Branch master

We will use the default git master branch, i.e., no branching is required on this homework.

Use README.md for Answers

You will modify the README.md file to contain the answers to this homework.

Questions

Question 1. (10 pts)

Establishing your GitHub Classroom remote repository.

(a)

Go to the link for GitHub classroom given out on Blackboard to create your repository for assignments for this class. Take a screen shot of the web page for your repository and save it temporarily somewhere.

Come back later after Problem 3 and include the screen shot from above as your solution via Markdown.

(b)

Install Git on your local machine if needed. Clone the repository locally on your machine as explained in the class slides. Take a screen shot of the cloned directory in your file manager (you may need to make hidden folders visible to see the .git directory) and save it temporarily somewhere.

Come back later after Problem 3 and include the screen shot from above as your solution via Markdown. I get something like:

Question 2. (10 pts)

Editing, Committing, and Pushing your local version of README.MD.

(a)

Edit the local clone version of the README.md file to contain only the following information. Clear out any extra stuff that it may have had at the start. Be sure to fill in your name and NetID with the real values.

Commit the changes to your local repository via git.

(b)

In the images directory delete the ScreenShotEx.png file. This was just a sample image file. You will want to clear out screen shots from previous assignments as you start a new assignment.

Commit the changes to your local repository. Take a screen shot of the command line after you’ve done the above and issued the command git log. Come back later after Problem 3 and include the screen shot from above as your solution via Markdown.

I get something like:

(c)

Push your local changes up to your GitHub repository with the command: git push. Take a screenshot of the Web page of your GitHub repository that shows part of your rendered README.md file, i.e., something like

Come back later after Problem 3 and include the screen shot from above as your solution via Markdown.

Question 3. (10 pts)

More Git practice…

(a)

In on your local machine in your working directory for your repo in the images directory add all the screenshots from problems 1 and 2 to this directory. Commit all these changes locally. Be sure that the image directory and files were included.

Leave a blank spot for this question on your answer sheet so I know you did this question. I’ll be checking your repo.

(b)

Push these changes to your remote repository. Now you can go back and add in your solutions (screen shots) to problems 1 and 2. Use Markdown of the form:

Leave a blank entry for this question. Be sure to make sure your images come through in the rendered Markdown, otherwise you will not receive credit.

Question 4. (10 pts)

(a)

Make a ordered list (via Markdown) of at least three programming languages you are familiar with (or have heard of) in order of those that you have used the most.

(b)

Make a bullet list of operating systems that you have used.

(c)

Make a bullet list of code editors/IDEs that your have used.

Question 5. (10 pts)

(a) Code sample

For one of the programming languages you listed in problem 4(a) show a nicely formatted and syntax highlighted snippet of code between 6 to 15 lines long. You must use Markdown based mechanisms to show this snippet, no screenshots are allowed.