ツクールでできる!?プログラミング教育のお話

2.「どれでもいい」は「どうでもいい」じゃない!
(決めなくていいことでも、決めておいた方が「いいね!」なお話)
物事には順番通りでないと困ることと、困らないことがあるのは前回お話ししました。
どれが困る事で、どれが困らない事か。これはいろいろ考えながら経験していくうちに分かってくると思います。


では順番通りでなくても困らないことの順番は本当にどうでもいいのか?というとそうとも限りません。
タイトル通り「どれでもいい」と「どうでもいい」は別。決まって無くていい事でも決めた方がいいこともあるんです。


今回、例として挙げたいのは学生の永遠のテーマ(?)『宿題』!
よく「家に帰ったらまず宿題をやりなさい!」と大人は言いますが、実のところ宿題は前回の考え方だと、
「順番を決めなくても困らないもの」です。正直、きちんと終わってさえいればいつやっても構わないのです。
(こんなことを書くと世の中の保護者や先生から怒られそうですが、事実です)

何人か例を挙げてみましょう。

この子は学校から帰ったらすぐに宿題をやるパターン。長めの習い事が待っているにもかかわらず
真っ先に宿題を片付けようというのは、なかなかしっかり者のようです。


この子は夕食の後に済ますパターン。外遊びは時間が限られるので悪くない順番だと思います。


その日の朝にやるパターン。一見ウーンと思われそうですが、しっかりやれているならこれもアリです。


問題のNくん。よく遊べの観点からすれば遊びの時間が多いのはいいことなのですが…。
この予定の中に「宿題」が全くありません。何でも「気が向いた時にやる」とか…。
しかしこれでは毎日きちんと宿題をやる、というのは身に付かないかと思います。

つまり宿題をやる時間はいつやってもいいけれど、いつやるかは決めておいた方がいいと考えます。
これは宿題に限らず毎日や毎週、繰り返しやることには大体当てはまる考え方です。
(毎週繰り返される「時間割」が毎週のようにコロコロ変わったらビックリしますよね?)

「プログラムを組む」というのも、このように毎日の予定を組むのに近い感覚もあって、
繰り返しやることに関しては、順番を決めなくても困らないものにも順番を決めておいた方が都合が良いのです。
これがいわゆる「プログラミング思考」の1つかなと考えています。

※番外・プログラミング思考が無いと困ったことになる、ちょっと専門的なお話?

…というツッコミが来そうなので先に謝っておきます。その通りです。
そしてそのいい加減さは結構困ったことになるのも事実です。

ちょっと専門的な話になりますが、これはRPGツクールで組んだ「イベント」の1つです。
※隠す必要がある部分に関しては黒でぬりつぶさせてもらいました。

イベントを正しく動作させるためには一番上の「画面のフェードアウト」から一番下「画面のフェードイン」の間に
必要なコマンドを1つずつ入れる必要があります。入ってさえいれば順番は関係ありません。
つまり最初の宿題の例のように「ちゃんと入ってさえいれば、どこに入れても、どの順番でもいい」ものです。
しかしながらこれ、それなりにちゃんと決めていないと困ったことになりやすいんです。
はずかしながら自分自身、こういった決め事をしっかりしておかないばっかりに
必要なものを忘れたり、同じものを2個入れたりといい加減なことを結構しています。

※左は「透明状態の変更」が抜け、右は「変数の操作」が二重に入っています。どちらも正常に動作しません。

そのたびに「バグ」と呼ばれるおかしな事が起こってしまい、あわてて直すことの繰り返し…。
「プログラミング思考」が身に付いていなかったり、身に付け方がいい加減だったりすると
こういういらない苦労をしてしまいますのでご注意を。

もどります
inserted by FC2 system