Skip to content

Instantly share code, notes, and snippets.

@Thatgirlcancode16
Forked from mbburch/prework.md
Last active March 23, 2016 17:53
Show Gist options
  • Save Thatgirlcancode16/28702dd984bf8d5c8ff1 to your computer and use it in GitHub Desktop.
Save Thatgirlcancode16/28702dd984bf8d5c8ff1 to your computer and use it in GitHub Desktop.
An example template for your Turing pre-work Gist

Turing School Prework- Denali Lord

Task A- Practice Typing: Completed. 27 wpm.

  • 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"?
@Thatgirlcancode16
Copy link
Author

3/9/16: Typing Practice: Perl Moose:

screen shot 2016-03-09 at 9 23 05 am

@Thatgirlcancode16
Copy link
Author

3/11/16: Typing Practice: Ruby on Rails

screen shot 2016-03-11 at 8 49 52 pm

@Thatgirlcancode16
Copy link
Author

3/11/16: Hashes Exercises:

One: Given a hash of family members, with keys as the title and an array of names as the values, use Ruby's built-in select method to gather only immediate family members' names into a new array.

screen shot 2016-03-11 at 10 19 52 pm

Two:Look at Ruby's merge method. Notice that it has two versions. What is the difference between merge and merge!? Write a program that uses both and illustrate the differences.

Merge simply merges two or more hashes together and does not modify the original data. Merge! modifies the hashes and becomes destructive.

Three: Using some of Ruby's built-in Hash methods, write a program that loops through a hash and prints all of the keys. Then write a program that does the same thing except printing the values. Finally, write a program that prints both.

Four: Given the following expression, how would you access the name of the person?
person = {name: 'Bob', occupation: 'web developer', hobbies: 'painting'}

To access the name, you could set up the hash: person[:name]

Five: What method could you use to find out if a Hash contains a specific value in it? Write a program to demonstrate this use.

Six: Given the array...

words = ['demo', 'none', 'tied', 'evil', 'dome', 'mode', 'live',
'fowl', 'veil', 'wolf', 'diet', 'vile', 'edit', 'tide',
'flow', 'neon']

Write a program that prints out groups of words that are anagrams. Anagrams are words that have the same exact letters in them but in a different order. Your output should look something like this:

["demo", "dome", "mode"]
["neon", "none"]

Seven: Given the following code...

x = "hi there"
my_hash = {x: "some value"}
my_hash2 = {x => "some value"}
What's the difference between the two hashes that were created?**

The difference is that the second hash does not have a symbol like the first hash.

Eight: If you see this error, what do you suspect is the most likely problem?

NoMethodError: undefined method `keys' for Array

A. We're missing keys in an array variable.

B. There is no method called keys for Array objects.

C. keys is an Array object, but it hasn't been defined yet.

D. There's an array of strings, and we're trying to get the string keys out of the array, but it doesn't exist.

The answer is letter B because there is this means that we are missing a method named keys.

@Thatgirlcancode16
Copy link
Author

3/14/16: Typing Practice: J Query

screen shot 2016-03-14 at 5 17 19 pm

@Thatgirlcancode16
Copy link
Author

3/14/16: Launch School: Files Exercises:

One:
screen shot 2016-03-15 at 7 32 57 pm

Two:
screen shot 2016-03-15 at 7 35 10 pm

screen shot 2016-03-15 at 7 36 33 pm

Another exercise that has me working with CSV and JSON/ XML. When I tried completing the exercise, I received this error message so I stopped.

screen shot 2016-03-15 at 7 49 31 pm

I tried again and talked with my husband, who told me that I needed to install the brew wget. I installed the wget package from brew and everything ran fine. The files were so large that I only took one screen shot of me requiring the files.

screen shot 2016-03-15 at 11 03 07 pm

@Thatgirlcancode16
Copy link
Author

3/15/16: Typing Practice: Ruby on Rails

screen shot 2016-03-15 at 7 53 08 pm

@adamcaron
Copy link

Nice work on the Haskell typing practice! I haven't done that one yet (but probably should!)

3/6/16: Launch School: Methods Exercises:

Looks like you're feeling comfortable with methods and passing arguments (the 'greeting', 'multiply' and 'scream' methods).

You're correct about the wrong number of arguments error. In Ruby, if a method expects a certain number of arguments and when the method is called without those args (and if there aren't default argument values) it spits out that error.

3/6/16: Launch School: Language Comparisons and Conditionals

false != !true You're right that != is a comparison operator. != asks, "Is it true that the first thing does NOT equal the second thing?" In this case, the first thing is false and the second thing is !true which is false therefor both the first thing and the second thing are false, which means our question ("Is it true that the first thing does NOT equal the second thing?") is false because the two ARE equal.

Note that with true == 4 true is not a 'string' type: it's a 'boolean' type.

Nice work on all these booleans comparisons! They can get tricky (but it's sort of fun, too!)


Fantastic work with the iterators (each and each_with_index), while loops, and recursion.


3/8/16: Array Exercises: Tricky stuff going on here but looks like you're understanding it nicely!

"Three: How do you print the word "example" from the following array?"
... Nice job! Note that in addition to arr.last.first one can also call the array elements specifically with arr[1][0].

"Seven: Write a program that iterates over an array and builds a new array that is the result of incrementing each value in the original array by a value of 2. You should have two arrays at the end of this program, The original array and the new array you've created. Print both arrays to the screen using the p method instead of puts."
... Great! In the future, you'll learn to use .map instead, which allows you to do

arr = [1,2,3,4,5]
new_arr = arr.map do |n|
  n + 2
end

p new_arr
 => [3,4,5,6,7]

We can talk more about this another time.


Nice work with hashes.

You're doing spectacular. Let me know if you'd like to pair on anything or if you have any questions at all. Good work, Denali!

@Thatgirlcancode16
Copy link
Author

3/18/16: Typing Practice: JavaScript:

screen shot 2016-03-18 at 8 15 29 am

@Thatgirlcancode16
Copy link
Author

3/18/16: Task G: Task G (final task)- Pre-work Reflection:

Were you able to get through the work? Did you rush to finish, or take your time?
I was able to get through Week 1 and then moved on to Priority 2 (Launch School) work. I did have to rush at times. I wish that we could have received notification of the required pre-work earlier to allow more time for completion and understanding. Since changing my start date for Turing to March, I booked a trip back to Atlanta to spend time with family that I haven't seen since last May. I did not have much time to work no the assignments during my trip and thus had to really push through the material before my trip.

What are you most looking forward to learning more about?
I am looking forward to everything- meeting everyone, reviewing concepts discussed in the pre-work and learning other languages.
What topics would you most like to see reinforced by instructors?
Here is a short list of things that I believe I need to continue to work on or that I did not have time to adequate prepare for:
Methods
Conditionals
Arrays (especially conditionals in arrays)
Hashes
File types
Did not have a lot of time to review Git. Need to discuss this.
What is most confusing to you about what you've learned?
Files is confusing. Hashes from the Launch School was confusing for me. Conditionals in arrays is also confusing for me.
What questions do you have for your student mentor or for your instructors?
I need to review my comments from my posts to look at very specific questions. In general, I would like review on material from conditionals, arrays, hashes, and files.

Thank you!

@adamcaron
Copy link

Hi Denali.

Great feedback! I appreciate it.

Firstly, congratulate yourself. You've truly set yourself up for success over the next 7 months. It may not seem so but the work you've submitted shows understanding and growth, and I believe it will pay huge dividends as your education unfolds. I am excited for you.

School has started so you will of course be busy. If you'd like, we can pair for fun on conditionals, arrays, hashes, and files. We can also pair on Git, which is really fun although you will have classes dedicated to teaching you and your classmates how to use git and over the coming months it will become second nature for you. Again, if you'd like to pair for half an hour (or more) one week, send a message on slack and, again, smile and give yourself a huge pat on the back. You rocked this pre-work!

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