現在、私たちのありとあらゆる生活シーンで、欠かすことができなくなってきているコンピュータ。パソコンやスマートフォンだけではなく、自動車や家電など、機械と呼べるものの大半にコンピュータが搭載されています。
では、コンピュータと何なのか。
2020年度より小学校でプログラミング教育が開始されます。ここではコンピュータやプログラミングについて、子供たちが勉強していきます。ですが、普通の人では即答できないコンピュータやプログラミングをどうやって教えるのか、そもそもねらいは何なのか、この世代の親ともなると疑問は尽きないと思います。
今回は、そんな疑問の解答として、国が考えている「プログラミング教育のねらい」についてご紹介いたします。
文部科学省が考える導入の意図
テクノロジーの発展により、コンピュータは加速度的に進化してきました。社会生活において、コンピュータを切り離すことができない時代になり、「プログラム」や「プログラミング」が何なのか、その理解を深めていく必要性があります。コンピュータが何でもできる「魔法の箱」ではなく、人間が意図して使用できる道具であると認識できるように教育していく、これがプログラミング教育の目的です。
早い段階から学習することで、正しい理解の下に、子供たちが持つ可能性を顕在化させることにねらいがあります。
小学校プログラミング教育のポイント
プログラミング教育を導入する上で、文部科学省はねらいを大まかに、3つのポイントで挙げています。
- 「プログラミング的思考」を育む
- プログラムの働きやよさ、情報社会がはじめとする情報技術によって支えられていることなどに気付く。身近な問題の解決に主体的に取り組む態度やコンピュータ等を上手に活用してよりよい社会を築いていこうとする態度などを育む
- 各教科等の内容と指導する中で実施する場合には、教科等での学びをより確実なものとする
※文部科学省「小学校プログラミング教育の手引」より引用
この3つのポイントはこのままだと読み取りづらいので、ここでは①の「プログラミング的思考」と②の「気付き」と「態度」を覚えておいてください。この3つのキーワードこそが、プログラミング教育の中核といえます。③については、その教育方法になるので最後に解説します。
小学校プログラミング教育のねらい(クリックで拡大表示できます)
文部科学省「小学校プログラミング教育に関する概要資料」より抜粋
プログラミング教育の「3つの柱」
プログラミング教育では「3つの柱」と呼ばれる項目があります。学校では発達の状態に応じて段階的に育成していくことになります。子供たちは、先ほど出てきた「プログラミング的思考」、「気付き」、「態度」について学びます。
知識及び技能=「気付き」
この項目では「身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付くこと」(「小学校プログラミング教育の概要1」より引用)を、目的として学習します。
子供たちには、コンピュータが「魔法の箱」ではなく、プログラムによって人間の手で動かしていることを理解し、それは必ず1つ1つの手順を追って動作していることを教えていきます。更に、これらの技術が私たちの生活を便利にしていることについて学習します。
この項目で重要なことは、コンピュータやプログラムが特別なものではないこと、そして私たちの生活に深く関わっていることに「気付く」ことが目的になります。
思考力・表現力・判断力等=「プログラミング的思考」
この項目では「発達の段階に即して、「プログラミング的思考」を育成すること」(「小学校プログラミング教育の概要1」より引用)を、目的として学習します。
では、そもそもプログラミング的思考とは何なのでしょう。「小学校プログラミング教育の概要1」では、下記のように定義しています。
自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、1つ1つの動きに対応した記号を、どのように組合せたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力
このように説明しています。ここで誤解をしないでもらいたいことが、プログラミング的思考とは、プログラム言語を覚えたり、1からプログラミングをすることではありません。この項目の目的は、プログラムを動かすには手順やルールがあり、そのために何度となく改善を施し、目的に近づいていくことを理解してもらうことにあります。
プログラミング的思考の主な流れは、以下のようになります。
- コンピュータにどのような動きをさせたいか
- Ⅰをするために、どのような手順で動かせばいいか
- 1つ1つの命令をコンピュータに伝えていく
- 伝えた命令を、組合せていく
- Ⅰに近づけるように、命令を改善する
Ⅰを達成するために、Ⅱ~Ⅴを反復し行います。プログラミング的思考は、この学習を繰り返り行うことで、発達を促していきます。
学びに向かう力・人間性等=「態度」
この項目では「発達の段階に即して、コンピュータの働きを、よりよい人生や社会づくりに生かそうとする態度を涵養すること」(「小学校プログラミング教育の概要1」より引用)を目的として学習します。
ここでは、自分たちの身の回りにある様々な課題に対して、コンピュータをどのように活用していくか、その主体的な態度を養っていきます。同時に、周りと協力して解決を目指し、ねばり強くやり抜く態度を育成し、著作権などの権利の尊重やセキュリティ確保などの、モラルの育成にも重点が置かれています。
プログラミング教育における必須の項目「情報活用能力」
ここまでで、プログラミング教育には、
- コンピュータが身近に活用されている、コンピュータを動かすには手順があることに「気付く」
- 「プログラミング的思考」を育成する
- コンピュータを生活や社会に生かす「態度」を養う
という目的があることを説明しました。これらの教育には、根本となる観点「情報活用能力」を身につけるねらいがあります。関連資料において多く登場するキーワードで、「情報及び情報手段を主体的に選択し活用していくための個人の基礎的な力」(「小学校プログラミング教育の概要1」より引用)と説明しています。
具体的には、
- コンピュータから情報を収集、整理、発信などを適切に実行する観点=「情報活用の実践力」
- コンピュータ上で、プログラムがどのように動いているかを理解する観点=「情報の科学的な理解」
- コンピュータを使用する上で、役割や影響を正しく理解し参加する観点=「情報社会に参画する態度」
から成り立っています。プログラミング教育には、子供たちが将来、社会に参加する上で必要な情報活用能力を身につけることで、活躍の機会を増やそうとするねらいがあります。
小学校を中心としたプログラミング教育ポータルに掲載されているの概要解説動画①
小学校プログラミング教育の方法
ここまで、小学校プログラミング教育のポイントをご説明しましたが、ここからは、学校の授業にプログラミング教育をどのように導入するかについてご説明します。
おそらく大抵の人は、「プログラミングの授業が追加される」というイメージを持つ方が多いと思います。当然、そのような授業も追加されるでしょうが、学習指導要領において実践的なプログラミングの授業は中学生以降になります。
学習指導要領におけるプログラミング教育の課程のポイントは、
- 小学校=プログラミング的思考の育成
- 中学校=「技術・家庭科(技術分野)」において、プログラミング、情報セキュリティに関する内容の充実
- 高等学校=情報科を新設して「情報Ⅰ」「情報Ⅱ」を開設。プログラミング等の学習を行う
になります。前提として小学校では、プログラミングそのものを覚えるのではなく、プログラミング的思考を身につけることになります。課程でプログラムに触れることはあっても、行われるのはイメージをつかむ訓練のようなものになります。
中学校は2021年から、高等学校2022年から実施予定(クリックで拡大表示できます)
ウィキペディア「学習指導要領」より引用
プログラミング教育導入の要点(クリックで拡大表示できます)
文部科学省「小学校プログラミング教育に関する概要資料」より抜粋
プログラミング教育の分類
プログラミング教育導入のねらいには、「各教科等の内容と指導する中で実施する場合には、教科等での学びをより確実なものとする」という文言がありました。これは、端的に言うと「一般の学習活動で中にプログラミング的思考を導入し、学習活動で得られる理解を深めていく」ということです。
この学習活動は6つに分類されています。
- 学習指導要領に例示されている単元等で実施するもの
- 学習指導要領に例示されてはいないが、学習指導要領に示された各教科等の内容を指導する中で実施するもの
- 教育課程内で各教科等とは別に実施するもの
- クラブ活動など、特定の児童を対象として、教育課程内で実施するもの
- 学校を会場とするが、教育課程外のもの
- 学校外でのプログラミングの学習機会
※文部科学省「小学校プログラミング教育の手引」より引用
このうち、EとFは教育課程外の指導で、主に部活動や課外授業などの学習活動が該当します。逆に、A~Dは教育課程内の指導で、一般の授業を始め、学級活動、ホームルーム活動、生徒会活動(委員会など)、クラブ活動、児童会活動、学校行事(文化祭、合唱コンクールなど)があります。学校側が主体で指導するのは、A~Dになります。
小学校を中心としたプログラミング教育ポータルに掲載されているの概要解説動画②
プログラミング教育をサポートするサイト
具体的な指導方法がどうなるかは、学校側がカリキュラムを作成するので、ここでは説明ができません。ですが、官民が共同で立ち上げた「未来の学びコンソーシアム」では、「小学校を中心としたプログラミング教育ポータル」というサイトで、具体事例を紹介しています。
プログラミング教育では「Scratch(スクラッチ)」と呼ばれるツールが使用されます。マサチューセッツ工科大学が公開しているビジュアルプログラミング言語で、ドラック&ドロップで操作ができます。キーボードによる複雑な操作がないので、小学生でも簡単に扱えるのが特徴です。動画で紹介されているもの以外にも、下記の具体例があります。
正多角形をプログラムを使ってかこう(クリックで拡大表示できます)
文部科学省「小学校プログラミング教育に関する概要資料」より抜粋
正多角形の特長を理解し、プログラムを使って図形を作成します。この授業では正多角形、円周と直径についてワークシートとScratchを用いながら学習しています。
電気を効率よく使うにはどうしたらよいかを考えよう(クリックで拡大表示できます)
文部科学省「小学校プログラミング教育に関する概要資料」より抜粋
ここでは、USBの小型扇風機を使って発電と蓄電、電気の効率的な使い方について学習をしています。実際にプログラムを行い、どのようにすれば効率的になるかが話し合われています。
まとめ
今回は、小学校プログラミング教育についてご紹介しました。本音を言えば、筆者はこのプログラミング教育というものに懐疑的で、筆者自身の疑問を払拭するという動機でテーマに挙げてみました。調べていくと、そこには明確な目的があり、決して思いつきで始めるわけではないと理解できました。
プログラミング教育の要点をまとめると、
- 行われるのは、プログラミングをイメージする訓練
- 訓練によって「プログラミング的思考」を身につける
- 同時に、コンピュータがもたらす影響を教えて、どのように参加するべきなのか考える基礎力を身につける
といった内容です。テクノロジーの進化は止まることがないので、時代の進化に対応できる人材を育成していくことが目的といえるでしょう。
世の中には、この新しい試みに疑問や不安を抱く声もありますが、決して的外れのことを始めるわけではありません。ですが、この分野の教育が成熟していないこともまた事実です。長い目で見ていく必要もあるでしょう。
今後、この教育を発展させていくためには保護者や学校だけではなく、周りの社会も十分に理解を深め、支えていく必要があると思います。本記事が、その助けになるのであれば幸いです。