プログラミングをしないプログラミングの授業

イントロダクション
プログラミング教育が始まって間もないころ、アンプラグド・プログラミングが流行りました。
コンピュータを使わずにプログラミングを学びましょうという考え方でした。
当時は児童全員がコンピュータを使う事が難しい環境だったので、注目されていたようにも思います。

アンプラグド・プログラミングに対してけして良い印象を持っていなかったのですが、磐梯町での授業はとても画期的でした。
ICTへの理解を深め、プログラミングへの興味高める。さらには生活習慣の改善にもつながるという、いいことづくめの授業となりました。

アンプラグド・プログラミングによるグループワークは良い学びに繋がります。

授業の様子(磐梯町第二小学校 ブログ)
https://bandai.fcs.ed.jp/blogs/blog_entries/view/37/026e0efa60e865bb9360d593da95750b?frame_id=115

経緯
今回、磐梯町教育委員会から身近な課題をプログラミングで解決する授業を行ってほしいとの依頼を受けました。

1,2時間の授業で行うので、プログラミング作業は行わなくて良いとの事でした。
まぁ、現実的にもテーマ検討からコーディングまでは無理ですね。

授業を受ける5年生、6年生は一度Scratchを授業で教えていました。
身近な課題に取り組むというのは、プログラミングへの興味・関心を引き立てるには良いのかもしれないと思い、取り組ませて頂きました。

アプローチ
課題へのアプローチ方法は技術ファーストと課題ファーストの2種類があります。
技術と課題のどちらを起点に考えるかという事です。

技術ファーストは「ICT技術を学ぶ→適用できる課題を考える」という流れになります。
他方の課題ファーストは「課題を考える→解決方法を考える→ICT技術で解決できる部分を考える。」という流れになります。

技術ファーストはの長所はICT技術への理解が深まること。短所は適用課題が身近なものではない可能性があることです。
課題ファーストはその裏返しの関係にあると言えるでしょう。

技術ファーストのほうがわかりやすくて授業も組み立てやすいのですが、身近な課題の解決につながるアイデアが出てくる可能性が低いです。
課題ファーストは、身近な課題を解決できるという利点がありますが、課題探しが上手く行かない、解決のための最適なICT技術を子供たちが見いだせないといった不安要素があり、授業展開が予想できない懸念があります。
プログラミングが自分の生活にどのように役立つかを学ぶには、多少のリスクは踏まえたうえでも課題ファーストのほうが適していると判断しました。

授業の様子
課題ファーストを採用したことで、議論が生まれ、グループワークの学びが最大化しました。
おっ!と思わせるような課題を見つけるグループもあれば、良い解決策が見いだせずに頓挫しそうになったり、無難な意見でまとまるグループもありました。
しかし、どのグループも活発な意見交換が行われました。結果ではなく過程に学びがあります。
自分の意見を伝える、相手の意見を聞く、見解の相違を受け入れるといった経験を通じ、チームワークを学びました。


授業の流れ
0.宿題による事前検討
各自が身近な課題を考えてきます。このとき解決方法の検討までは行わない。
1.課題のグループ間共有
一つのグループは3~4人で構成しました。
2.課題選定
誰かの課題を選んでも良いし、新しく考えても良い。課題を組み合わせても良いです。
3.課題の解決方法検討
ポストイットを用意し、各自の意見を張り付けると議論が活発化します。
4.検討結果発表
発表後に「自分もこの課題に悩んでいる人手を挙げて!」とすると、盛り上がって良い。
5.プログラミングが行える場所の告知
プログラミングに興味の湧いた子を受け入れるために磐梯町で出張CoderDojoを開催することを伝えます。

先生も考えてみよう
ファシリテーションはDojoや教育委員会の皆さんが行うので、担任の先生にゆとりが生まれました。
そのため、担任、副担任の先生にもグループワークに取り組んで頂きました。先生にもプログラミングの可能性を楽しく考えて頂く良い機会になりました。

成果
・ICT技術が身近な課題解決に役立つことを理解できた
ゲームやスマホだけがプログラミングの活躍の場ではない事が理解できたようです。ICT技術は自分の役に立つという事を理解できます。

・プログラミング学習への意欲が向上した
実際に課題を解決してみたい!と強く思うようになります。授業終了後にCoderDojoの説明をすることで、子供たちの情熱の受け皿を作ってあげることが大切です。
   
・課題の多様性さを理解できた
課題は同じでも、原因は人によって様々である事を学べました。
「早く寝れない」という課題に対しての原因は「ゲーム」「ドラマ」「お風呂」など人によって異なりました。
原因に共通因子があれば良いのですが、見つからなければ対策も個別に検討しなければなりません。
こういった気づきを得ることができるのはグループワークならではです。このグループは「決まった時間に起きる」というアプローチに変更しました。

・「朝起きる」「宿題をやる」など、普段は親に言われていることを自らの課題として捉えることができる。
もしかしたら、一番の成果かもしれません。
宿題を早く片付けるにはどうしたらよいかを、子供たちが主体的に考えるなんて素晴らしくないですか?
どうして自分たちが宿題に手を付けられないのか、どうすればやる気が出るのかを考えていました。

・機械やAIとの棲み分けを考えることができた
「部屋が散らかっているかをAIに学習させ、散らかったら片付けるように教えてくれる。」というアイデアを出してくれたチームがあります。
片づけを自分でやる事が前提になっているのが素晴らしいです。大人だったら、片付けまで機械にやらせようとすることでしょう。人間としての自主性を保てるようにAIを使うという考え方が無意志に行われていました。

・特徴的な課題
カメムシが沢山発生して困る
→寒冷地ならではの課題です。AIでカメムシだけ判定して駆除するという解決策を導きました。
学校のメダカがすぐに死んでしまう
→給餌記録の自動化、自動給餌機や水温管理装置を取り付けるという解決策にたどり着きました。自動給餌機は土日の未稼働させ、平日は自分たちで餌をあげるという考え方は秀逸です。餌やりは楽しいから自分たちでやりたいとのこと。

・よく見られた課題。
宿題のやる気が出ない
→宿題をこなしたらご褒美にゲーム時間がもらえる。時間管理をAIにアシストしてもらう。別のグループではゲーム機を箱に入れ、宿題が終わるまで開かないようにするという解決策も出ました。宿題が終わったかどうかはリモートで両親に許可を取る、AIに判定してもらうというアイデアが盛り込まれました。宿題をAIにやってもらうという意見も出ましたが、グループ内で「それはダメだよ」って自制できていたのが良かったです。
朝起きれない
→ AIにやさしく起こしてもらう。起きないと水をかけられる装置を開発する。割と過激な意見が出てました。

これらは「ありふれた課題」かもしれませんが、子供たちにとっては自分事として課題を捉える良い機会です。
主催としては多様な課題が出たほうが嬉しいのですが、それはぐっと我慢。他のチームと課題や解決策が被っても問題ないという認識を持つことが大切です。

改善点
ファシリテーターのスキルによりグループワークの質が左右されます。自分の意見を主張せず、子供達の活発な議論を促すことが大切です。
将来的にはファシリテーター育成講座が別途必要ですね。

まとめ
成果が予想しにくい課題ファーストの採用を認めてくださった磐梯町に、とても感謝しています。一緒に授業を盛り立てて頂き、私自身も大きな成長になりました。

実施してみて、小学校高学年~高校生まで幅広い年代に実施可能なWSと感じました。欲を言えば、アイデア出しだけで終わってしまうのはもったいないような気もします。一つでも良いので実際にカタチにしたいところです。アイデア出し→課題選定→実現方法の具体的な検討→開発→発表 まで実施したいです。
プロダクトをコンテストに応募できれば最高です。

ワークシート
授業で利用したワークシートをPDFで公開します。自由にお使いください。