テラボブログ

プログラミング教育で目指す力

2024年11月1日

こんにちは、本多です。
このブログでは、プログラミングや教育のことについて書いていきます。

さて今回は、小学校プログラミング教育で目指す力について書いていきます。(前回の記事はこちら

小学校で行われているプログラミング教育。これらがどのような目的で行われているのか
今回は、文科省が提示する3つの力から、それを探っていきたいと思います。その中でも謎な言葉、「プログラミング的思考」についても考えていきます。

3つの柱で分類される、教科で目指す力

まず現行の学習指導要領においては、3つの柱と呼ばれる分類で各教科でめざす力を明示しています。それぞれの柱は順番に「知識及び技能」、「思考力、判断力、表現力等」、「学びに向かう力、人間性等」となっています。

例えば、小学校1年生の算数の目標は以下のようになっています(読み飛ばして構いません)。

(1)数の概念とその表し方及び計算の意味を理解し,量,図形及び数量の関係についての理解の基礎となる経験を重ね,数量や図形についての感覚を豊かにするとともに,加法及び減法の計算をしたり,形を構成したり,身の回りにある量の大きさを比べたり,簡単な絵や図などに表したりすることなどについての技能を身に付けるようにする。
(2)ものの数に着目し,具体物や図などを用いて数の数え方や計算の仕方を考える力,ものの形に着目して特徴を捉えたり,具体的な操作を通して形の構成について考えたりする力,身の回りにあるものの特徴を量に着目して捉え,量の大きさの比べ方を考える力,データの個数に着目して身の回りの事象の特徴を捉える力などを養う。
(3)数量や図形に親しみ,算数で学んだことのよさや楽しさを感じながら学ぶ態度を養う。

文章から分かる通り、(1)が知識及び技能、(2)が思考力、判断力、表現力等、(3)が学びに向かう力、人間性等となっています。このように全ての教科が3つの柱によって、目指す力を分類し明記しているのです。
これらの目標は「学校教育の法律」ともいわれるほど教科の指針となるものであり、学校の先生が年間指導計画を作成したり、日々の授業を作る上での根拠になっています。

プログラミング教育における、3つの柱は何か

では、プログラミング教育の目標をそれぞれ3種、見てみましょう。都合上「知識および技能」→「学びに向かう力、人間性等」→「思考力、判断力、表現力等」の順番で進みます。
まずは、知識及び技能からです。

【知識及び技能】身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付くこと。

ここでは子どもがコンピュータを活用することを通して、まず「気づき」を得ることが目標に定められています。コンピュータやプログラミングは子どもの身の回りに常に存在するものではありますが、実際に意識することはありません。そこの解像度を上げ、身の回りにある見えないコンピュータを認識することが、まず重要となります。そして、それらがプログラムで動いていることを認識することも重要です。プログラムで動いている以上、正しい手順を踏むことでコンピュータを有効に活用することができます。
このように、「プログラムで動いているコンピュータ」に気づくことがこの部分の目標であると解釈できます。また、この気づきは学年を経て、プログラムを作ることへと学習が進んでいきます

次に学びに向かう力、人間性等です。

【学びに向かう力、人間性等】発達の段階に即して、コンピュータの働きを、よりよい人生や社会づくりに生かそうとする態度を涵養すること。

現代社会においては、コンピュータを活用して生活していくことが求められます。日ごろからコンピュータを活用して問題解決をしたり、新しい価値を創造したりすることで、それらを人生や社会において生かそうとする態度を養うことができます。
またこのような態度から、これからの社会を担う人材としてより良い社会を創造する、コンピュータやプログラムの開発へと進んでいきます

プログラミング的思考とは

【思考力、判断力、表現力等】発達の段階に即して、「プログラミング的思考」を育成すること。

ここでは、「プログラミング的思考」という言葉が取り上げられています。この言葉は一体何なのでしょうか。
まず、同文献に記述されている定義を見てみましょう。

「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」

このままだと少し分かりづらいですね。以下のように、順番性を持って理解すると分かりやすくなります。
①やりたいことがある。(問題と捉えてもよい)
②それを実現する、動きの組み合わせを考える。
③動き1つ1つを対応した記号に置き換え、組み合わせる。
④論理的に考え、意図する活動に近づくように②③を改善していく。

少し分かりやすくなったでしょうか。
プログラミングに馴染みがない人でも分かりやすいよう、英語の英作文で上記の①~④を考えると、以下のようになります。
①好きな動物とその理由を英語で書くとする。
②日本語でどのような内容を書くか考える。
③日本語で考えた文章を英語にする。
(正解か間違いか、のみが与えられる)
④間違いであれば、どこが間違っているかを考え、②からやり直す。

だいぶ分かりやすくなりました。
さて、この例を見ると、一言に「プログラミング的思考」といっても、様々な力が関わっていることが分かるでしょうか。
まず①から②に進むには、問題を解釈し適切な文を考える必要がありますし、自身が使える英語の中で文を考える必要もあり、知識と思考をフル活用する必要があります。
次に②から③では、英語の知識をもとに正確に翻訳していく必要があります。日本語と英語は単語が1対1で対応しておらず、文の構造も大きく違います。また、スペルが一つ違えばその文は成り立たなくなってしまいます。それらを念頭に正しい文を書いていく必要があります。
④では、まずどこが間違っているか、それらを論理的に考えていく必要があります。時には文法を復習したり、辞書を開く必要もあるでしょう。これには粘り強く試行錯誤することが必要となります。

さて、これらのような力を総合したものが「プログラミング的思考」であるとされています。
お気づきかもしれませんが、このような力は一昔前では「問題解決能力」と呼ばれており、「プログラミング」という名こそついていますが、その実態はプログラミングを大きく超えるものであると考えられます。
実際文科省も、「プログラミング的思考」はプログラミングに限らず共通に求められる力であるとしており、文科省の掲げる学習の基盤となる3つの能力「言語能力」「情報活用能力」「問題発見・解決能力」と強く結びついたものであると推測されます。

終わりに

以上「知識及び技能」、「思考力、判断力、表現力等」、「学びに向かう力、人間性等」の中身を紹介しました。3つすべて重要ですが、その中でも「思考力、判断力、表現力等」における「プログラミング的思考」は、プログラミング教育の中核であることが明示されています。これを育成できるよう授業を作り上げることが、プログラミング教育の最低限となります。本校でも、この部分がぶれないよう、教材開発や授業を行っています。

この記事は以上となります。
今回は、小学校プログラミング教育で目指す力について解説しました。
週1時間は、子どもにとって大きな時間です。その時間以上の成長ができる環境を整えなければいけません。そうするには、教員が目指す力を内面化して教材を作成したり授業を行う必要があります。また、小単元が終わった際にそれらの目標が達成されていたか、改善の余地はないかを検討し、すべてをブラッシュアップさせていくことが重要です。
地道ではありますが、そういったことを続けていきたいと思います。
次回は、本校で行われているマインクラフトを用いたプログラミング教育の長所について、解説していきます。
ここまでお読みいただきありがとうございました。

(文責 本多)

引用文献
文部科学省(2018),小学校学習指導要領(平成29年告示)解説 算数編
文部科学省(2020),小学校プログラミング教育の手引(第三版)