〜学校における「プログラミング教育必修化」に向けたアイデア〜最新のAI/IoTプログラミング教育を“誰でもかんたんに使える”教材で行ってみませんか?
初等教育におけるプログラミング教育の必修化にむけて
Gravio事業部のタルミです。わたくし、実は遡ること○十年前に高等学校教諭一種免許状(地理歴史)を取得していたのですが、当時、生徒数減少で教員募集がほとんどなかったがゆえ、一般就職の道を選びました。その後、ずーっとIT畑を彷徨っており、教員の資格が日常で役立つことがございませんでした。
今回、初めてすこしばかり皆様のお役に立てるような気がしています(笑)。
前置きはさておき、早速、必修内容を把握していきたいと思います。
まずは文部科学省さん謹製のサイトにアクセスし、「教育の情報化の推進」というページを覗いてみます。
で、ちょっとロードの遅いページを開き始めると、いきなりの「安全ではありません」サイトの警告。
あぁ、httpsじゃないんだなぁ、様々な環境から見られるようにしているんだなぁ、古いBrowserを使っている人にも優しいんだなぁ、などと思いながら読み進めていきます(この時点で結構読む気を削がれているのは内緒です)。
サイト上には各種テキスト教材(PDFですね)と文科省さん謹製の映像教材(こちらはなぜかYoutubeでちょっとビックリ!てっきりコンテンツ直置きかと!)がハイパーリンクで貼られておりましたので、両方見ていきます。
コンテンツによって再生回数に差異はありますが、この回数って、
時として残酷・・・(以下略
まぁ、すべての初等教育に従事されている先生方が、というのは無いと思いますが、初等教育に従事している教員数が42万人いるのに加え、当然チャンネル登録している人には保護者や塾の先生なども入っていると推測します。現時点でのチャンネル登録者は3万人以上おられるようなので、まだまだこれから、といったところなのでしょう。
しかしながら、Youtubeのような媒体を利用して情報を拡散していく、という考え方は歓迎できるものと言ってよいのではないでしょうか。
で、上記のコンテンツに目を通した、まとめとして、
(HACCPのときも簡単に要約しましたが、あくまでも私見での要約です)
1:情報化、グローバル化がグングン来てる、AIが社会を変えちゃうかも?
2:「ゲーム・チェンジ」で人がやってる仕事なくなるんじゃね?
3:時代の変化にポジティブに対応できる「ニュータイプ」を育成しなきゃ!
4:うまくいったら社会も人生もオールハッピーになるよね!
というお題に沿った、実際の方針がこちら
1:情報化の最たるものはコンピュータ、それは魔法の箱
2:魔法の箱はプログラミングで動く
3:魔法の仕組みを理解し、上手く、主体的に使えるようになろう
4:上手く使えれば、起業したり特許を取得したりする子供が育つ
5:どんな仕事でもコンピュータ活用は重要
すみません、堅い文章なので、若干悪ノリしてしまいました。
結果、子供のチカラとして養いたいのは、「情報活用能力」ということです。
この活用能力には3つのピラーが設定されていて、情報活用の実践力、情報の科学的な理解、情報社会に参画する態度、という3つのチカラの育成が該当します。このうち「プログラミング教育」は情報の科学的な理解のため必要な教育、ということです。「情報活用の実践力」はICTの基本的な操作、情報の収集、整理、発信(≒インターネットの活用)、「参画する態度」は情報モラル(SNSや動画のマナー、ルール、掲示板、コミュニケーションツールなど)が対象となっています。
話は変わりますが、公立小学校の先生の平均年齢は43.4歳(平成28年度)だそうです。
その平均年齢をもとにICT業界の目線および時間軸に照らし合わせてみますと、むしろ現在の「完成されたサービスやアプリの提供」ではなく、コンピュータで「自らソフトウェアを創る」経験をお持ちの先生は少なくないと思います。実際、私も小学校の頃に友人達とプログラムを作成したり(今で言う円を描画するプログラムですね。Basicだったので、circleほにゃらら、とかやってました)、大学の教育専攻課程でもコンピュータによるプログラミングは必須でした。
ココまで書くと年齢がバレてしまいますが、
要は、私も公立小学校の先生方と同世代、ということです。
初等教育におけるプログラミング教育の「ねらい」
さて、この「ねらい」を達成するため、どのようなことをすべきか、を考えてみます。
金科玉条である文科省さんの「手引き」に基づきますと、
1:プログラミング的思考を育成する
※プログラミング言語を覚えたり、プログラミングの技能習得そのものを目的とはしない(ここ重要!)
2:プログラムによってコンピュータをはじめとする情報技術が役にたち、それらが社会を支えていることを理解する
3:身近な問題を自らコンピュータなどを上手くつかって改善・解決していく
ただし、本必修に向けて新しい科目を増やすわけではないので、各教科内の学びと連携して、その学びをより確実なものとする、と附されています。
重要なことなのでもう一度記載しますが、プログラム技術の習得が目的ではなく、プログラムは人が作ること、プログラムによってコンピュータは「指示されたふるまい」を実行すること、ということに、
小学生が「気づく」ことが本必修では重要とされています。
そして、その利便性を活用して「よりよい人生、生活、社会」に活用する態度を養うことが求められています。もちろん、主体性を重要視しているので、児童が自ら考えて取り組むべき、としています。
日々の人生や生活、社会に役立つ「プログラム」の再考
プログラム教育の実習で、正多角形をプログラムを利用して描く、という単元があります。ネコから逃げるプログラムを作る、卵が割れたらヒヨコが出てくるプログラムを作る、というのもありますね。プログラミングの初歩、仕組みを理解する上で重要なことだと思います。
このような必修における学習例をもとに、もっとコンピュータに「ふるまわせる」ことで、そのチカラが役に立つプログラムってなんだろう、と考えてみました。一般社会において要請されているニーズと照らし合わせてみると、働き方改革、ワークスタイルの効率化、少子高齢化、環境負荷の軽減、ダイバーシティー、グローバライゼーションなどが上げられるかと思います。そのような視点からみた、「役立つことがすぐに感じられる」プログラムとはなにか、ということです。
言い換えれば、「身の回りでおきている問題」を「解決できる」こと。
しかも「問題」は日々新しいもの、今までに経験したことがないようなものが次々と発生してきます。そのような「問題」を「情報」として収集し、その情報をもとに「解決するために必要な動作」をおこなうこと、またはさまざまな情報を集めて、解決するために有益な情報としてまとめたり、考えたりして戻してあげること。こういった視点で考えてみるのはどうでしょうか。
IT的な視点で考えると、複雑化する諸問題解決の一つのシナリオとして、「センシング」と「アクチュエーション」、さらには「推測」といった、IoTやAIのエッセンスを取り入れた「プログラム」というのは重要なのではないでしょうか。
一つの例として、自動運転を取り上げてみましょう。危険回避、労働力効率化、高齢化などに対して有効な手段であるこの技術は、エッジ側のデータ処理技術の進歩、ハードウェアの性能向上により、日々進化しています。私が知る限り、道路に誘導ケーブルや磁石を埋め込んでトレースさせる自動運転は50年以上前から研究されていて、一部はゴルフ場のカートや無人運転型の電車などで実装され、商用に供されています。それが、今では様々なセンサーやカメラとAIが協調してさらなる危険を察知したり、ネットワークを活用することで、周囲の状況をもとに協調運転が行なえたりと進化しています。地形などもGPSや地図情報から取得できますから、高度差やカーブの連続といった地図やGPSの情報を用いてギアの変速をコントロールしたり、さらにはブレーキやスロットルの電子化、ハンドル倍力装置の電子化などとあわせ、よりスムーズに、安全に走れるよう、進化を続けています。
例を上げればキリがありませんが、このような自動化は、先に述べた様々な問題に対しての回答になりうるものだと思います。
そしてまた、この「自動化」には、センシング、推測、アクチュエーションを取りまとめる「プログラム」が重要なのはいうまでもありません。
まとめ
本当に世の中の「解決したいこと」に対し、「打ち手」としてプログラムを利用するのであれば、その論理的な構造、全体のデータの流れ、得られるべき効果、というものが簡単に試せるだけではなく「教える」ことができるものでなければならないのでは、との思いがより強くなりました。
特定のプログラミング言語に依存せず、頭の中で描いた「データの流れ・取り回し」が目に見えて、だれもがわかる形で「実装」でき、有益な効果を得ることができる、そのような土壌を育む第一の段階が初等、中等教育であっても早くないのではないでしょうか。
結果、効果を生むための「考え方=ロジック」をまず理解することで、
発展的にプログラミング言語そのものを習得し、より高度なことを実現できるようになる、という算段です。
これから開始されるプログラミング教育は必修科目ではありますが、コンテンツの選定や、どの教科の中で本必修を活用するかなど、ある程度現場の教員に委ねた形でスタートすることになるでしょう。とはいえ、先生方の限られたリソースの中では、教材の選定などで悩まれるケースも少なくないと思います。
少しばかり宣伝にはなりますが、是非弊社GravioやPlatioをご活用いただき、プログラミング教育の核であり狙いでもある「情報活用能力の向上」を「ノーコード」で、ロジックそのものをわかりやすく教える「教材」としてご利用いただければ幸いです。