Giter Site home page Giter Site logo

01_git_and_intro's Introduction

01_Git_and_Intro

Practice with basic git functions, and intro to study of Data Structures

Reading

Version Control with Git, 2nd Ed. Loeliger and McCullough.

http://proquest.safaribooksonline.com/book/databases/content-management-systems/9781449345037/version-control-with-git/id302681?uicode=ohlink (Free access through www.lib.miamioh.edu, but limited to 100 simultaneous users across all OhioLink. I recommend downloading/printing the required readings ahead of time, just in case.)

Read only the following:

  1. Chapter 1
  • Background
  • The Birth of Git
  1. Chapter 3: Getting Started
  • Intro
  • The Git Command Line
  • Quick Introduction to Using Git (read all sections)
  • Configuration files (Intro only, may skip part on aliases)
  1. Chapter 4: Basic Git Concepts
  • Basic concepts (read all)
  • Object store pictures
  • Git concepts at work (read all)
  1. Chapter 21: Git and Github
  • Repo for Public Code
  • Creating a GitHub Repository
  • Forks
  • Creating Pull Requests
  • Managing Pull Requests
  • Coding Models

Open Data Structures in C++. Morin.

http://opendatastructures.org/ (Free access. I recommend downloading the PDF version.)

Read the following:

  1. Chapter 1 (pp. 1-20)

Homework

  1. Create an account with github.com. You may select the free account. If you want to get some free private repos, you may apply at https://github.com/edu
  2. Go to https://github.com/MiamiOH-CSE274/01_Git_and_Intro and fork the repo, which will create a copy of it in your github account.
  3. Install git on your computer, if you do not already have it. I recommend installing http://windows.github.com/ if you use windows, or http://mac.github.com/ if you use Mac. HOWEVER, I highly recommend using the command-line tools for everything, and ignoring the GUI. I will not be providing help with configuring/using the GUI.
  4. Clone your repo from github to your computer. When you are at the web page for your repo, https://github.com/[your github id]/01_Git_and_Intro, you will see info about how to clone it. The easiest way is to go to the command line terminal, and type git clone [email protected]:[your github id]/01_Git_and_Intro.git
  5. Checkout your personal branch from the repo. Each student has a branch labeled by their Miami uniqueid. git checkout uniqueid ... for example, I would do git checkout brinkmwj
  6. Complete the exercises below by modifying this file.
  7. After you complete each answer, be sure to create a new commit with the changes (using git add README.md and git commit -m as appropriate). Also, be sure to upload to github frequently by using git push
  8. If I don't see at least 4-5 commits on this homework, I'm going to be unhappy.
  9. Once complete, send me a pull request. You should send from your branch in your github repo, to your branch in the MiamiOH-CSE274 repo. This is your official "turn in" of the homework, which I will grade.
  10. Double check that you did the right thing by going to https://github.com/MiamiOH-CSE274/01_Git_and_Intro/pulls and making sure that your pull request is there, and looks like you expect. Optimism is the root of all evil.

Exercises

1. Based on the reading in the Git book, is it okay to keep your local copy of your repo on a USB drive and just carry it around? Explain why or why not. What about keeping it on the M: drive?

[Your answer here]

2. Imagine that you come into the lab on the weekend to work on homework with friends, but you forgot to bring your USB drive with your repo on it. What should you do?

[Your answer here]

3. Morin, Exercise 1.1 (p. 23)

[Your answer here]

4. Your choice: Morin, Exercise 1.2, 1.3, or 1.4 (pick one)

Note: You should not need to write any real computer code for any of these. Instead, explain how you would approach the problem using a combination of English and pseudocode. The goal is to write something that is understandable by any programmer, even if the two of you have never used the same computer language. (In other words, assume the other person does not know the syntax of Java or C/C++, but knows the basic programming constructs such as for loops, if statements, variables, and so on.)

[Your answer here]

5. Define/explain each of the following terms, as they relate to git.

  1. blob - TODO
  2. tree - TODO
  3. commit - TODO
  4. repo - TODO
  5. hash - TODO

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.