CS351 Spring 2021 Homework 1

Git, GitHub, and Markdown

Dr. Greg M. Bernstein

Due Wednesday, January 27th, 2021 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.

Tips:

  1. Do not use directory names with spaces in them within your repository!
  2. Do not use the # or other “weird” characters in file or directory names!
  3. Do not have directories or files in a repository that only differ only in their capitalization!
  4. 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 in this homework.

Use README.md for Answers

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

Questions

Question 1. (10 pts)

Establishing your GitHub Classroom remote repository.

1(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 on your computer.

Come back later after Problem 3 and include the screen shot here from above as your solution via Markdown. I got something like this last semester (yours will be different!):

GitHub repo view

1(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 here from above as your solution via Markdown. I got something like this last semester (yours will be different):

Local directory view

Question 2. (10 pts)

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

2(a)

Edit the local (cloned) 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. Leave a blank space in your answer sheet so I know you did this question.

**Your name**

**NetID: yourNetID**

# Homework #1 Solution

## Question 1

## Question 2

Commit the changes to your local repository via git.

2(b)

In the images directory delete any sample image files I may have given you. 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 got something like this last semester:

Git command line history

2(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

GitHub view of changed README.md

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…

3(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.

3(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:

# Question N
## (a)

Solution stuff here ![Image title](images/yourImageName.png or .jpg)

## (b)

Etc...

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

Question 4. (10 pts)

4(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.

4(b)

Make a bullet list of at least two operating systems that you have used in the past.

4(c)

Make a bullet list of at least two code editors/IDEs that you have used.

Question 5. (10 pts)

5(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 of code are allowed in this class!