Jumpstart Lab Curriculum

Eloquent Ruby

Borrow or purchase Eloquent Ruby by Russ Olsen.

Schedule

  • Begin reading as soon as possible
  • "Reading Group 1" will take place next Monday
  • "Reading Group 2" will take place the following Monday
  • "Reading Group 3" will take place the third Monday
  • "Author Conversation" will take place during RG3

Reading Group 1

Preparation

Before RG1, you need to:

  • Read Part I: The Basics (Chapters 1 through 9)
  • Write a blog reflection detailed below

Writing

On your class blog, write an article that explores one or more of the following questions:

  • What’s something that really "clicked" for you? Why/how? (Ex: Symbols, Dynamic Typing, etc)
  • Was there something you thought you understood, but are now more confused about?
  • Chapter 5 focuses on Regular Expressions. Do you feel like they’re a tool you’ll reach for, or try to avoid?
  • How would you explain Mocks and Stubs?

Group Session

In our small-group sessions:

  • Gather in your four-person groups
  • 36 Minutes: For each person in your group
  • 15 Minutes: Group Discusion (below)

Have a discussion in your small group reflecting on any of the following questions:

  • Discuss one of the topics a group member was confused about and see if the rest of the group can make sense of it.
  • How are you feeling about regular expressions? Do you know what kinds of situations they’re useful in? Could you construct a Regular Expression if you wanted to?
  • Based on our conversation about inheritance this morning, do private and protected methods make more sense? Why would you use them? Why can’t you consider them "secure" in Ruby?
  • Now that you’ve written MiniTest tests and seen RSpec in the book, what do you like and dislike about each? Why do you think RSpec is becoming so popular? When would you favor MiniTest?

Reading Group 2

Preparation

Before RG2, you need to:

  • Read Part II: Classes, Modules, and Blocks (Chapters 10-19)

Group Session

Divide into your reading groups of 4 each and complete the following exercise:

Overview

  1. Edit your group’s group_x_notes.markdown file
  2. Fill in your responses
  3. Submit one or more pull requests

The responses should be in thoughtful paragraphs and make use of markdown’s formatting for inline code, bold/italic, etc.

Consider the following questions as guides to help you build a strong response:

Key Ideas
  • If you were distilling the chapters down to one page, what would get included?
  • When are the techniques useful / how do you recognize situations to use them?
The Highlight
  • What topic made you say "OH!"?
  • What will save you work in the future?
  • What didn’t make sense before but now clicked?
The Lowlight
  • What’s still confusing?
  • Was there a subject where you understood the code but not why you’d want to use it?
  • Did something stand out as particularly hackish, strange, or ugly?

Reading Group 3

Preparation

Before RG3, you need to:

  • Read Part III: Metaprogramming (Chapters 20-26)
  • Write a blog reflection detailed below

Writing

On your class blog, write an article that explores one or more of the following questions:

  • Does the idea of Metaprogramming make you say "Hell yeah!" or "Hell no!"? Why?
  • Explain how method missing works, when it’s wisely used, and what cost it has.
  • Why would you use Monkey Patching?
  • What’s the most confusing of all these techniques? Why?
  • How has Eloquent Ruby affected your understanding of Ruby? Would you recommend it to someone else learning Ruby? Why / why not?

Group Session

For our final group session, we’ll have a conversation with the author, Russ Olsen.

Feedback

Have Feedback?

Did you find an error? Something confusing? We'd love your help:

Thanks!