プログラミングの考え方が対象年齢5歳の絵本で身につく「ルビィのぼうけん」レビュー


これからプログラミングをしよう、という人が必要とする「プログラマー的思考法」や、テクノロジーの世界の概念を、対象年齢5歳の絵本でさらりと理解できてしまえるのが「ルビィのぼうけん」です。クラウドファンディングプラットフォームのKickstarterで出資を募ったところ、プロジェクトの開始からわずか3時間で目標額の1万ドル(約100万円)に到達したという絵本で、子どもだけでなくプログラミング初心者にも最適で、プログラミングの本質に迫っているとのことなので、実際に買って読んでみました。

『ルビィのぼうけん』特設サイト
http://www.shoeisha.co.jp/book/rubynobouken/

これが「ルビィのぼうけん」。大型本で、サイズは24cm×18.8cm×1.1cmです。


Amazonで購入したところ、以下のステッカー付でした。


全114ページで、厚みはこのくらい。


ペラリとめくってみたところ、まずは「保護者の方へ」ということで作者のリンダ・リウカスさんからのメッセージが載っていました。ルビィのぼうけんは特定のプログラミング言語について教えるような「コードの書き方を学ぶ」本ではなく、将来プログラミングをしようという子どもが必要とする「プログラマー的思考法」の基礎的な考えを紹介したものとのこと。絵本を通して「子どもたちは、大きな問題を小さな問題に切り分けるやり方を学びます。パターンを探し、段階的な計画を立て、枠にとらわれずに物事を考えるようになります」とリウカスさんは語っています。


特に目次などはないのですが、ルビィのぼうけんは大きく分けて以下の4パートに分かれています。

◆ルビィと友だち(登場人物紹介)
◆絵本(全10章)
◆自分でやってみよう!(アクティビティ/全10項目)
◆用語集

まずは「ルビィと友だち」という登場人物の紹介ページ。登場人物は主人公のルビィの他に、ペンギンたち、ジャンゴ、雪ヒョウ、ロボットたち、きつねたちがいる様子。


スクリプト言語のRubyから名前がとられたルビィは新しいことを覚えるのが好きで、諦めるのが嫌いな女の子。誕生日はRubyと同じ2月24日で、好きな言葉は「どうして?」とのこと。


Linuxのマスコットキャラクターであるペンギンは「短い、時にぶっきらぼうな言葉」でやりとりし、他のみんなよりも長生きしているそうです。


Webアプリケーションフレームワークのジャンゴは、列に並んでいる時に、まわりに人がガヤガヤ集まることが嫌いで、いつだって問題を解く方法を知っているという不思議な力を持っています。


そのほか、1人でいることと禅、ヨガが好きな雪ヒョウや……


「きれいにしてとか、ちゃんとそろえてとか、そういうもんくは聞かないよ」というロボットたち


ブラウザでおなじみのきつねたちもいました。


本編はこんな感じで、カラフルでかわいい絵柄で描かれた、一見すると普通の絵本です。子ども向けということで文字も少なめで、漢字はあまり使われておらず、使われている漢字に関しては全てふりがなが振ってあります。


ルビィは「こうしなさい」と言われるのが嫌いなので、はっきりしない命令をされると、時々困った事態になります。例えば父親に「学校に行くからお洋服を着なさい」と言われると「『まずパジャマをぬぎなさい』なんて言われなかった」とパジャマの上からワンピースを着てしまいます。


そんなルビィはある日、留守にしている父親から手紙を受け取ります。「宝石を5つ、かくしたから、さがしてごらん」と手紙には書かれていますが、何をやったらいいのかなどは一切書かれていません。ここから、ルビィの宝石探しの旅が始まります。ルビィは「何から始めればいい?」と考えだし、「手に負えない大きな問題は小さな問題が集まっている」ということで、計画を立てることから始めたルビィは……


まず、父親の部屋から手がかりを探し出します。「他の人にとってゴミに見えるが、ルビィにとってはヒント」となる、ペンギンや雪ヒョウの居場所が書かれた暗号を発見。


そしてルビィは地図を用意し、ペンギンや雪ヒョウの居所をマッピングします。


ペンギンたちの家に行って「パパが隠した宝石、ごぞんじないですか?」と尋ねたところ、ペンギンは「宝石、けずって、みがかれた、きちょうな石」など、意味不明な言葉を返すのみ。


ペンギンたちに質問する時はもっと詳しく細かく言わないといけないと気づいたルビィは「わたしのにぎりこぶしより小さくて、石か金属を切り出した、色つきの、めずらしいもの、ここにありませんか?」と質問。するとペンギンたちは「本当じゃ!」と答え、一緒に宝石を探しだすことができました。


一方、きつねたちの家では、畑できつねたちが終わった仕事を繰り返したり、まだの仕事がそのままだったりと行ったり来たり効率悪く動いていました。


そこでルビィは「あなたたちは、タネまきかかり!タネの入ったふくろを持って、畑の穴が空っぽだったら、次の穴へどうぞ。列のはしっこまで来たら、次の列へどうぞ。今まで言ったことを、5回繰り返してね」と指示。きつねたちは畑仕事を効率的に行え、ルビィは畑の中から宝石を見つけます。


「レシピは、みんなで分け合うと、もっとすてきなものになるよ。そうして、分け合ったら、友だちになれるんだ」と語るロボットたちにカップケーキの作り方を教えてもらい、オリジナルのカップケーキを作る場面もありました。オープンソースであるAndroidの考え方について触れることで、絵本を読んでいる最中にコンピューターの世界の概念を自然と理解できるようになっているわけです。


考えて、挑戦して、を繰り返すルビィですが、川を渡る場面では失敗することも。


落ち込みながらも失敗から学び、解決方法を見つけ出していくルビィ。果たしてルビィは宝石を5つ見つけることができるのか?というのがメインストーリーです。


全114ページの絵本のうち、本編は6ページから68ページまでで、69ページから109ページまでは、絵本の内容を踏まえたアクティビティ・練習問題になっています。


練習問題は全部で10項目。最初の練習問題は「日常の中で、正確な指示を与える方法に意識を向けさせ、正しい順序で指示を与えること、パターンを認識すること、物事を細かく分割することの重要性の理解を促します」ということで、シーケンス(順番に並んだ命令)・小さく分ける・パターンを見つけるという3つのプログラマー的思考法を身につけることを目的としています。


本編の中で父親に言われたことの穴をついて、パジャマの上に洋服を着たルビィですが、これはコンピューターのまねごと。言われたことを間違いなくやるコンピューターに命令するように、人にやってもらいたいことを順序よく書き出す、という練習が「れんしゅう1」です。


また、月曜日から金曜日までのルビィの洋服のパターンを参考に、土曜日と日曜日の洋服を考える、という「パターンを見つける」が「れんしゅう3」でした。


本編に登場したわけのわからない言語を話すペンギンは、データ構造を象徴していました。第4項目は暗号表を使ってペンギンたちの言葉を解読し、データをまとめる方法の練習となっています。


きつねたちに仕事を指示していたルビィはブログラミングにおける「場合分け」を行っていました。練習問題では「if(もし…なら)~then(そのときは)」「if(もし…なら)~else(そうでなければ)」という2種類の場合分けを学びます。


また、絵本の中でルビィは川を渡るために橋をかけますがこのチャレンジは失敗します。これはバグやデバッグを表しており、ペアプログラミングの概念と共にデバックの方法についても練習問題で学べるようになっています。


バグを見つけるのは1匹しかいない虫を見つけ出す「オジャマ虫さがし」という練習問題で。


「おさらをならべる→スプーンをならべる→おたんじょう日ケーキをテーブルにのせる→テーブルクロスをひろげる」というプロセスのうち、目的を達成するのには何が間違っているのか?ということを見つけるのがデバッグ(バグつぶし)です。


練習問題の第10項目は、それまでの練習問題で理解したアルゴリズム・場合分け・ループの概念を使って読者が自分でカップケーキを集めるというすごろく。


そして最後は、絵本の中に出てきたアルゴリズム・関数・シーケンス・真偽値などの言葉を理解するための「大人向け」の用語集がついていました。


ということで、絵本自体の内容は「5歳児にも理解できる」というのが納得の易しさですが、コンピューターの世界の概念や考え方がストーリーに散りばめられており、子どもがさらりと読んでいるだけでもこれからの時代で重要なテクノロジーの基礎教養を頭に入れることができます。後半は子どもには少し難しいかもしれませんが、これからプログラミングを理解したいと考えている人にとっては非常に役立つ内容になってり、「変数」「演算子」という言葉に頭がフリーズしてしまいそうな人でも基本的なプログラミングの考え方を身につけられるようになっていました。

なお、ルビィのぼうけんはAmazonから税込1944円で購入できます。

ルビィのぼうけん こんにちは! プログラミング | リンダ・リウカス, 鳥井 雪 | 本 | Amazon.co.jp

・関連記事
PHP/Rubyのコードを書くと美少女をゲットできるゲーム「コードガールこれくしょん」 - GIGAZINE

「人間様が気分よくプログラミングするための言語」Rubyは何を目指すのか - GIGAZINE

3歳児でもオモチャでプログラミングを学習できる「Cubetto」 - GIGAZINE

5歳の子どもが難解で退屈な「プログラミング」をロボットで楽しく理解できる学習システム「Root」 - GIGAZINE

もし16種類のプログラム言語が武器になったら - GIGAZINE

プログラミングさえできれば誰でも彼女がつくれる恋愛シミュレーションゲーム「プログラミングで彼女をつくる」 - GIGAZINE

自力でプログラミングして口紅を塗るロボットを作ったらこうなった - GIGAZINE

368

in レビュー, Posted by logq_fa