Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save cbmackintosh/d871fd43ba668d0f95f19250db3eadcf to your computer and use it in GitHub Desktop.
Save cbmackintosh/d871fd43ba668d0f95f19250db3eadcf to your computer and use it in GitHub Desktop.
Mod 0 Session 3 Practice Tasks

Session 3 Practice Tasks

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

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.
  • Paste the link to your repository here:

https://github.com/cbmackintosh/session3practice

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.
  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 consider naming conventions!

Class: Spacecraft

attributes:
* crewRoster (array)
* launchDate (string)
* fuel (float)

methods:
  • boardCrew (modifies crewRoster attribute)
  • changeLaunchDate (modifies launchDate attribute)
  • burnFuel (modifies fuel attribute)
Instance: Apollo 11

attributes:
* crewRoster [Neil Armstrong, Buzz Aldrin, Michael Collins]
* launchDate 07/16/1969
* fuel 100.0

methods:
* Boarding the crew would change the crewRosteer array from blank to including the names of all astronauts on-board.
* The launch date could be changed due to weather conditions. This would amount to a changeLaunchDate method modifying the launchDate attribute. launchDate could also be 'cancelled.'
* The mission starts with 100% fuel, which is why I gave that attribute a float value of 100.0. Anytime fuel is burned to power the engines or stabilize the lunar lander, the fuel attribute is depleted.
@francepack
Copy link

@cbmackintosh
Nice work getting in those commits, and a pull request! I like that your commit messages are consistent. Perhaps you've read more about this by now, but commit messages after your Initial commit are often written in the imperative voice, like a command.

Great job with your class! I really like that you have imagined how your methods will change your attributes, and that your method names follow a pattern of starting with an active verb. With this in mind- I may suggest avoid beginning attributes with words that could seem verby. This is not a big deal, but could avoid some confusion. launchDate is the attribute I see here in question.

Let me know if you have questions- keep it up, almost there!!

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