見出し画像

プログラミング教育が子どもの将来を左右する? 親が知っておきたいことは?

今年度から小学校でプログラミング教育が始まりましたが、休校措置によって想定されていた授業ができなくなっている学校も少なくありません。

一方で、子どもたちが家庭で過ごす時間が増えたため、家庭学習を行なっている保護者の方もいらっしゃるのではないでしょうか。とすれば、今後お子さんが学ぶことになるプログラミングを題材にするのも一案です。

その際、そもそもなぜ小学校でプログラミング教育が実施されるようになったのか、狙いを知っておくと家庭学習にも活かせるはず。

プログラミング教育の目的や狙いについて理解するためにおすすめしたいのが、翔泳社から発売中の『プログラミング教育が変える子どもの未来 AIの時代を生きるために親が知っておきたい4つのこと』です。

翔泳社の通販サイトSEshopではPDF版を販売しています。

調理師にならなくても家庭科で包丁の使い方を習うように、プログラミング教育はプログラマー(エンジニア)になるためではなく、日常的な道具としてプログラミングを使えるようになること、あるいはそのきっかけを得ることや、プログラミング的な思考力を養うことが大きな目的とされています。

例えば、PCで行なう事務的な作業はプログラミングの知識があれば自動化できる場合が多いですし、メッセンジャーアプリやチャットツールを便利に使いこなすときにプログラミングが役立つこともあります。自分で何か簡単なプリを作ってみたいときも、もちろんプログラミングが必要です。

本書では、「なぜプログラミング教育が必要なのか」という基本的な部分から、親子でプログラミングを楽しむ方法、学校でどんな教育が行なわれるのかまでしっかり解説。とりあえず読んでおけばひととおりのことが分かるようになっています。

今回は本書の雰囲気を感じていただくため、「第1章 なぜ、プログラミングを学ぶの?」を抜粋して紹介します。プログラミング教育に関して分からないことだらけという方はぜひ、本書をきっかけにお子さんの未来を開く可能性のあるプログラミングについて知っていただければと思います。

以下、『プログラミング教育が変える子どもの未来 AIの時代を生きるために親が知っておきたい4つのこと』(翔泳社)の「第1章 なぜ、プログラミングを学ぶの?」から一部を抜粋します。

内容は発売時(2018年2月)のものです。

なぜ、プログラミングを学校で学ぶの?

2020年から小学校の授業で「プログラミング」が必修となりました。本格実施に先駆けてモデル授業が始まっている学校もあり、「お隣ではもう始まっているらしい」といった話を聞いたこともある保護者の方々もいるのではないでしょうか。

また、最近ではNGOや民間企業が運営するプログラミングスクールやイベントなどが都市部を中心に一般化してきており、子どもをそうした塾に通わせているという方もいらっしゃることでしょう。学べる機会は年々増えています。

でも、そもそもなぜ専門的なイメージのある「プログラミング」を、今の子
どもたちは学ぶ必要があるのでしょうか? エンジニアやIT関連の親御さんはともかく、「自分は文系だから……」「子どもがやりたいと言っているけれど自分ではうまく答えられないかも……」などと、不安に思う方々もたくさんいらっしゃるかと思います。

プログラミングの楽しさや意義をわかりやすくお伝えすることでその不安をできるだけ解消し、保護者や教職員の方々が子どもの未来のために与えてあげられる選択肢のヒントを提示することが本書の目的です。第1章となる本章では、「プログラミング」に触れてみることがなぜ今の子どもたちにとって、そして社会、ひいては未来にとってよいのか、その意義についてお話ししたいと思います。

そもそも、「プログラミング」ってなんでしょうか。エンジニアやプログラ
マーといった、専門的な職業に就いた人がしているイメージですね。

ごくかんたんにいうと、プログラミング言語という、コンピューターが理解できる言葉を使って、「コンピューターにしてほしいことを命令すること」がプログラミングです。

専門的なイメージですが、現在の社会生活を送るうえでは欠かせない、そして身近にある存在です。家庭のPCで利用するウェブサービスやスマホアプリはもちろんのこと、冷蔵庫やテレビといった身近な家電製品から、鉄道や電気といったインフラまで、私たちの生活のありとあらゆるシステムやサービス、モノにプログラムが関わり、制御されています。

そのプログラムを書いているのが、エンジニアやプログラマーと呼ばれる専門職の人たちというわけです。

では、そのような職業に就いてもらうことが、子どもたちにプログラミングを教える目的なのでしょうか?

答えは、そうではありません。2016年に発表された文部科学省の小学校導入における定義でも、「プログラマーを育成したり、コードを覚えることが目的ではない」とされており、さらには、情報活用能力を育成するために、コンピューターに意図した処理を行うように指示することができるということを体験させることが目的、と明記されています。

そして、プログラミングを体験することで、論理的な考え方をはじめとする「プログラミング的思考」を育むことが狙いであると説明されています。

では、そのプログラミングを学校でわることで、子どもたちはどういったスキルや学びが得られるのでしょうか。ごく具体的なメリットを挙げると、たとえば、論理的思考や問題解決力、忍耐力を鍛えるよい機会となったり、高度に情報化された世の中の仕組みが少しわかったり、ただ楽しくて、プログラミング友だちが増えたり……と、様々にあります。

それらに関しては、第3章に説明を譲り、まず本章では、より長期的なメリット、社会全体にとってのメリットについて考えたいと思います。

筆者はプログラミングについては、論理的思考と自分でプログラムを作り上げるという体験、そして前述のような自分たちが日々暮らしている世界で動いているものの仕組みを知る点で、非常に期待しています。

そして自分のためにプログラミングが生きる、そんな経験を得ることが大切だと考えています。では、わかりやすい例を示すために、まずは筆者がかつて実際に体験した「プログラミング教育」についてお話ししましょう。

自分のやりたいことのための「道具」

筆者は大学の頃、「必修科目」として、プログラミングの授業を受けたことがあります。筆者の通っていた慶應義塾大学湘南藤沢キャンパスの必修科目では1999年当時、英語やフランス語などの外国語を「自然言語」、コンピューターの言語を「人工言語」として双方を扱い、HTMLとCSSを用いて一通りのウェブページが作れるようになり、データベースの構築と処理を学び、そしてJavaやPHPなどの言語を扱っていました。つまり"一般教養"としてプログラミングを学んだのです。

また、授業によっては、画像処理や自然言語処理など、プログラミングのスキルを生かした教科もあり、プログラミングはそれ自体が目的ではなく、あくまで新たな学びを得るための道具という位置づけでした。

筆者はどちらかというと、プログラミングが苦手な方でした。周りにもっと得意な人たちはたくさんいました。そのため、誰か他人のためにプログラムを開発し、それを販売する、という経験はありません。しかし自分の課題のためにプログラムを書いて、膨大なデータを処理したり、簡単だけれど頻度の高い作業を自動化したりするといった活用をしてきました。

そうしていたのは筆者だけではありません。たとえば、経済や金融を学んでいた友人は、経済指標などの収集や分析のために、自分でサーバー向けのプログラムを書いて、いつでも集めた最新のデータを即座に分析できる仕組みを作っていました。

別の友人は、メディアアートの表現のためにプログラミングをして、自分の動きに合わせて音や映像が作り出される作品を作り、パフォーマンスをしていました。

このように、プログラミングと一言でいっても、必ずしもそのアウトプットはソフトウェアやアプリだけではないし、他人が使うためのモノを作るだけでもありません。プログラミングが道具になると、非常に多岐に渡る分野で、プログラミングのスキルが「自分のために」役立つようになります

そう考えると、近い将来、エンジニアにならない人にとっても、プログラミングのスキルが重視されるのではと、可能性を感じられるのではないでしょうか。そして、我々や今現在の子ども世代にとって、道具としてのプログラミングがより重宝される環境が、訪れようとしているのです。

自分が好きなものを創ったり、やりたいことを効率よくしたり、分析に利用したりする「道具」として活用するために、プログラミングを学ぶことが、有益となる未来が来ているのです。

「とはいっても、ITに先進的な大学のカリキュラムの話でしょう?」と思われた方もいるかもしれません。では、もっと話を簡単にしてみましょう。

皆さんの多くが、小学校や中学校のときに家庭科で調理実習や裁縫を体験
したかと思います。

筆者が小学校の頃に経験した家庭科の調理実習は、30年経った今でも記憶に残っています。ご飯を炊き、味噌汁を作り、肉じゃがやカレーといった一般的な料理に挑戦した記憶があります。

料理のレシピだけでなく、包丁や調理器具の使い方を一通り学び、自分ですぐに知識を試します。「包丁をまな板の上に置くとき、まな板からはみ出さないように包丁を置くと、手を切らないで済む」といった注意事項は未だに覚えており、実践していることの1つです。

小学校5年生の頃の思い出として強烈なのが、家庭科でカレー作りを学んだあと、林間学校では屋外でカレーを作ったことです。教室で学んだことが、実際にお腹を空かせた林間学校の夕食に役立った経験は、強く印象に残っています。

今でもときどき使っているのが、小学校の時に教材として購入した裁縫セットです。針と糸、フェルト生地、裁ちばさみ、ミシンのボビンなどが一式入っており、未だにボタンが取れたり裾がほつれたりしたときに、その箱を開いて家庭科で習ったことを繰り返し活用しています。

プログラミングについても、同様に考えることができるのではないでしょうか。つまり、調理実習や裁縫のようにより普遍的な要素を、知識と体験の両面で身につけるアプローチになればと思っています。筆者は調理実習を経験しましたが、調理師やパティシエになろうとはしませんでした。また裁縫の授業も好きな方でしたが、洋服のデザイナーになろうと思ったこともありません。

プロの腕前とまではいきませんが、調理をするときにも裁縫をするときにも、ケガなく、目的を達成できるようになりました。また、成否は別として、ちょっとしたアレンジに興味を持ち、実際に試してみるといったこともできます。

同時に、お店に食べに行ったときの味の善し悪しや、洋服の仕立てなどを判断することもできます。自分のために、それらのスキルを生かすことができるというわけです。

同じように、プログラミングを学ぶとしても、必ずしもエンジニアになる必要はありません。好き嫌いがあっても良いと思います。ただ、どのような考え方と仕組みで動いており、どうすれば安全か、逆にどうしたら危険になるのか。そういった視点を知識と経験で身につけ、さらには自分の目的のために利用するきっかけになれば、それが必修化されたプログラミングの授業のゴールだと考えています。

新しい考え方に触れ、それを試し、体験を得る。これが、必修化されるプログラミングの授業にとって、またプログラミングを学び始める人にとって、最初であり最大の目指すべきところなのです。そして多くの人々が、自分のためにプログラムを書くことができるようになればと願っています。

そして、できれば前述の裁縫セットのように、学校を卒業してもしばらく
通用するスキルとしてのプログラミングの経験が手元に残るようになって欲
しいと願っています。

嫌いな教科になる可能性も!?

とはいえ、実際に学校や民間企業でどのように教えるか?に関しては多くの課題があり、今も官民・産業界をあげて様々な議論が行われています。

筆者の周囲にいる様々なタイプのエンジニアに対して「どのようにして、プログラミングを学んだか?」「なぜプログラミングが上達したのか?」と尋ねると、ほぼすべての人から「独学」という答えが返ってきます。

独学で上達したという理由は、自分が必要だと思う知識を次々に学んでいき、自分が作りたいプログラムの完成にこぎ着けようとしていたから、というエンジニアによるふりかえりがありました。

言語も人によって異なるし、得意な処理やアプリの種類も異なっています。ただ共通していたのは、自分で作ったプログラムに自分で不満や問題点を見出し、それを解決していくという、自分の中でのプロセスが存在していたことでした。

このような自主的な学びを見ていると、学校で教えることに関しては懸念も感じています。プログラミングが、様々な要因から「つまらない教科」や「嫌いな教科」にもなり得るからです。もう少し具体的に言えば、プログラミングの授業が旧来的な英語の授業のようになってしまうと、その懸念は的中してしまうかもしれません。

筆者は2011年から米国カリフォルニア州バークレーで暮らしています。海外経験ゼロで渡米し、英語を学びながら生活基盤の立ち上げをしました。その際に痛感したのは、中学校から英語を学んでいるはずなのに、まったく人と喋れないということでした。単語や言い回しを知っていても、日常的な会話が聞き取れない、最初の一言が出てこないのです。

そこで、学校時代の英語への苦手意識を思い出しました。英語をネイティブのように流暢に話す先生に習った記憶はありません。何かの場面で人と接するときに、どう言えばいいのか、まったくパターンを持ち合わせていなかったのです。

「そりゃ、学校で習うことは役に立たないよ」と言われればそれまでですが、6年間毎日ずっと英語に接してきて、役に立たないのでは学びの意味がありません。そして同じ事がプログラミングに起きようとしているのであれば、大きな問題だと認識できるでしょう。

教え方も確立されないまま、経験の少ない先生による座学中心の授業になってしまった場合、どうなるでしょうか。たとえば入門用のスクラッチやレゴマインドストームのカリキュラムをなんとか教えこむ形で、必修授業が導入されていくとします。

その場合、できあがりも子どもたちが普段楽しんでいるようなアプリやゲームとは違い、プログラミングの難しさのみを強調してしまうことになる可能性があります。結果として「楽しくない」「つらい」時間という記憶を植え付けてしまうことになりかねません。教え方については、第3章・第4章で触れています。

ここまで、自分のやりたいことの道具としてプログラミングを学ぶことについてお話しました。では、なぜそれを学ぶ意義があるのでしょうか。筆者は、以下の3つを理由として挙げたいと思います。

1つ目に、社会を変えるアイデアを形にするため。2つ目に、すぐそこに来ているAI、ロボット、IoTの世界を生き抜くため。そして最後に、「好き」を深めるツールにするため、です。1つ1つお話していきましょう。


よろしければスキやシェア、フォローをお願いします。これからもぜひ「翔泳社の福祉の本」をチェックしてください!