Skip to content

Instantly share code, notes, and snippets.

@NicholasJacques
Forked from mbburch/prework.md
Last active January 18, 2017 19:15
Show Gist options
  • Save NicholasJacques/175c78659b607e9e5ba31a6ff22ca68b to your computer and use it in GitHub Desktop.
Save NicholasJacques/175c78659b607e9e5ba31a6ff22ca68b to your computer and use it in GitHub Desktop.
An example template for your Turing pre-work Gist

Turing School Prework - Nicholas Jacques

Task A- Practice Typing:

  • screenshots of scores will be posted in comments

Task B- Algorithmic Thinking & Logic:

  • screenshots of completed sections will be posted in comments

Task C- Create your Gist:

Task D- Set up your Environment:

  • Did you run into any issues?
  • How do you open Atom from your Terminal?
  • What is the file extension for a Ruby file?
  • What is the Atom shortcut for hiding/ showing your file tree view?
  • What is the Atom shortcut for quickly finding a file (fuzzy finder)?

Task E- The Command Line:

  • screenshots of your terminal after each exercise will be posted in comments

Day One Questions:

  • What does pwd stand for, and how is this command helpful?
  • What does hostname tell you, and what shows up in YOUR terminal when you type hostname?

Task F- Learn Ruby:

Option 1 Questions:

IRB

  • How do you start and stop irb?
  • What might you use irb for?

Variables

  • How do you create a variable?
  • What did you learn about the rules for naming variables?
  • How do you change the value of a variable?

Datatypes

  • How can you find out the class of a variable?
  • What are two string methods?
  • How can you change an integer to a string?

Strings

  • Why might you use double quotes instead of single quotes in Ruby?
  • What is this used for in Ruby: #{}?
  • How would you remove all the vowels from a string?

Input & Output

  • What do 'print' and 'puts' do in Ruby?
  • What does 'gets' do in Ruby?
  • Add a screenshot in the comments of the program you created that uses 'puts' and 'gets', and give it the title, "I/O".

Numbers & Arithmetic

  • What is the difference between integers and floats?
  • Complete the challenge, and post a screenshot of your program in the comments with the title, "Numbers".

Booleans

  • What do each of the following symbols mean?
    • ==
    • =

    • <=
    • !=
    • &&
    • ||
  • What are two Ruby methods that return booleans?

Conditionals

  • What is flow control?
  • What will the following code return?
apple_count = 4

if apple_count > 5
  puts "Lots of apples!"
else
  puts 'Not many apples...'
end
  • What is an infinite loop, and how can you get out of one?
  • Take a screenshot of your program and terminal showing two different outputs, and post it in the comments with the title, "Conditionals".

nil

  • What is nil?
  • Take a screenshot of your terminal after working through Step 4, and post it in the comments with the title, "nil".

Symbols

  • How can symbols be beneficial in Ruby?
  • Does naming symbols use the same rules for naming variables?
  • Take a screenshot of your terminal after working through Step 4, and post it in the comments with the title, "Symbols".

Arrays

  • What method can you call to find out how many elements are in an array?
  • What is the index of pizza in this array: ["pizza", "ice cream", "cauliflower"]?
  • What do 'push' and 'pop' do?

Hashes

  • Describe some differences between arrays and hashes.
  • What is a case when you might prefer an array? What is a case when you might prefer a hash?
    • Take a screenshot of your terminal after working through Step 2, and post it in the comments with the title, "Hashes".

Task G- Prework Reflection:

  • Were you able to get through the work? Did you rush to finish, or take your time?
  • What are you most looking forward to learning more about?
  • What topics would you most like to see reinforced by instructors?
  • What is most confusing to you about what you've learned?
  • What questions do you have for your student mentor or for your instructors?

Pre-work Tasks- One Month Schedule

(Note: You will most likely only get to the following sections if you have more than a week for your pre-work. If you are doing the one week pre-work schedule, you may delete this section of the Gist.)

Railsbridge Curriculum, cont.

  • Loops: Take a screenshot of your "Challenge" program, and post it as a comment in your Gist.
  • What challenges did you try for "Summary: Basics"? Post a screenshot of one of your programs.
  • Functions: How do you call a function and store the result in a variable?
  • Describe the purpose of the following in Ruby classes: initialize method, new method, instance variables.
  • How to Write a Program: Screenhero with your student mentor and share your program. Write a bit about what you found most challenging, and most enjoyable, in creating your program.

Launch School Ruby Book

  • screenshots will be posted in comments
  • What are your three biggest takeaways from working through this book?

CodeSchool

  • screenshots will be posted in comments
  • What are your two biggest takeaways from working through this tutorial?
  • What is one question you have about Git & GitHub?

Workflow Video

  • Describe your thinking on effective workflow. What shortcuts do you think you'll find most useful? What would you like to learn or practice that will most help you improve your speed and workflow?

Michael Hartl's Command Line Book

As you complete each section, respond to the related questions below (mostly taken directly from the tutorial exercises):

  • 1.3: By reading the "man" page for echo, determine the command needed to print out “hello” without the trailing newline. How did you do it?
  • 1.4: What do Ctrl-A, Ctrl-E, and Ctrl-U do?
  • 1.5: What are the shortcuts for clearing your screen, and exiting your terminal?
  • 2.1: What is the "cat" command used for? What is the "diff" command used for?
  • 2.2: What command would you use to list all txt files? What command would you use to show all hidden files?
  • 3.1: How can you download a file from the internet, using the command line?
  • 3.3: Describe two commands you can use in conjunction with "less".
  • 3.4: What are two things you can do with "grep"?
@NicholasJacques
Copy link
Author

1/17/17

Task F: Learn Ruby

Today I completed the Railsbridge Ruby Curriculum and all of the Ruby Challenges.

Input and Output Challenge:
"Create a program that echoes (or repeats) user input. Use puts and gets to make this program work."
inputer_and_output_challenge

Numbers and Arithmetic Challenge:
"Write a calculator that performs addition. Your program should prompt the user to enter two numbers and output the sum."
numbers_and_arithmetic_challenge

Conditionals Challenge:
"Using what you've learned about flow control, allow the user to select whether they would like two numbers to be added, subtracted, multiplied, or divided."
conditionals_challenge

Conditionals Challenge 2:
"As an optional challenge, can you modify this program to continuously ask for numbers?"
while_loop_challenge

Loops Challenge:
"Let's write a program that greets everyone in your group. Use an array to store everyone's name."
loops_challenge1

Loops Challenge 2:
"Let's write a program that adds up a set of numbers in an array. The numbers you can use as a test case are 4, 6, 5, 5, 10"
loops_challenge2

Bonus Challenges:
"Write a program that verifies whether someone can vote based on their supplied age."
vote_challenge

"Write a program that plays back the message a user supplied."
copy_cat_challenge

"Write a program that adds up five user-supplied numbers"
addition_challenge

"Make a hash for the people at your table, where the key is their name and the value is their favorite color."
hash_challenge

"Make an array of the months in the year."
array_challenge

Dice Program:
roller_program

Functions: How do you call a function and store the result in a variable?
To call a function you start with def followed by the functions names and a list of what you plan to send into the function. After this is the actual code that will be evaluated to the function. You then end the function. To later call this function you say its name and then send in the value to be acted upon by this function. You can then set this equal to a variable to store it.

Describe the purpose of the following in Ruby classes: initialize method, new method, instance variables.
Initialize saves the data that your object is created with. The 'new' method creates an instance of your object which will be passed into the initialize method. Instance variable behave like normal variables within a specific instance of an object. They can no be accessed outside this object.

How to Write a Program: Screenhero with your student mentor and share your program. In your Gist, write a bit about what you found most challenging, and most enjoyable, in creating your program.
My only confusion with this exercise is that this section doesn't seem to be right.

puts "Now we're rolling two 20 sided die twice!"
puts Die.new(20).roll(2)

Based on the program I wrote I would think that it would only be rolling two 20 sided die once, not twice. This is how it is worded in the previous step and I don't see anything that would have changed this from rolling the die once to twice. Not sure if "twice" is a typo or if I'm not understanding a step in the program.

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