3月第2週目記録

0 Comments

本日は生徒の一人がうれしいことを報告してくれました。
学校でscratchを扱う授業があったようで、そこで何か作っていいよと言われたらしく前回作成した迷路を再現したようです。みんなにすげぇーって言われた!と教えてくれました。いやぁ、遊びの一環でしたが、あれをしっかり再現できたのがすげぇー!です。こどもは割と集中して取り組んでるんですね。

さぁいよいよ午前の部も初級の詰めに入って参ります。scratchでデジタル時計を作りましょうという単元です。お遊びタイムでscratchにはたくさん触れてきたのですが、本格的に何かを仕上げましょうというのは初となります。

まずは表示に使うためのデジタル数字を読み込ませます。するとコロンが分らんと。まぁ、そうですね。コロンやセミコロンやチルダやとわけわかりませんね、大人でも。中学生の数学でプライムなんていうと生徒はポカーンとしてます。ダッシュとプライムも日本人には面倒くさい。話が逸れた。。。

数字を一気にアップロードしたのでどれがどこの数字かを決めていかねばなりません。ひとつずつやっていけばこんなことにならないのですが、子どもはなんでも一気にやってしまう傾向があるのでそれに合わせております。

数字の配置が終わったらまずは何時なのかを表示する部分から作っていきます。
十の位は10未満なら0を表示して、そうでないなら1を表示するようにプログラムするんですが、そこのところを不等式で表すということで詰まってしまいました。「何言ってるか分かんない」ってサンドの富沢さんみたいになってました。でもなんとか解説を終えて全員うまく作動するようになりました。

そして次は秒を表示させるわけですが、その1の位の表示プログラムで苦戦します。たった1行のコードなんですが、割ったあまりを使うことに馴染みがないことに加え、10で割るのは割り切れてしまうやん!という子どもの世界ならではのあるあるにはまって先に進みません。10で割ったら割り切れるから9で割りました!って、それだと9の倍数時はうまく表示されんやないか。。。ということには気が付けないのであります。予想通りの大苦戦でありました。

でもそこをクリアしてしまうと早速今までの知識を使って一足先までプログラムする生徒が出ます。子どもの呑み込みの速さ、記憶のすごさを実感しますね。その生徒に刺激されて「あーそうか!」となるのはいいことです。授業で普通に進むよりずっと心に残るでしょうから。

そして本日のお遊びタイム。すこし複雑なことをしようということで完了までいきませんでした。まずはキャラクターを上下に動くようにプログラムしてねと言ったら全員ができてしまうんですね。y座標がとか呟いてるし。すごいなぁ。

新たに拡張機能を使うことを教えたのですが、こんなもん分かるかーって怒られちゃいました。しかしそこに辿り着くまでに、変数を使ったらいいんじゃないかとかそういう素敵な発言がたくさん飛び出たので大成功なのであります。

そして午後の部へ。こちらはお遊びタイムから入ります。冒頭でも述べました「迷路」をもう少し掘り下げましょうということで「クリアした時のタイムを表示するように」しましょうと課題を出してみました。もちろんノーヒントです。この辺もすごい進歩なのです。
自分で作ったプログラムを改造していくわけです。何を使えばいいかをじっくり考えながら。
とりあえずタイムを言わせることには成功しましたが、それではだめだということでやり直し。すっとできるほど甘くないんですねー。

課題を出してから7分経過。まだタイムを言わせることに成功しません。

そして課題を出して12分経過。骨格は出来上がったようです。しかし動かない。これは初心者あるあるなので助け舟を出します。すぐに呑み込めるところがこれまたすごい進歩なのです。

なんとか動くように修正をしました。動いた!と喜んでいるそばから、例外がないかを確認するために指示を出します。すると案の定、例外が発生します。
そしてまた修正。
すでに30分経過です。しかしやってる当人はそんな感覚もなく、「え?もう?」という反応です。ほんとに集中して考えているのですね。

いよいよ今回の心臓部分の解説です。さすがにこれがノーヒントでできるとは思っていないのでヒント与えて様子をうかがいながら導いていくスタイルです。短時間で説明を済ませましたが、このあとこれで完成させてしまうんですよね。すごいなぁと思います。
多分プログラミングの経験がない人はこの説明を聞いても何のことやらさっぱりなはずです。子どもたちも2か月前はそうだったのですよ。

うまくできたのでプログラム中の「あるコード」を抜いてみたらどうなるかを聞いてみました。そうするとなくてもいいかも?なんて答えるのでコードを抜いてもらい実験です。
やってみてあれ?ってならずにすぐに気が付けていますね。こういう細かいところもプログラミングでは意識をしていかないとすぐに例外が発生してうまく機能しないのです。こういうのってプログラミングだけで役立つわけではないですよね。常に例外が起こらないようにあらゆるパターンを想定できる論理的思考力はこれからの時代、必須なのです。

今回は遊びタイムといえど、1時間も使いました。しかし価値ある1時間だと思います。初級にしては内容も高度でしたし。できたー!という叫びをお聞きください。

そしていつもの如く、子どもから大人へのスパルタ指導です。笑
おとなの方が頭ははるかにいいんです。でも、いつもこういう逆転現象が起こります。これが子どもの力なんですね。柔軟性というか、対応力というか、自分のものにする時間が圧倒的に早いのです。

一応本題の鉄道ミッションの様子も。こちらも同じく課題だけを提示。じっくり考えてからプログラムをいじりだしています。再生にどれくらいの時間がかかるかをカウントしたりしています。本当にずいぶん進歩したなぁと思います。

Categories:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です