tpdorsey / RubyStory

Teach kids just enough Ruby to tell an interactive story.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RubyStory

RubyStory is a basic, opinionated curriculum for teaching basic programming concepts to kids 10 and up. The materials include a course outline, code samples, handouts (one-pagers) and presentation slides.

Specifically, RubyStory demonstrates just the minimum Ruby commands needed for students to write a choose-your-own-adventure style storytelling game. The class moves quickly through basic tasks, with a focus on fast results, building upon concepts, creativity and exploration.

Requirements

The current version of RubyStory is written for Mac OS, but uses only resources installed by default: Terminal, Ruby and TextEdit.

For the teacher, it helps to have a basic knowledge of programming and Ruby, but you don't need much — I didn't know any Ruby before writing this.

What's Here?

The materials here provide a quick and dirty outline and supporting materials for teaching kids Ruby.

  • Outline — A concise script for teaching the course. Feel free to riff on this as you go.
  • Code examples — For each concept, the source code is provided so you can show, run and edit the examples interactively. Less typing for the teacher. (I think the kids should type their own, though.)
  • One-pagers — Take-home handouts for the kids. Some are for reference, others discuss concepts in more detail.
  • Slides — A minimalist slide deck, mostly containing code for discussion and for students to copy.

Slide deck is built from Markdown using slidedown.

What Does RubyStory Teach?

RubyStory teaches just the basics:

  • Interacting with the computer via Terminal
  • Terminal output with puts
  • Creating and using variables
  • Strings and numbers
  • Basic math and Boolean logic
  • User interaction with gets.chomp
  • If statements
  • Functions

That's pretty much it. The idea is to teach just enough to do something interesting, while learning to think like a programmer. Just a taste.

Why Ruby?

As you can tell from the minimal set of programming concepts covered by RubyStory, it's hardly language specific nor does it really "teach Ruby."

In this case, Ruby is a convenient tool.

Ruby has very simple syntax and very little necessary punctuation. There's no whitespace or semicolons and very few parentheses and brackets to worry about. Troubleshooting errors becomes much easier.

Avoiding these distractions lets kids focus on the keywords, the programming concepts and their own creativity.

Inspirations

I first learned Python from Zed Shaw's Learn Python The Hard Way. This and Rob Sobers' Learn Ruby The Hard Way influenced the storytelling aspect of RubyStory. These are great learning resources and I recommend them. Thanks!

About

Teach kids just enough Ruby to tell an interactive story.


Languages

Language:Ruby 100.0%