子供の宿題をScratchで実装してみたらとても良かった話
子供の宿題に付き合うのが面倒で、Scratchでちゃちゃっと実装したら思いのほか良かったので、忘れないようにメモします。
きっかけ
小学校2年の子供がいるのですが、冬休みの宿題で九九の暗記が出されました。最近の九九は「上がり九九」「下がり九九」「バラバラ九九」という三種類があって、それぞれ暗唱(?)できるようになるという宿題です。
「上がり九九」は「1×1、1×2、1×3・・・」、「下がり九九」は「1×9、1×8、1×7・・・」というもので、親としては聞いているだけで良かったのですが、「バラバラ九九」はこちらがランダムに問題を出さないといけなくて、ランダム性を確保した上で延々と掛け合いを続けるというとても楽しくない作業に心が折れそうになりました。
元エンジニアとしては「こういうのこそプログラミングで解決できるヤツ!」と思いまして、親からしてみたら楽できるし、ランダム性も確保できるし、子供もゲームっぽく覚えられて、「正月早々こんな三方良しも無いな」ということで実装してみました。
Scratchとはなんぞやという方はこの辺を見てください。
Minecraft好きな子にはこんなところから入るのもあり。
作ったもの
動画を見てもらった方が早いのでこちら。全部正解していますが、もちろん間違えると相応の反応があります。小さくて見えにくいですが、掛け算の問題が出ています。
Scratchの実装はこちら。
録音1は「デデン!」、録音2は「ピンポーン!」、録音3は「ブブー」で、全て私の肉声です。録音1には勝手に参戦してきた弟の声も入っています。
変数は3つ作りました。
これで「親が楽できる」「問題のランダム性が保たれる」「ゲームっぽくて楽しみながらできる」という当初の目的は達成できました。でも「やって良かった」と感じたのはここからでした。
子供からアイデアが出てくる
ちょっと子供に触らせていると「お父さん、正解がわからないね」とか「“正解”の表示が長いね」とか、この仕組みを良くするアイデアがどんどん出始めました。
ゼロからものを作るよりも既存の機能を改善するアイデアが出しやすいのは自然の摂理ですが、まさかこんなに子供からアイデアが出てくるとは思いませんでした。
この後、元エンジニアのお父さんとして言うことはただ一つ、「じゃあ自分で変えてみて」です。バラバラ九九そっちのけで機能改善に取り組んで、子供が上の画像の実装に仕上げました。ちなみに2〜11までのランダムになっているのはお母さんのアイデアで、「1かけても面白く無い」「11×11だけ覚えればあとはいける」の理由でこうなりました。
こうやってものを改善していく経験を小学生からできるって、とてもいいなぁと思います。特にこのケースはユーザーエクスペリエンスの改善なので、他ではなかなか経験できないものだったと、手前味噌ながら思いました。
めでたし めでたし
もちろん、元エンジニアのお父さんはこれで満足するわけがなく、「弟のために足し算のやつ作って」が発注されたのは、また別のお話。