2022年度から、すべての高校生がプログラミング教育を受けています。
普通,“プログラミング”というと専門技術ですよね。
でも,プログラマーを目指す生徒でなくとも,誰もが、高校で必ずプログラミングを学びます。
高校生や保護者の皆さんは,疑問を持たれるのではないでしょうか?
どうして、すべての高校生がプログラミング教育を受ける必要があるのか。
高校のプログラミング教育では何を,どのように学ぶのか。
一応,プログランニング教育について,文部科学省から資料がいくつも公開されています。
でも,情報が分散していて,さらに文言も難しく,非常にわかりにくいです。
そこで,さまざまな情報を丁寧に読み解き,私の経験を整理して紹介し,「なぜ,すべての高校生がプログラミングを学ぶのか?」という疑問に答えます。
高校生のみなさんも,勉強する意味がわかると。少しはやる気が起きるでしょう。
また,保護者の方も,お子さんにやる気を起こさせるネタに,どうぞご活用ください。
なぜ,すべての高校生がプログラミング教育を受ける必要があるのか?
背景に,Society 5.0あり
政府の第5期科学技術基本計画(平成28年)において,日本が目指すべき未来社会の姿としてし,“Society 5.0”が提唱されました。
「科学技術基本計画」は、政府が策定する、10年先を⾒通した5年間の科学技術の振興に関する総合的でかつ基本的で極めて重要な設計図なんです。
興味あろうと,なかろうと,日本の中で生活するのならば,自分に必ずかかわってきます。
では,この中で提唱されている“Society 5.0”とは,どんな社会なのでしょうか?
次のように,定義されています。
Society 5.0とは
https://www8.cao.go.jp/cstp/society5_0/
サイバー空間(仮想空間)とフィジカル空間(現実空間)を高度に融合させたシステムにより、経済発展と社会的課題の解決を両立する、人間中心の社会(Society)
なんとなく,コンピュータの利用がさらに進んだ社会の感じがします。
現在,日本では,Society 5.0の実現を目指して具体的な施策が検討され,実施されています。
当然,学校で勉強する内容にも影響します。
でも,なぜ,”Society 5.0”を目指すと,プログラミング教育が必要になるのでしょうか?
なぜ,”Society 5.0”を目指すと,プログラミング教育が必要になるのか。
”Society5.0に向けた人材育成に係る大臣懇談会”が,Society5.0の実現に向け、広く人々にはどのような能力が必要か議論し,次のように報告しています。
(2)共通して求められる力
Society 5.0に向けた人材育成~社会が変わる、学びが変わる
(中略)
特に、共通して求められる力として、①文章や情報を正確に読み解き、対話する力、②科学的に思考・吟味し活用する力、③価値を見つけ生み出す感性と力、好奇心・探求力が必要であると整理した。
Society 5.0の実現に求められる3つの力のうち,”科学的に思考・吟味し活用する力”が,プログラミング教育の必須化との関係が強いです。
”科学的に思考・吟味し活用する力”について考えてみましょう。
なぜ,”科学的に思考・吟味し活用する力”が求められると,プログラミング教育が必要になるのか。
”科学的に思考・吟味し活用する力”は,漠然とした表現で,プログラミングとの関係があいまいです。
そこで,報告書をさらに読み解き,”科学的に思考・吟味し活用する力”を,次の4つの力に細分化しました。
- 機械を理解し使いこなすためのリテラシー
- サイエンスや数学の力
- 分析的・クリティカルに思考する力
- 全体をシステムとしてデザインする力
”機械を理解し使いこなすためのリテラシー”とは,コンピュータ,ネットワークのしくみを理解して使いこなすための知識やそれを活用する能力です。
”サイエンスや数学の力”は,そのまま,理科や数学の力です。理科や数学を学ぶことで身につけられます。
”分析的・クリティカルに思考する力”とは,物事の前提の正誤を検証したのち、その事象の本質を見極める力のことです。プログラミング教育でなくとも,他の教科の学習で身につけられます。
”全体をシステムとしてデザインする力”とは,全体を個々の要素が有機的に組み合わされ,方向性をもったひとつのまとまりとして立案・設計する力です。
プログラミング教育が必須化に関係が深いのは,”機械を理解し使いこなすためのリテラシー”と”全体をシステムとしてデザインする力”です。
では,なぜ,”機械を理解し使いこなすためのリテラシー”と”全体をシステムとしてデザインする力”が求められるとき,プログラミング教育なのでしょう。
なぜ,”機械を理解し使いこなすためのリテラシー”が求められるとき,プログラミング教育なのか?
”機械を理解し使いこなすためのリテラシー”とは,コンピュータ,ネットワークのしくみを理解して使いこなすための知識やそれを活用する能力です。
”コンピュータ,ネットワークを使いこなす”は,”コンピュータやネットワークの特性を把握し,性能を十分に発揮させるように、コンピュータに命令し、処理を行わせること”と言い換えることができます。
そのためには,プログラミングが必要になります。
そのため,プログラミング教育を通じて,”機械を理解し使いこなすためのリテラシー”を向上させることが期待できます。
なぜ,”全体をシステムとしてデザインする力”が求められるとき,プログラミング教育なのか?
ここで,プログラムが何なのか再確認しましょう。
簡単に言うと,プログラムは「コンピュータにさせる単純な命令を、処理する順番に記述したもの」です。
たとえば、人間であれば”右に3歩動いて!”ということでも,ロボットにさせるには,右足を上に上げる,右足を横に一歩移動,右足を下す,左足を上げる,・・・」のように,プログラムを記述します。
つまり,”課題解決を解決するため命令を順番に組み立ててプログラムを記述すること”は,”全体を個々の要素が有機的に組み合わされ,方向性をもったひとつのまとまりとして立案・設計すること”と共通しています。
ところで,”全体をシステムとしてデザインする力”は,”全体を個々の要素が有機的に組み合わされ,方向性をもったひとつのまとまりとして立案・設計する力”でした。。
そのため,プログラミング教育を通じて,”全体をシステムとしてデザインする力”を向上させることが期待できます。
プログラミング教育は,“Society 5.0”の実現に求められる,科学的に思考・吟味し活用する力を育成するために行われます。
プログラミング教育の必須化は,高校の一教科についての改定という限定的な話ではありません。
社会が変わろうとしている流れを感じながら,対応する必要があります。
なぜ,すべての高校生がプログラミング教育を受ける必要があるのか?
ここまでをまとめると,次のようになります。
日本は,サイバー空間(仮想空間)とフィジカル空間(現実空間)を高度に融合させたシステムにより、経済発展と社会的課題の解決を両立する、人間中心の社会(Society)である,Society 5.0を目指しています。
このSociety 5.0実現のために人々に求められる共通の力である,”科学的に思考・吟味し活用する力”をコンピュータ,ネットワークのしくみを理解して使いこなすための知識やそれを活用する”ことや”課題解決を解決するため命令を順番に組み立ててプログラムを記述する”などのプログラミング教育によって向上させるためです。
このような日本社会の中でさまざまなチャンスを掴み生き抜くために,誰もがプログラミングの考え方を身に付ける必要が出てきました。
プログラミング教育では何を学ぶのか?
では,実際のところ,高校では,プログラミング教育で何を学ぶのでしょうか?
プログラミングの授業では,さまざまなことをやりますが,主に次の3つのことを学びます。
- アルゴリズム(手順・方法)によって処理の結果や効率に違いが出ること
- アルゴリズム(手順・方法)を正確に記述することの重要性
- プログラミングの意義や可能性
ポイントをくわしく解説します。
①アルゴリズムによって処理の結果や効率に違いが出ること
アルゴリズムは,簡単に言えば,コンピュータで計算する方法や手順です。
例えば,目的を達成するためにアルゴリズム(手順・方法)を工夫することで、効率が良く目的を達成できることを学びます。
コンピュータによるデータの処理の働きとして,データの探索とソートがあります。
探 索:数多くのデータの中から必要なデータを探し出すこと
ソート:数多くのデータを昇順,降順に並べ替えることです。
このようなアルゴリズム(方法・手順)やデータ数,探索する値が異なれば,処理時間が異なることを理解します
②アルゴリズム(手順・方法)を正確に記述することの重要性
正しいアルゴリズム(手順・方法)を正確にプログラムで表さないと,コンピュータがうまく働かないことを学びます。
③プログラミングの意義や可能性
人間では,誤ったり,処理できないような膨大あるいは複雑な作業でも,正しくプログラムを作ることで,効率よくコンピュータで処理できることを学びます。
プログラミングしてコンピュータで処理することで生活が便利になることをイメージし,プログラミングへの意欲を高めます。
少し,難しい感じがします。
こんなことを,一年中授業でやるとしたら,とても不安になります。
次に,どのように,プログラミングを学ぶのか紹介します。
どのようにプログラミングを学ぶのか?
一年を通して,コンピュータに向かってキーボードをたたき,プログラムを作ることを学ぶわけではありません。
実際にアルゴリズムやプログラムを作成するのは,「情報Ⅰ」という教科の授業の中で,年間約70時間のうち,16時間程度です。
嫌いな人にとっては苦痛だと思いますが,一年中,続くわけではありません。
学校によっては,行事やコンピュータ室利用の制約でもっと減ることが予想されます。
あまり,心配しなくてもいいと思います。
まとめ
今回は,次の目的で,「なぜ,すべての高校生がプログラミングを学ぶのか?」について,解説しました。
- プログラミングの授業について,高校生のみなさんがやる気を起こす。
- プログラミングの勉強について,保護者の方が,お子さんにやる気を起こさせる。
最初に,すべての高校生がプログラミング教育を受ける理由を説明しました。
- 日本は,未来社会の姿Society 5.0を目指している。
- Society 5.0実現のために,人々に”科学的に思考・吟味し活用する力”が求められている。
- プログラミング教育で,”科学的に思考・吟味し活用する力”を向上させる。
次に,プログラミングの授業で学ぶことのポイントを解説しました。
①アルゴリズム(手順・方法)によって処理の結果や効率に違いが出る。
②アルゴリズム(手順・方法)を正確に記述することの重要性
③プログラミングの意義や可能性
どのようにプログラミングを学ぶのか,情報を整理しました。
①主に,教科「情報Ⅰ」の中で実施
②教科「情報Ⅰ」では,年間70時間のうち,16時間程度
プログラミング教育というと,大げさなイメージがあって,身構えてしまいます。
しかしながら,プログラミングは,そんな特別なことでないです。
”自分がプログラミングすることで,どんなことができる?”くらいの興味・関心を持つくらいの気持ちがちょうどいいでしょう。
学校に頼らなくても,家庭でプログラミングを楽しむこともできます。
まずは,プログラミングを楽しむツールを見てみてはいかでしょうか。
次の記事に,プログラミングを楽しむツールを紹介しました。
以上,「なぜ,すべての高校生がプログラミングを学ぶのか?」について,解説しました
【参考文献】
第5期科学技術基本計画
Society 5.0に向けた人材育成~社会が変わる、学びが変わる
高等学校学習指導要領(平成30年告示)解説 情報編
コメント