GithubHelp home page GithubHelp logo

bjf-flatiron / immersive-mod-1-introduction-hashketball-review Goto Github PK

View Code? Open in Web Editor NEW

This project forked from learn-co-curriculum/immersive-mod-1-introduction-hashketball-review

0.0 1.0 0.0 20 KB

License: Other

immersive-mod-1-introduction-hashketball-review's Introduction

hashketball-group-readme

Overview

  1. With your table - walk through your solutions to hashketball!

Instructions

Step 1: One person from your table should put their code for hashketball onto the monitor

discussion

The point of this exercise is to help each other better understand the lab, and more importantly, to better understand hashes. If you feel that your overall solution is not the best, or if you had a hard time with some of the tests, then it is in your best interest to volunteer to share your code with the group. This will allow the table to help with those issues and, chances are, someone else at your table ran into similar problems and could also benefit from the discussion.

Step 2: Your table should take turns walking through each test

When it is your turn to walk through the code, you'll have two options:

  1. You can talk through the solution on the monitor for the test you are on:

How do we talk through a solution? Well, start by describing it line by line. What arguments are being sent into the method? How are they being changed or altered on each line? What does a particular line return? Under what circumstances would that line be invoked? What do you expect will be the final return value or output of the method?

  1. You can attempt to solve the test from scratch while someone else codes your solution

Try solving the test without referring to your original solution. The code on the monitor should be commented out and pushed out of sight––get used to writing code from scratch without referencing what you wrote previously. If this is the approach you would like to take, then see step 5 on how to go about pair programming.

Note: Whoever goes first should talk through the #game_hash test. After that, the next person to go should try pair programming #num_points_scored. You can choose to talk through the code when it is your turn to go, but we encourage you to dip your toe into the waters of pair programming.

Step 3: After each method, have a discussion amongst your table

If you had a different solution or approach to solving this particular test, you should share your code.

A nice way to approach this:

  • Identify lines of code that differ from your own
  • Ask the person why they choose to solve it that way––being a programmer means learning how to defend your choices
  • Share your code and the reasons you solved it that way
  • Ask for feedback!

Step 4: IMPORTANT: Do not rush!

Take the time to ask and answer questions. A BIG skill in coding is having the ability to fully understand and assess a question. Many times coders are plagued by gaps of knowledge they didn't know they had. The best way to keep yourself honest is to constantly ask and answer any question!

Step 5: If you finish early and have yet to complete the bonus and Super bonus questions - Pair Program

Your table should work together on the bonus problems. If you have already solved the bonus questions, but your tablemates have not - take it upon yourself to drive (see the section below if you don't know what we mean by driving). If no one has solved the bonus questions, then pick someone from your table (who was not already sharing their code) to drive while the rest of the table acts as the lead.

How to Drive:

Hook your computer up to the monitor, comment out your bonus and super bonus answers (if you had already solved them) and get ready to start typing. As the driver, you are the syntax machine. Your job is to write the code and focus on details, while the leader (detailed below) is responsible for higher level planning. Think of yourself as the driver of a car––your job is to stay in your lane and get everyone to their destination safely. The leader/navigator is responsible for mapping out the route to your final destination.

How to Lead:

Your focus is on the big picture - how to get to the solution. You will be leading the driver by giving instruction as if you were testing the code. For example: "I want this method to iterate through each element of a hash and return all of the keys in a new array." It is then up the driver to determine what the best approach to solve this would be (maybe they use a loop, .map, .each...). If they get stuck then you may point them in the right direction to help get them jump started, like: "check out the .keys method." Last, if their solution is a different approach from you might have taken, that is all right, do not dismiss it. Follow their train of thought (or ask them for it if you're unclear) and continue to work off that solution instead of refactoring their code (I guarantee someone will learn something new with this approach... it might even be you!)

Step 6: Have Fun!

This will be one of your first experiences with analyzing code with a group in the programming field. It is not meant to be easy, but it is a skill that you will need in the future.

immersive-mod-1-introduction-hashketball-review's People

Contributors

jjseymour avatar drakeltheryuujin avatar realandrewcohn avatar telegraham avatar ipc103 avatar maxwellbenton avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.