小学校のプログラミング教育、目指すべき本質はどこにあるのか

CNET Japan 2017年11月12日(日)09時00分配信

 2020年、小学校の教育指導要領でプログラミング教育が必修化される。すでに近年、子どもたちがプログラミングに触れる体験授業やICTを活用した新しい授業の在り方を模索する動きは数多く見られるが、そもそもこうしたプログラミング教育は子どもたちにどのような成長を促し、教育的な価値を生み出すのか。9月末に茨城大学教育学部附属小学校が実施した研究授業を基にレポートする。

4つの授業に盛り込まれた、異なる4つの狙い

 この研究授業は、プログラミング教育に関して研究を進めている大阪電気通信大学工学部電子機械工学科の教授で、中央教育審議会教育課程部会の情報ワーキンググループで委員を務める兼宗進氏と、茨城大学教育学部情報文化課程の准教授である小林祐紀氏を指導講師として実施。茨城大学教育学部が進める小学校プログラミング教育必修化に向けた授業化プロジェクトの一環として、また茨城大学工学部が進める地域情報化による地域創生プロジェクトの一環として行われた。

 5年生、6年生を対象とした4つの授業内で行われ、前半はiPadとプログラミングツール「Scratch(スクラッチ)」を用いてビジュアルプログラミングを取り入れた授業を、後半はデバイスを一切使わずに通常の講義形式でプログラミングの考え方を取り入れた授業を実施した。それぞれ、「総合的な学習の時間(総合学習)」の科目でコンピュータやプログラミングの基礎を学ぶ内容、「国語」と「社会」という通常の科目授業の内容理解にプログラミングの考え方を活用する内容となった。

 ビジュアルプログラミングを取り入れた国語の授業では、ことわざの意味や由来、ことわざを使いたくなるシーンをクラスメイトに伝えるためのアニメーションを、Scratchを使って創作した。また同じくビジュアルプログラミングを取り入れた総合学習の授業では、初めてScratchを使う児童たちが、先生の示したキャラクターの動作手本を再現するという課題に挑戦しながらプログラミングの基礎を学んだ。

 いずれの授業も、どのようにプログラミングをすれば意図したとおりにモノが動くのかを学ぶという内容で、一方は授業科目の一環として、もう一方はプログラミングの仕組みを理解する学習として、グループで話し合いながら作品を作り上げていた。

 デバイスを使わない総合学習の授業では、「なぜキーボードを打つと文字が表示されるのか」というコンピュータにおける画像表示の原理を学習。紙のマス目でドット文字を書きながら、PCの文字や映像が0と1の羅列でプログラミングされているという仕組みを体験しながら学んだ。また社会の授業では、プログラミングの基本的な考え方である「シーケンス」を授業理解に取り入れて、「どのようなシーケンスを組むと統計グラフを読み解けるか」というテーマで授業を展開した。

 この2つの授業は、デバイスを使わず黒板や紙の資料を用いて行われたため、一見すると普通の授業と変わらない。しかしその内容は、総合学習の授業では私たちが普段気にも留めないコンピュータの基本原理について学び、社会の授業ではプログラミングの専門性を授業の中に組み込むという形で実施された。

 社会の授業を担当した小島貴志教諭は、「今回はシーケンスという要素を取り入れたが、実はどの教科にも物事の順序性というものは存在していて、グラフの読み方など今まで当たり前にやっていたことを意識化できるという点で非常に興味深かった。教える側も学習プロセスの再発見に繋がり、教えやすくなるのではないか」と語った。

 こうした4つの授業の異なる4種類の趣旨には、文部科学省が定めている学習指導要領の方針と、兼宗教授が小林准教授と共同で行っている研究が大きく関わっている。2020年に全面施行を予定しているプログラミング教育に関する学習指導要領では、各教科科目の授業に「プログラミング的思考」を盛り込むことを求めているほか、総合学習において基本的なコンピュータの文字入力や、プログラミングを学ぶことが決められている。これを兼宗教授と小林准教授は3つの実施パターンに体系化した。

 ひとつは、総合的な学習の時間の授業で「基本的なプログラミング」を学びながらコンピュータの特徴やプログラミング的思考を理解するというもの。そして2つ目は、「各教科の授業にプログラミングを取り入れる」ことでプログラミングを利用して教科理解を深めるというもの。そして最後は「プログラミング的思考を教科学習に取り入れる」ことで教科の理解や論理的な理解を促したりするというものだ。

 特に最後の「プログラミング的思考による授業理解」は、生活や教科の中にプログラミングに通じる考え方が使われていることを活用する学習であり、タブレットやコンピュータなどのデバイスを必ずしも使用しない。自治体によっては、必ずしもコンピュータ環境が整備されていたり、すべての教室にタブレット端末が整っているわけではないため、全面施行に向けて重要な研究テーマだと言えるだろう。今回の授業では、兼宗教授が日本に紹介した「コンピュータサイエンスアンプラグド」という教材が使われていた。

プログラミング教育は、なぜ子どもたちにとって必要なのか

 ところで、なぜこのような研究授業が行われるのかについては、学習指導要領について説明しておく必要がある。学習指導要領とは「子どもたちがどのような知識や能力を身につける必要があるのか」という指導方針を規定したもので、具体的な授業内容を示したものではない。学習指導要領をどのように授業で実現するかは学校や教員に委ねられており、教育現場における自由度が担保されている一方で、プログラミング教育という全く新しいテーマでは“最適解”の模索が続いている状態だ。

 このプログラミング教育を教育現場で推進する上で、兼宗教授は「なぜ子どもたちにプログラミング教育が必要なのか、そこに教員が納得することが必要だ」と指摘する。つまり、この教育を通じて子どもたちにどのような成長を促したいのかという目的を明確化することの重要性だ。そして兼宗教授は、その目的のひとつにテクノロジ産業の急速な発展とそれによる高度情報化社会への対応を挙げた。

 「今後のテクノロジ産業を支える人材を育成するためには、コンピュータに親しむ環境を小学生のうちから提供することが大切だ。社会に出てコンピュータ関係の仕事に関わる子どもは3分の1を超えてくるのではないか。これはサッカー選手や野球選手になるよりも可能性が高い。小学生のときから初歩的なコンピュータの知識、基礎的なプログラミングに触れる機会を提供しなければ、高度な学びやエンジニアリングの仕事への道を閉ざしてしまうことになる」(兼宗教授)。

 加えて兼宗教授は、日常的な食べ物について学ぶ“食育”を例に挙げ、「自分たちの食べているものがどのように作られるかを理解することが大切なように、自分たちの暮らしに欠かせないスマートフォンなどのコンピュータがどのように動いているのかを知ることは非常に重要。コンピュータとはこういう機械なんだということを理解しておけば、より便利に使うことができる。また仕組みを理解すればこそ、モラルやセキュリティの意識も自分の中から芽生えてくるのではないか」と語った。

 子どもたちにとってICT分野に早期から触れさせることで将来の可能性を提示すること、そしてコンピュータが不可欠となっている現代社会を生きるための基礎的なITリテラシーを育むこと、これがプログラミング教育の目指すものだと言えるだろう。

機械の「奴隷」にならないために、仕組みを理解する

 では、学習指導要領がプログラミング教育で求めている「プログラミング的思考」とはどういうものなのか。指導要領では、「自分が意図する一連の活動を実現するためにどのような動きの組合せが必要であり、ひとつひとつの動きに対応した記号をどのように組み合わせたらいいのか、記号の組合せをどのように改善していけば意図した活動に近づくのかといったことを論理的に考えていく力」と定義されているが、兼宗教授はこれをわかりやすく次のように表現する。

 「人はコンピュータに面倒な作業や人間の能力を超えた作業をさせたい。そのための指示を考えることがプログラミングなのだが、相手は機械なので“適当にやっておいて”という指示は通用しない。簡潔にわかりやすく機械でも理解できる形で“何をしてほしいのか”を伝えることが重要。このプロセスを論理的に組み立てることがプログラミング的思考だ」(兼宗教授)。

 これを今回行われた研究授業に当てはめると、どうなるのか。たとえば、児童たちは国語の授業では“ことわざの意味をアニメーションで伝えるにはどのような指示をコンピュータにするのがいいのか”、総合の授業では“0と1を使って文字を書きたい場合にはどのように数字を並べると書きたい文字が表現できるのか”といった課題に挑戦した。

 この試みのなかで、子どもたちが学んだものは、理想の動きを実現するためにはどのような順序でモノを動かせばいいのか、表現したいものを生み出すためにはどのようなルールを守る必要があるのかということ。目的を実現するためにルールを理解してプロセスを組み立て、トライアンドエラーを繰り返すことで“コンピュータの仕組みを理解しながら考える力”を養うことが期待できるのだ。

 「コンピュータに指示を与えて動かすことを体験しながら、人と機械の違いを理解してコンピュータに指示を伝えるための論理的な説明=プログラミングを組み立てる。こうした学習を通じて、“人が機械の奴隷になるのではなく、私たちが機械を働かせる”という体験をしてもらいたい。プログラミング教育の目的は、プログラムを書くことではなくコンピュータの仕組みを理解してもらうこと。それを通してコンピュータの特徴がわかれば、その先でさまざまなことを自分自身で学んでいくことができるはずだ」(兼宗教授)。

“プログラミング的思考とは何か”を教員が正しく理解する

 兼宗教授とともに今回の研究授業の指導講師を担当した小林准教授は、この授業について先生と児童、そして児童同士の中に活発なコミュニケーションが生まれたことを成果のひとつとして挙げた。「対話的に学ぶことはプログラミング教育の必須条件であり、ひとりで黙々とやるということは考えられない。コミュニケーションの中で学ぶことはこれまでも教育の重要な要素であり、プログラミングという新しい要素が入っても変わらないことだ」(小林准教授)。

 その上で、プログラミング教育の推進にとって重要なのは、学習指導要領が示している「プログラミング的思考」とは何かを正しく教員が理解して授業を行っていくことだと話す。「兼宗教授が示したようなプログラミング的思考への理解を誤ったまま進んでしまうと、あえてプログラミング教育を取り入れる意味がなくなってしまう。正しい理解のなかでプログラミング教育を発展させる“脱・なんとなくプログラミング教育”を推進したい」(小林准教授)。

 一方、小林准教授は今後のプログラミング教育について課題も挙げた。ひとつは、プログラミング教育を通じて学ぶプログラミング的思考を他の学習場面に応用していくという点だ。

 たとえば今回の研究授業のうち、「社会」の授業では“グラフを読み解く”というテーマに対してコンピュータが順序立てて命令を実行していくシーケンスの考え方を用いて、子どもたちがどのようなプロセス=シーケンスを組み立てるとグラフを読み解けるかを考えることに挑戦した。指導範囲を学習指導要領の範囲内にとどまらず、こうした日常的な授業のなかにプログラミング的思考を取り入れていくことで、子どもたちの教科理解や関心喚起を促すことができるのだ。

 「小学校のうちにすべきはプログラミング的思考の種まき。プログラミング的思考を使って自由な発想で考えたり、教科学習の中でプログラミング的思考を取り入れたりすることで、考える機会を多く提供することが重要だ。どこで子どもたちの潜在能力が開花するかは、誰にもわからない。だからこそ、プログラミング的思考に触れる機会をたくさん用意すべきだ」(小林准教授)。

 そしてもうひとつの課題が、評価に関するもの。プログラミング教育における児童の学習達成度の評価については、今回研究授業を担当した教諭も口々に課題として挙げた。この点について小林准教授は「評価メソッドは研究分野が追求しなければならないテーマだが、簡単なことではない」とした上で次のように語った。

 「プログラミング的思考が身についたかどうかをピンポイントで評価する方法など、世の中には存在しない。米国では評価指標もできつつあるが、まだドラフト段階だ。学校で“こんな子どもに成長して欲しい”という目指す姿を描いた上で、さまざまな観点・課題から評価軸を考えて子どものプログラミング的思考力を浮き彫りにしてほしい」(小林准教授)。

CNET Japan
もっと見る もっと見る

【あわせて読む】

    最終更新: 2017年11月12日(日)09時00分

    【関連ニュース】

    【コメント】

    • ※コメントは個人の見解であり、記事提供社と関係はありません。