小学校算数におけるプログラミング教育
小学校算数におけるプログラミング教育について、なにを狙いとしてどのように行われることが期待されるのか、文部科学省初等中等教育局教育課程課 教科調査官の笠井 健一さんにお話を伺いました。
小学校算数におけるプログラミング教育をお聞きしました。
Q1. 算数科においてプログラミング教育はどのように扱われるのでしょうか?
小学校におけるプログラミング教育は、プログラミング的思考を育むために行います。「プログラミング的思考」とは、自分が意図する一連の活動を実現するために、どのような動きの組み合わせが必要か、どのように改善していけばより意図した活動に近づくのかということを論理的に考えていく力です。
小学校においては、教育課程全体を見渡し、プログラミングを実施する単元を位置付けていく学年や教科等を決定する必要があります。小学校学習指導要領では、算数科、理科、総合的な学習の時間において、児童がプログラミングを体験しながら、論理的思考力を身に付けるための学習活動を取り上げる内容やその取扱いについて例示されています。
算数科において、プログラミングを体験しながら論理的思考力を身に付けるための活動を行う場合には、算数科の目標を踏まえ、数学的な思考力・判断力・表現力等を身に付ける活動の中で行うものとしています。
算数科においては、問題解決したのち、問題解決の仕方を振り返り、問題解決の方法をより簡潔・明瞭・的確なものに高めたり、それを手順としてまとめたりするという学習活動が多く行われます。例えば、整数などの計算の仕方を考えた後、計算の仕方を簡潔・明瞭・的確なものとしていく中で、筆算という形式で表し、計算の仕方を筆算の手順としてまとめていきます。筆算として計算の仕方をまとめた後は、手順通りに間違いなく筆算を行うことが大切になります。これは技能です。このように算数科の学習は、問題の解決には必要な手順があることに気付くことに資するものです。
算数科においては、「例えば第2の各学年の内容の〔第5学年〕の「B図形」の(1)における正多角形の作図を行う学習に関連して、正確な繰り返し作業を行う必要があり、更に一部を変えることでいろいろな正多角形を同様に考えることができる場面などで取り扱うこと。」と示されています。
算数科ではこのような活動を行うことで、問題の解決には必要な手順があることと、正確な繰り返しが必要な作業をする際にコンピュータを用いるとよいことに気付かせることができます。
Q2.算数科におけるプログラミング教育の実践事例について紹介いただけますか?
第5学年の図形領域の正多角形の作図を行う学習に関連した実践を紹介します。以下「スクラッチ」というソフトを使うことを例に説明します。
児童は、円を描いて、中心の角を等分する仕方で正多角形を書くことは学習済みです。これは「正多角形は円に内接する」という性質をもとに作図をしていることになります。一方、正多角形は「全ての辺の長さが等しく、全ての角の大きさも等しい」という性質(中学校数学では定義)をもとに描くこともできます。正方形や正三角形ならこの方法でかいても上手に描くことができますが、辺の数を増やして正六角形ぐらいになると、なかなか上手に描くことができなくなります。
一方、プログラムをかいてコンピュータ上で作図すると、正三十六角形など、辺の数が多い正多角形も、素早く簡単に描くことができます。このことに児童は感動し、プログラムを使って作図することのよさを感じることができ、正多角形の作図を行う学習に関心をもって取り組むことができます。
小学校におけるプログラミング教育は、プログラムを書けることを目的としているわけではありません。プログラミング的思考を育成することにねらいがあります。
とすると、授業の展開は、問題発見・解決の過程を通すことが必要になります。すなわち、子供たちにどのようにプログラムを変更するといいのかを考えさせることが大切になるのです。
そこで、正方形を描くためのプログラムを例示します。その中で「(80)歩前に進む」「(90)度回転する」というコマンド使うことで描くことができること、これらを4回ずつ使って正方形を作図することができるけれども「(4)回繰り返す」というコマンドを使うともっと簡単に描くことができることを知ります。
その上で、「正三角形や正六角形について、プログラムを使って描こう」という課題に取り組みます。そこで多くの子供は、正三角形を描くのに「60度」、正六角形を描くのに「120度」として、プログラムを書きますが、実際描くとうまくいかないことに気付くのです。
そこで、どうしたらよいか考えることがプログラミング的思考です。「逆にすればよい」ということに気付いた子供に、「どうして逆になるのか」を考えさせることが大切です。そのことにより、回転している角は、「180-内側の角」になっていることに気付いていくのです。このことに気付くことで、正八角形や正二十角形のときは何度にしたらよいかも分かってきます。
正二十角形は、180-162で18度になることが分かります。実際18度で描いてみると、画面からはみ出してしまいます。そこでまた考えることが出てきます。今度は前に進む長さである「80歩」を少なくしないといけなくなるのです。
このようなことに気付いた子供は、今度は自分からもっと辺の数が多い正多角形を描こうとするでしょう。鉛筆とコンパスでは描いたこともなかったような・・・・。
このような子供が実際に考える場面を仕組みながら、プログラミング的思考を育むプログラミング教育を行っていただければと思います。
Q3. 上記の実践事例以外で、算数科においてどのような単元でプログラミング教育が実践できそうでしょうか?
大きな数の公約数や公倍数を見付ける活動も考えられるかもしれません。小学校の児童は素因数分解を学んでいないので、素朴に実際に調べていくことで見付けるからです。
Q4. 一方で、 算数科におけるプログラミング教育について、どのような授業は適切ではないとお考えでしょうか?
プログラムを先生が教えて児童が書けるようにする指導は、算数科におけるプログラミング教育としてふさわしくないと思います。知識を伝え技能を高める指導だからです。
あくまでもプログラミング教育は、児童の思考力・判断力・表現力等の育成に資するものである必要があります。そのために、児童がプログラムを書くときに思考することが大切になるのです。
また、もっとも気を付けなければならないことは、算数科の時間でプログラミングを行うので、算数科における学習内容との関連があり、学習する必要性があることが大切です。これがなければ、その授業は適切とは言えません。言い換えるとプログラムを教えることのみを目的とする指導はふさわしくありません。あくまでも、算数科の学習に資するものであることが大切です。例えば、算数の文章問題について、プログラムを用いて絵に表すということは、算数の問題解決がよりよくできるようになることに資するわけではないので、ふさわしくありません。
さらに、プログラムを書いてよかったと思えるものでなければならないと思います。正多角形の例では、子供たちは、正六角形などは描いたことがありますが、正十二角形などは描いたことはありません。プログラミングをして初めて描くことができたわけです。算数教育にとっても子供のためになる指導といえることになるのです。
Q5. 算数科においてプログラミング教育を行う際、どんなプログラミング環境や教材があると望ましいのでしょうか?
例えば、今回紹介している「スクラッチ」というソフトは、児童が使うコンピュータがインターネット環境にあり、今回紹介したソフトのサイトに行くことができれば、すぐに使うことができます。
もしくは、今回紹介したソフトを児童のコンピュータにインストールすることができさえすれば、すぐに取り組むことができます。
Q6. 最後に、プログラミング教育にどの様な期待をお持ちでしょうか?
今回お示ししている「スクラッチ」というソフトを使って正多角形を描く実践例は、児童のコンピュータがインターネット環境にあれば、すぐに実践できます。地方自治体のコンピュータソフトのインストール規定に照らし合わせて、児童のパソコンにインストールすることができれば、費用もかからず取り組むことができます。また、事例自体も2時間を想定していますので、多くの時間がかかりません。
「正多角形」の実践は、全国の小学校でプログラミング教育が実際に行われることに資するものになると思います。是非積極的に、教材研究をして取り組んでいただきたいと思います。

東京学芸大学附属小金井小学校教諭、東京都日野市立日野第七小学校教諭その後主幹、山形大学及び山形大学大学院講師を経て、平成20年10月より現職。
(役職名は記事公表時のものです)