Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ayladharamsey/3571ab4e73c762009919a87db6a8be16 to your computer and use it in GitHub Desktop.
Save ayladharamsey/3571ab4e73c762009919a87db6a8be16 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.
  • In my previous job experience, we used a version of Git called Abstract (which mostly mirrored Github's workflow) to use it in this collaborative process. I would open and create a new file, design whatever I wanted, then commit the file to my project's repo. Every design milestone, our team would individually visit the repo and provide design feedback in the form of issues. If they felt they could only really describe their idea by physically designing it, they would make a branch of my file, and send their updated branched file over for review. Within Abstract, you can physically see the differences between the design files, and we would review thingss. We could choose what elements to keep and discard from each, merging the two files into a new commit, and push up. We repeated this process as much as necessary.

Assignment 2 (10 min)

  • 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: Car Objects: Honda CRV, Subaru Forester, Volvo CX90 Attribute Type: Color, Door Number, Tire Size

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: Encapsulation refers to ability to bundle data & methods that work with that data, within one class in Javascript. This is beneficial because it controls access to the internal state of the object.

  • Abstraction: Abstraction refers to each object only exposing the highest-level mechanism in order to use it. Though there may be super complex data and methods to implement what you are attempting to do, you don't need to understand that in order to interact with the object.

  • Inheritance: Inheritance refers to the reuse of common logic from a parent object to a child object. Inheritance is great, because you can create a class by deriving it from another class, but the child class can still implement it's own field's and methods. It is nice, because if you have a field or method that needs to be used everywhere, but also changed for the future, you can change that at the parent method and it can be applied to all child methods.

  • Polymorphism: Polymorphism is similar to inhertiance, but regarding methods. It gives a way to use a child class exactly like it's parent, though there may be some changes. Though the children classes might be different, they can be processed the same way that a parent class is.

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, a new gist of your own by clicking the New Gist button in the upper right-hand corner of the screen. Create a "Beginners Guide to Git" documenting your git knowledge so far using Markdown. Incorporate each of the following features into your Gist:

@katiescruggs
Copy link

Great work, @ayladharamsey! It's cool that you used a tool that is so similar to Git at your previous job. I'm sure that will come in handy!

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