Skip to content

Instantly share code, notes, and snippets.

@ericweissman
Last active January 1, 2024 08:55
Show Gist options
  • Save ericweissman/92594fbd254208c2922443fdd21d6ba5 to your computer and use it in GitHub Desktop.
Save ericweissman/92594fbd254208c2922443fdd21d6ba5 to your computer and use it in GitHub Desktop.

Session 3 Practice Tasks

The assignments listed here should take you about 1 hour in total.

CAREFULLY READ ALL THE INSTRUCTIONS BEFORE STARTING THESE EXERCISES!

To start this assignment:

  1. Click the button in the upper right-hand corner that says Fork. This is now your copy of the 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.

Task 1: Practicing Git Workflow and Pushing a Repo to GitHub (20 min)

  1. From your command line, make a directory git_and_gh_practice with two files inside: hobbies.txt and travels.txt.
  2. Initialize git, and your two files, and make an initial commit.
  3. Use your text editor to open hobbies.txt.
  4. Add some text about your hobbies.
  5. Add the changes and commit.
  6. Use your text editor to open travels.txt.
  7. Add some text about your favorite vacation or travel experience.
  8. Add the changes and commit.
  9. On GitHub, create a new repository.
  10. Add the remote to your local repository.
  11. Push your repository to GitHub.

🍩 TURN THIS INTO A LINK TO YOUR REPOSITORY 🍩

Task 2: Forking a Repo on GitHub and Creating a Pull Request (30 min)

  1. Fork the Mod 0 Resources repository.
  2. Open your terminal
  3. Clone your fork to your computer (git clone <url>).
  4. cd into your cloned repository.
  5. Make a new file with the pattern lastname_firstname_resources.md.
  6. Open the file you just created in your text editor.
  7. Create a list of some of your favorite resources so far related to coding/Turing/git/GitHub/etc. These resources do not need to be ones that we've discussed in class. They can be anything that has helped you so far in your journey to learn software development.
  8. Add your changes.
  9. Commit your changes with a properly formatted commit message.
  10. Push your changes to your fork.

This next part is not something we discussed during Session 3 and will involve some figuring out on your own.

  1. Use the site:help.github.com Googling trick to search GitHub's help area to figure out how to create a pull request from a fork. It may also be helpful to figure out what pull request means and do additional research!
  2. Open a pull request for your changes.

Once your pull request is open, you're done! You don't need to submit or paste anything since we will get a notification that you've opened a pull request.

Task 3: OOP and Bottles (20 min)

  • Watch this video. Next, create an idea for a class of your own. In the space below, outline your class idea.

What attributes and methods would it have? What data types would those attributes have, and how would the methods use/update those attributes?

Think of an instance of that class. What data would it have stored in its attributes? How would the methods affect or use that data?

Remember to follow correct naming conventions!

Use the example below for guidance. DO NOT MAKE A STORE CLASS FOR YOUR EXAMPLE!

Class: GroceryStore

Attributes
- isOpen (boolean)
- sellsBooze (boolean)
- address (string)
- manager (string)
- hoursOpen (integer)
- cartsAvailable (integer)
- produceInventory (array)
- employees (array)

Methods
- openStore (updates the isOpen attribute)
- adjustHours (updates the hoursOpen attribute)
- hireEmployee (updates the employees attribute)
- retrieveCart (updates the cartsAvailable attribute)
Instance: Sprouts

Attributes
- isOpen = false
- sellsBooze = true
- address = "3555 N Central Park Blvd, Denver, CO 80238"
- manager = "Corey Lahey"
- hoursOpen = 24
- cartsAvailable = 55
- produceInventory = ['carrots', 'cabbage', 'rutabaga']
- employees = ['Randy', 'Julian']

Methods
- openStore (isOpen = true)
- adjustHours (hoursOpen = 18)
- hireEmployee (employees = ['Randy', 'Julian', 'Ricky'], adds Ricky to employees array)
- retrieveCarts (cartsAvailable = 56)

Your Turn

Class:

Attributes
-
-
-
-
-

Methods
-
-
-

Instance:

Attributes
-
-
-
-
-

Methods
-
-
-

4. Self Assess

Using the rubric below, assess how you did with these exercises. These are the same metrics your instructors will use to determine if you are prepared for Mod 1!

  • I read carefully read ALL directions
  • I completed all parts of the exercises (not including Extensions) to the best of my ability
  • I used correct syntax, spacing and naming conventions
  • I followed ALL formatting instructions
  • I pushed myself out of my comfort zone and experimented/broke things to try to learn
  • I spent no longer than 20-30 mins Googling a specific problem before asking for help
  • I went back to the lesson to search for clarification before asking for help

Stuck? Having Issues?

Are you stuck on something? Here is the BEST way to ask for help:

  • Find the Session 3 HW Thread in your Mod 0 Slack channel
  • Start or reply in the thread with the problem you are facing. Be sure to follow the guidelines for asking questions below:
    • I can explain what I am trying to do or accomplish
    • I can what I have tried so far and/or what resources I've tried online
    • I can describe specifically what I am stuck on
    • I provided screenshots and/or code examples to give context
      • If I provided short code examples, I used inline code formatting for single lines of code/error messages
      • If I provided larger blocks of code, I used a code snippet in the correct format (such as .js or .rb)
  • Usually, your classmates will be able to answer your question or point you in the right direction very quickly! If not, an instructor will reply within 24-48 hours
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment