# Session 2 Practice Tasks The assignments listed here should take you approximately 2 hours. To start this assignment, click the button in the upper right-hand corner that says **Fork**. This is now your copy of the document. Click the **Edit** button when you're ready to start adding your answers. To save your work, click the green button in the bottom right-hand corner. You can always come back and re-edit your gist. ### 1. Documentation and Googling (75 min) Documentation of a langauge, framework, or tool is the information that describes its functionality. For this part of the practice tasks, you're going to practice digging into documentation and other reference material. **NOTE:** The linked documentation for each question below is a good starting place, but you should also be practicing your Googling skills and sifting through the results to find relevant and helpful sites. - [ ] In your own words, what does the Ruby array [drop](https://ruby-doc.org/core-2.4.0/Array.html#method-i-drop) method do? As you're explaining, be sure to provide an example. Your answer: - [ ] What did you Google to help you with this task, and how did you pick your results? - [ ] In your own words, what does the Ruby array [push](https://ruby-doc.org/core-2.4.0/Array.html#method-i-push) method do? As you're explaining, be sure to provide an example. Your answer: - [ ] What did you Google to help you with this task, and how did you pick your results? - [ ] In your own words, what does the Ruby string [split](https://ruby-doc.org/core-2.4.0/String.html#method-i-split) method do? As you're explaining, be sure to provide an example. Your answer: - [ ] What did you Google to help you with this task, and how did you pick your results? - [ ] In your own words, what does the JavaScript array [slice](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice) method do? As you're explaining, be sure to provide an example. Your answer: - [ ] What did you Google to help you with this task, and how did you pick your results? - [ ] In your own words, what does the JavaScript object [values](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values) method do? As you're explaining, be sure to provide an example. Your answer: - [ ] What did you Google to help you with this task, and how did you pick your results? ### 2. Data Types (15 min) Imagine that you're taking your favorite board game and turning it into a computer-based game. - [ ] Name of board game: ______ - [ ] Use the space below to categorize game data into each of the following data types. You should have a **minimum of two** pieces of data for each category. 1. String data: 1. Integer and/or float data: 1. Boolean data: 1. Array data: 1. Hash or Object data: ### 3. Iteration (30 min) - [ ] On a blank sheet of paper, create a diagram that shows how you understand iteration working. Be detailed and get creative! When you're done, take a photo of your diagram and post it in the Mod 0 channel on Slack. Your instructor(s) will provide feedback in a thread. _(If you're feeling extra fancy, feel free to create your diagram using software instead of pencil and paper)_ - [ ] Create a list below of **three real-life situations** where iteration is used. For each situation, explain why it would be an example of iteration. - - - - [ ] Create a list below of **three programming situations** where iteration would be used. For each situation, explain why it would be an example of iteration. - - - ### 4. Modify your Bash Profile (10 min) - [ ] Watch [this video](https://drive.google.com/file/d/1s_CDBnxHSA0HDWldjosulthAvBi-C-d5/view?usp=sharing) and follow each step to modify your own bash profile. As mentioned in the video, you will need this snippet below: ``` # get current branch in git repo function parse_git_branch() { BRANCH=`git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'` if [ ! "${BRANCH}" == "" ] then STAT=`parse_git_dirty` echo "[${BRANCH}${STAT}]" else echo "" fi } # get current status of git repo function parse_git_dirty { status=`git status 2>&1 | tee` dirty=`echo -n "${status}" 2> /dev/null | grep "modified:" &> /dev/null; echo "$?"` untracked=`echo -n "${status}" 2> /dev/null | grep "Untracked files" &> /dev/null; echo "$?"` ahead=`echo -n "${status}" 2> /dev/null | grep "Your branch is ahead of" &> /dev/null; echo "$?"` newfile=`echo -n "${status}" 2> /dev/null | grep "new file:" &> /dev/null; echo "$?"` renamed=`echo -n "${status}" 2> /dev/null | grep "renamed:" &> /dev/null; echo "$?"` deleted=`echo -n "${status}" 2> /dev/null | grep "deleted:" &> /dev/null; echo "$?"` bits='' if [ "${renamed}" == "0" ]; then bits=">${bits}" fi if [ "${ahead}" == "0" ]; then bits="*${bits}" fi if [ "${newfile}" == "0" ]; then bits="+${bits}" fi if [ "${untracked}" == "0" ]; then bits="?${bits}" fi if [ "${deleted}" == "0" ]; then bits="x${bits}" fi if [ "${dirty}" == "0" ]; then bits="!${bits}" fi if [ ! "${bits}" == "" ]; then echo " ${bits}" else echo "" fi } export PS1="\u\w\`parse_git_branch\` " ``` ### 5. Questions/Comments/Confusions If you have any questions, comments, or confusions from the any of the readings that you would an instructor to address, list them below: 1.