コンピュータは、基本的に「上から下」の順番で書かれているプログラム・コードを実行していきます。その順番が正しくなければ、正しい結果は得られません。
「歯磨き処理」に置き換えてみましょう。簡単に手順をおさらいすると…
1.歯ブラシを持つ
2.歯磨き粉を開ける
3.歯ブラシに歯磨き粉を付ける
4.歯を磨く(すべての歯を磨くまで、または、汚れが落ちるまで続ける)
5.コップに水を入れて口をゆすぐ
間違った順序だとどうなるのか?
1.歯ブラシを持つ
2.歯を磨く(すべての歯を磨くまで、または、汚れが落ちるまで続ける)
3.歯磨き粉を開ける
4.歯ブラシに歯磨き粉を付ける
5.コップに水を入れて口をゆすぐ
※これだと何のために歯磨きに歯磨き粉を付けたのか分からないですよね。
ものごとには順番に意味があって大切なこともあります。(もちろん順不同もあります。)
ものごとを分解して整理することは大切です。論文やレポートなどの論理的な比較的長い文章を書く場合も、いきなり書き始めたりはしません。まず事実情報や見解などを箇条書きにして、それを序論、本論、結論にそれぞれ分類して順序立て、文章へと組み立てていきます。これは作文でも感想文でも同じことが言えます。
「家事を手伝う」をテーマに、まずはどれだけの家事があるのか、挙げられるだけ挙げてもらいます。
・掃除機をかける ・洗濯をする ・食器を洗う ・植木の水やり ・トイレの掃除 ・お風呂の掃除 ・洗車する ・洗濯ものを干す ・洗濯ものをたたんでしまう |
・夕飯の買い物 ・夕飯のしたく ・床の水拭き ・熱帯魚のエサやり ・熱帯魚の水槽の掃除 ・回覧板をお隣へ ・ペットの散歩 ・ゴミ捨て などなど。 |
これをどのようにグルーピングするのかは、児童によってバラバラになるので、「○○で分ける」と指示を出します。例えば、「水を使うものと、それ以外では?」なら以下のようになります。
<水を使う> | <水を使わない> |
・洗濯をする ・食器を洗う ・植木の水やり ・トイレの掃除 ・お風呂の掃除 ・床の水拭き ・熱帯魚の水槽の掃除 ・夕飯のしたく ・洗車する |
・ペットの散歩 ・掃除機をかける ・熱帯魚のエサやり ・回覧板をお隣へ ・洗濯ものを干す ・洗濯ものをたたんでしまう ・夕飯の買い物 ・ゴミ捨て |
分類の訓練は、まず、テーマについて『必要最小単位』の言葉で分けることができるかどうかです。例えば、家事を「手伝えるものと、それ以外」と分類する場合、「洗濯をする」を、「洗濯ものを洗濯機に入れる」「洗剤を入れる」「ふたを閉める」「メニューボタンを押す」「スタートボタンを押す」などと分類しては、手伝っているうちに入りません。『必要最小単位』の言葉で挙げてもらうのは非常に難しいことです。簡単な例題や前提を用いて、分類の感覚をある程度一定にしてから実施するのが良いかと思います。(洗濯機を操作するだけのフローならOK)
もう少しレベルを上げるとすれば、「水を使うものと、それ以外では?」というような、他の「分類パターン」を自分でいくつか見つけ出すという方法もあります。さらには、先程の「順序」を組み合わせたケースを考えてもらう方法もあります。「どの順番で家事を実施すれば、早くお手伝いを終えることができるのか、また、同時にできることはないか。いろいろ生活事情もあるので、バラバラの答えが出ます。しかし、組み合わせて答えを出して終わりではなく、「なぜその順番なら早く終われるのか」という理由を明確に説明できるかどうかが重要です。
下図のような場合は複数人での処理を想定していますが、このような「タスクスケジューリング」は一つのスキルです。身に付けることで学校では教わらない、テスト日までの逆算の勉強スケジュールが立てられるようになります。複数ある科目の勉強を同時は無理にしても、効率的なスケジュールで勉強することは可能です。
分量に合わせた時間配分、難易度などを考慮した重み付け、習熟度合いを加味した優先順位設定、これらのスケジューリングに必要なスキルを身に付け、磨いていくことができます。また、短期間のスケジューリングができてはじめて、1~3年の目標に向けた計画が立てられます。
低学年で「言葉」で実施するのがまだ難しいようであれば、以下のように、折り紙を何枚か重ねただけで作った動物を、一度ばらした後、再度、元の位置や重なりの順番通りに戻すことができるかどうか。その際、重ねた折り紙の中に、なくても元の見た目通りに戻すことができる「余分な紙」を入れておき、それを除外するよう指示をして、戻せるかどうかもでも良いかと思います。
▼続きはこちら
アンプラグド・プログラミング教材 ここでは、アンプラグド・プログラミング教材案について書いていきたいと思います。現役の先生や教育学部の大学生の皆さんの参考になれば幸いです。 「アンプラグド」とは電源を入れない。つまり、こ […]
お題:交通系電子マネーを使って自動販売機でジュースを購入する <ねらい> プログラミング的思考の以下の能力を鍛える ・ものごとを一旦分解してから整理する能力(分解、分類、共通化) ・ものごとを単純化して重要な部分を捉える […]
お題:各駅停車の電車に乗って目的地A駅で降りる(ただし、A駅は終点ではない) <ねらい> プログラミング的思考の以下の能力を鍛える ・ものごとを一旦分解してから整理する能力(分解、分類、共通化) ・ものごとを単純化して重 […]
お題:前回のお題を各視点に分けて考えてみる アンプラグド・プログラミング教材(3)のお題だった、「各駅停車の電車に乗って目的地A駅で降りる(ただし、A駅は終点ではない)」に対して、少し混乱を招く表現が存在するので、今回は […]