Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Jessiewithani/da2ae3f60a130a54cbff894cc9bfdc86 to your computer and use it in GitHub Desktop.
Save Jessiewithani/da2ae3f60a130a54cbff894cc9bfdc86 to your computer and use it in GitHub Desktop.
Mod 0 Session 4 Readings and Responses

Session 4 Readings and Responses

The readings and responses listed here should take you approximately 50 minutes total.

To start this assignment:

  1. Click the button in the upper right-hand corner that says Fork. This is now your copy of this document.
  2. Click the Edit button when you're ready to start adding your answers.
  3. To save your work, click the green button in the bottom right-hand corner. You can always come back and re-edit your gist.

Assignment 1 (30 min)

Read Turing Instructor David Whitaker's article on Git and GitHub

  • Use the article and outside resources (Google!) to describe the general process of a collaborative git workflow in the space below.

A collaborative git workflow consists of 6 stages: 1. Branching: makes changes possible while trying out new ideas, 2. Adding Commits: this lets you keep track of your progress. Also allows others to see the steps “history” thats been done throughout the progression stage as well., 3. Opening a pull request: this process allows the changes (commits) that have been made to be considered, 4. Discussing and reviewing the code: this process allows feedback on the pull requests that have been made, 5. Test Run: this is like a checkpoint stage. Before things get finalized, you can see what else needs to be changed or added,or simply if it actually works and 6. Merging: After everything is finalized (final copy), you can now merge with the master branch.

Assignment 2 (10)

  • Watch Tim's video on classes and objects.
  • In the space below, come up with your own example of a class (like "bottle") and several objects (like "spray bottle", "nalgene", etc.):
    Class: Social media
    Instances: Tumblr, Snapchat, KakaoTalk, HelloTalk, Marco Polo
    Attributes: Post_Type (string), Number_of_followers (Integer), Number_Of_Posts (Integer), Liked_Image (boolean)
    People_To_Follow (array)
    Methods: Number_Of_New_Followers, Number_Of_People_That_Unfollowed, New_Likes, Unlikes

Assignment 3 (20 min)

In preparation for our final technical session on Tuesday, read FreeCodeCamp's Object Oriented Programming Concepts. This article touches on four big concepts: encapsulation, abstraction, inheritance, and polymorphism. Although the final two are beyond the scope of Mod 0, it's good to be exposed to unfamiliar terms so that when you hear them the second time around, they make more sense. After reading the article, describe in three sentences or less each of the concepts in your own words. Feel free to use Google to supplement your understanding.

  • Encapsulation: the process of encapsulation is similar to grouping the same information for a “top secret" project (object) in one profile (unit/class). This is all private and no other methods (like add ons) can have access to it unless given permission. By doing this, only the “inside people” can review/make changes to the project without having outside interference.

  • Abstraction: this is like the “user friendly” mode. In a sense, to compare, it’s like knowing the general functions of something as easy as a phone, but you don’t necessarily need to know the complexities behind those functions, you just need to know pretty much what they do, not how they operate. It’s easy to use, and stays consistent over time. Abstraction only reveals what is necessary, and keeps all the complex information behind closed doors.

  • Inheritance: In a sense, you can say inheritance is like a template that can be downloaded. Instead of having to start a project from scratch, inheritance allows the information to get “downloaded”, so all you have to do is add your personal touch to it. It enables the objects to get compared and contrasted easier to see what more needs to be done.

  • Polymorphism: The point of polymorphism is to have the same end goal, but allowing different approaches to get there. It allows several types of objects to be accessed through the same interface. Even though you’re using the interface “parent interface”, polymorphism makes it possible to be utilized in several different forms (different approaches/different options). Similarly it’s like a name with different meanings to it.

Assignment 4 (40 min)

Skim this intro to Markdown. It's not necessary to memorize because you can always come back to it as a reference.

Next, make a new gist of your own by clicking the New Gist button in the upper right-hand corner of the screen. Create a "Beginner's Guide to Git" documenting your git knowledge so far using Markdown. Incorporate each of the following features into your Gist:

  • at least two headings of different sizes
  • at least one numbered list
  • at least one bullet point list
  • at least one bold word/phrase
  • at least one italic word/phrase
  • at least one inline code block (greyed text)
  • at least one image
@katiescruggs
Copy link

Great work, @Jessiewithani! Nice explanation of git workflow. Even though you may not deploy all / many of your projects at Turing, step 5 could be seen as making sure the code on that branch works completely before merging it into master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment