NTT DATA

DATA INSIGHT

NTTデータの「知見」と「先見」を社会へ届けるメディア

絞り込み検索
キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トピックで探す
キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トピックで探す
background-image-careers
2017年1月26日技術ブログ

プログラミング教育で学びを深める

2020年から実施予定の次期学習指導要領では、小学校において、プログラミング教育の単元が導入されます。自ら教壇に立つ知見を踏まえ、これからのAI時代を生きる子どもたちに必要な学びのあり方を考察します。

試行錯誤で解を進化させよう

次期学習指導要領(※1)における小学校でのプログラミング教育に関心が高まる中、大人たちは新しい学びをどのように導けばよいのでしょうか。NTTデータの小学生向けプログラミングイベント(※2)での講師経験より、子どもたちには、大きく2つのアプローチが存在することが分かってきました。

1つは、最初に何をどのように動かしたいか具体的にイメージが定まっていて、その動きを実現させるプログラムの作り方を考える方法。もう1つは、最初は何をどのように動かしたいかイメージが定まっておらず、作りながら偶然の産物を活かしたプログラムで作品を作る方法。大人のみなさんも小学生の頃、図画工作において粘土で造形物を作った体験を思い出すと、どちらのアプローチも正解であることが想像できると思います。

しかし現実では、前者のアプローチが大人をはじめ子どもの世界にも浸透していて、最初に定義したゴールに対して正しいやり方を探す、答え探しの学びが多いように思います。

実際、プログラミングイベントでは、前者のアプローチをとると、最初に定めたイメージを自分の力で実現できない時、かなりの確率で大人に作り方を聞くことになります。もちろん困っている人には、ヒントを出しますが、本当は自らの試行錯誤により解を見つけてほしいため、極力全てに答えないようにしています。

  1. ※1 次期学習指導要領
  2. ※2 NTTデータこどもIT体験プログラミング入門
    毎年、春と夏に開催する小学生を対象としたプログラミング体験イベント
    https://inforium.nttdata.com/event/kids-programming.html
図1:ヒントから自分で解を見つけよう

図1:ヒントから自分で解を見つけよう

しかしながら、ヒントだけでは、最初に定めたイメージにたどりつけない場合、そのイメージを実現することに意識を向けすぎるあまり、更にヒントを求めてしまい、自ら考えることを放棄して、答え探しがはじまってしまいます。そして、最終的にそのイメージを実現できなければ、不満足感が残る結果となります。

後者のアプローチは、たとえば、サッカーボールを使ったアニメーションを作るというイメージはあるのですが、サッカーボールをどう動かすかは、作りながら考えています。試行錯誤するうちに、自分の気に入った動きがプログラムできたら、じゃあ、次はこのあたりに、ゴールキーパーを置こうとか、いや、穴を作ってボールを落とそうとか、いろいろなストーリが広がっていき、自分で考えて表現したという満足感が得られます。思ったような動きが作れなくても、それはストーリを変えればよいだけのこと。変わった動きをするサッカーボールのプログラムを活かして、敵を欺く必殺シュートに変身させればよいのです。

ソフトウエアの良いところは、作った作品をすぐに動かして、その結果がスピーティーに分かることです。そして、今、どこのプログラムが動いているのかが分かるため、不具合箇所を特定し、すぐに修正することができます。

そのおかげで、PDCAのサイクルをとても早く回すことができ、論理的思考にもとづく試行錯誤を通じて、自分なりに解を導く力を高めることができます。更に、解は1つではなく、試行錯誤すればするほど、解を進化させる学びを得ることができます。

図2:プログラミングで学習することの利点

図2:プログラミングで学習することの利点

このように、答え探しではなく、試行錯誤を通じて解を進化させる学びを得られることが、プログラミングで学習するメリットと考えます。前者のアプローチは、最初に定義したゴールが子どもの実力に見合っていれば解を進化させる学びにつながりますが、集団で学ぶ際に子どもによって実力差がある場合は難しいアプローチとなります。

どちらのアプローチが良いのかということではなく、目的に応じてどちらのアプローチが適しているかを見極めた指導が求められており、特に創造力を高める上では、後者のアプローチを意識して取り入れていく必要があると考えます。

デジタルと実社会とのつながりを考えよう

私たちが生活している社会には、ソフトウエアが溢れています。スマホの画面を押せば、アプリが起動し、便利さが享受できる。子どもの世界でもその便利さが当たり前となり、なぜそのような便利さを享受できるのか、使う側においては、その仕組みを意識することはありません。AI時代の到来は脅威であるという意見もありますが、もしかすると、その根本は、仕組みの分からないものを使う不気味さにあるのではないでしょうか。

だからこそ、子どもたちへのプログラミング教育においては、何のために作るのか、それが実社会でどのように役立つのかについて、体験と紐づけて学ぶことが大切であると考えています。

たとえば、プログラミングイベントでは、単にプログラミングを行うのではなく、積極的にアナログ的な要素を取り入れ、子どもたちにデジタルと実社会とのつながりを考える時間を設けています。そのひとつとして、プログラミング体験とセットで、生活の中でどのようにプログラムが使われているのか、交通系ICカードや、銀行のATMの仕組みを題材とし、機械同士が情報をやり取りする様子を分かりやすく表現した寸劇風のロールプレイングを取り入れています。ネットワークを糸電話という可視化できるものに置き換え、子どもたちにお客さん役を演じてもらうことで、普段意識せずに便利さを享受している裏に、このような仕組みがあることを体験的に理解してもらう狙いがあります。

図3:ロールプレイングで学びを深める

図3:ロールプレイングで学びを深める

また、プログラムで動いているロボットとの対話が体験できる時間もあり、子どもたちがプログラミングで体験したアルゴリズムの考え方が基礎となって、複雑なロボットが動いていることを実体験として理解することもできます。

図4:ロボットとの対話体験

図4:ロボットとの対話体験

さいごに

実は、2020年からのプログラミング教育に先立ち、教える側となる大人に対する人材育成が急務となっています。多くの人は、デジタルネイティブ世代ではなく、後天的にデジタルの恩恵を受けながら成長してきた世代です。ましてや、プログラミングを経験した人はごく一部であり、一般的にプログラミングは、難しいもの、特別なもの、といった先入観を持たれているのではないでしょうか。

しかしながら、現在では、子どもたちが扱えるビジュアルプログラミング言語(※3)が数多く普及し、従来の概念から大きく様変わりしています。まずは、教える側となる大人も、先入観を持つことなく、子どもと同じ立場で体験し、その楽しさや可能性を実感することが先決だと考えています。私自身、大人向けの講師を務めることがありますが、みなさん、最初は懐疑的な様子で取り組まれていても、最後には熱中して楽しく取り組んでいる様子に変化するのを何度も目の当たりにしてきました。

これからも、プログラミングが目的ではなく、学びを深める有効な手段となるよう、自らの活動経験や多くの有識者の方々からのご意見をもとに、よりよいカリキュラムのあり方や指導方法について検討を深めていきたいと思います。

  1. ※3 ビジュアルプログラミング言語
    • 現在では、「Viscuit(ビスケット)」「プログラミン」など、子どもでも扱える言語が数多く普及。自らも出演した、BSフジ「beプログラミング2 ~2020年大予測!小学校の授業はこうなる!?~」では、ビジュアルプログラミング言語を使った模擬授業が多数紹介されている。
      http://p-kies.net/ict/(外部リンク)
お問い合わせ