最近は、小学校でプログラミングが必修化され、プログラミング教室が多くなり、
「論理的思考が育まれます」
「プログラミング思考」が育まれますよ。
「問題解決能力」が育まれますよ!
などとプログラミング教室は宣伝しています。
もちろん当スクールもそのように謳っています。
ですが、各保護者にはあまりピンときていないのは事実!
それはなぜか?
「プログラミング的思考」ってなに?っていう話です。
それを解決していきましょう!
なぜプログラミング教育をするの?
2020年の小学校でのプログラミング教育必修化のニュースを皮切りに、
幼少期のプログラミング教育が注目されています。
近い将来、IT人材の不足が深刻化するとうニュースや、
新型コロナの関係で、急にリモートワークやオンライン授業など、
パソコンやタブレットを使わないと、何もできない世の中がやってきて、
できないじゃ済まされない状況になっていることも、追い風になっています。
じゃあパソコンを使いこなす事やプログラミングを書くことを目的としているの?
いいえ、違います。
勘違いしてほしくないのは、プログラミングを習うことによって
プログラミングを書く事(プログラミング言語を用い、プログラムを記述していく)
を覚えることが目的ではないし、
「新しいシステムやアプリを開発する」など、プログラマーとしての能力へのニーズを
満たすためにプログラミング教育があるわけではないということ。
考えてみると、私自身も現在ウェブ制作などの仕事をさせて頂いていますが、
本当に難しくて、プログラミング言語には何百種類もあるし、
それを習得するには、「コーディングを好きなる」
いわば少し変態チック面を持っている方しか、トップのプログラマーにはなれません。
では、なぜ子供時から「プログラミング教育」を行なっているのでしょう?
それはこの2点です。
子供たちが、コンピュータに自分が思うように命令したことを指示し、
できるという体験をすること。
また将来どのような職業に就くとしても、時代を超えて普遍的に求められる力としての
「プログラミング的思考」などを育むためとされています。
特にこの「プログラミング的思考」は、将来必要になる能力であると言われており、
その力をつけるための教育なのです。
プログラミング的思考とは一体なんなのでしょう?
「プログラミング的思考」はもともと、プログラムを書く(=プログラミングをする)ときの思考法です。
プログラミングとは、コンピュータにわかる形で命令を書いて並べ(コーディング)、
コンピュータに仕事をさせる(=問題を解決する)ことです。
コンピュータには「いい感じでやっといて!」は通じないので、
「まずAをして、それからBをして……」と命令する必要があるのですね。
たとえば学校や当スクールでは、Scratchなど子どもでもとっつきやすいツールを
使ってプログラミングを行います。
プログラミングをするには、「何がしたいのか?」「そのためにはどうすればいいか?」を論理立てて考える必要がありますね。これがプログラミング的思考です。
プログラミングの経験を通し、ものごとを論理立てて考える力=プログラミング的思考を養う。
そして、あらゆる場面にプログラミング的思考を活かす。
それこそが、プログラミング教育必修化のねらいなのです。
プログラミング的思考は、プログラムを書く(=コンピュータを使い、プログラミングをする)ときだけでなく、生活や仕事のあらゆる場面に必要な力にもなるため、今養うべき力となっています。
なぜ、いまプログラミング的思考が必要なの?
ではなぜ、プログラミング教育を必修化してまで
「プログラミング的思考を養う」教育が求められるのでしょうか。
デジタル社会になり「情報を読み解く力」が問われるようになった
高度情報社会の進展はハイスピードで進んでいきます。
身の回りを見渡してみると「数年前にはなかったのに、いまではみんなが使っている」
なんてモノがたくさんありますね。
スマートフォン、タブレットコンピュータ……10年前には考えられなかったモノが身の回りにはあふれています。
また、人と人とのコミュニケーションにおいても、Twitter、FaceboookやInstagram、TikTokなどのSNSを使って、いままでと異なるスタイルで人と関わる機会が増えています。
そんな時代に必要とされるのは、情報の洪水に流されず、
情報を素早く理解し、必要なモノと必要でないモノを見極める力です。
正しい判断力を持つために、これまでの学校で鍛えてきた「決まった問題をすばやく解く力」だけではなく、「知らない問題が出てきたときに論理的に考え、答えを出す力」、つまり「プログラミング的思考」を育てようとしているわけです。
第四次産業革命、AIの発展。「人間にしかできない」仕事が求められている
人工知能(AI)という言葉をよく見かけるようになりました。
AIを活用することで、ビッグデータの解析、
ロボットのさらなる進化、さまざまな技術の自動化などが可能になります。
これによる大規模な世の中の変化を「第4次産業革命」と呼びます。
幅広い分野で、人間だけにできる仕事とは何か?
それは、新しい過去にないものを生み出す力だと言われています。
AIは過去のデータを分析することはできても、飛躍的な考え方をし、
まったく新しいものを生み出す能力には弱いとされます。
どんな機械にも真似のできない創造性を発揮するには、
問題点を整理して成果を生み出すプログラミング的思考が不可欠なのです。
変化の激しい時代には「問題解決能力」が不可欠
急速に社会が変化していく現代では、「決まった問題を素早く解く力」以上に
「問題点がどこにあるかを明らかにし、解決の手順を示す力」が求められます。
さらに、大きな問題を解決するにはチームでの取り組みが必要です。
グループ内のメンバーや、世の中の人々に理解を求めるためには
「順序立てて物事を示す」プレゼンテーション能力も必要だと言えるでしょう。
「問題点は何か」
「その問題点は、どのような原因で生まれてきたか」
「問題点を構成する要素には、どのような関連性があるか」
「解決策は、どのような手順で考えていけばいいのか」
このようなことを論理立てて考え、分かりやすく人に伝えていく。
そのためにもプログラミング的思考が必要になるのです。
プログラミング的思考を育てるには?
プログラミング的思考を整理すると「抽象化」「分解」「一般化」「組合せ」「分析・評価」の5つの要素に分類されます。
抽象化:目的に応じて適切な側面や性質だけを取り出し、他の部分は捨てること。
と言われても何がなんだかわからないですよね!
抽象化とは必要な情報だけを拾って、あとはポイっ!とすることです。
抽象化ができている小学生は、同じ問題で数値が変わったとしても、
「この問題もさっきの問題と一緒だ!」
「つまり、こう考えればいいのか」
というようことができます。
逆に抽象化できていないと、同じ問題でで数値が変わっただけなのに、
「えー数字変わったからわかんない」
「これは習った記憶がない!初めて見る。」
「これ、このまま丸覚えしたらいい?」
というような現象が起こったりします。
分解:大きな動きを解決可能な小さな動きに分けること
次は親子丼を想像してみましょう。それにはどんな材料が使われていますか。鶏肉、卵、玉ねぎ、三つ葉、だし、醤油、酒、みりんなど様々なものが挙げられます。
親子丼という料理を、こんなふうに材料別に取り出せる能力が「分解」にあたります。つまり全体像を形づくる一つひとつの部品を正しく把握する力ということになります。
一般化:物事の類似性や関係性を見出し、別のことでも利用できる内容にすること。
例えばマニュアルやレシピ本です。誰がみても簡単に利用できるようにすることです。
組合せ:目的に合わせて試行錯誤しながら、明確でより良い手順を創造すること。
プログラミングの3つの基本処理「順次・分岐・反復」はこれにあたります。自分が描いたゴールに向かって、試行錯誤し、より良い手順を見つけながらゴールに向かっていくことを指します。
分析・評価:目的に応じて実行したことが意図した活動に近づいているか分析したり、その過程を評価すること。
料理で例えると、できた親子丼を食べてみて、前に作った時よりもいい出来だった!それは卵の半熟具合が絶妙だったから。一気に全部の卵を入れるのではなくまず半分だけ入れてもう半分を後から入れると、固まり過ぎずに仕上げられると考えた結果がこれでした。
こんなふうに前例を踏まえ、どうすれば次はより良くできるかを考えるのが「分析」の能力です。
「抽象化」「分解」「順序立て」「分析」「一般化」。文字で書くといかにも難しそうです。しかし料理を例に説明できたことでも分かる通り、プログラミング的思考はコンピューターのことではなく、意外と日常の暮らしに役立ちそうなスゴイものという感覚は持っていただけたのではないでしょうか。
この5つの要素を意識しながら、生活や学習を進めていくと「プログラミング的思考」
が育まれていくと考えられています。
【プログライフキッズでのプログラミング的思考の学び方】
プログライフキッズでのレッスンでは、ロボットを使用し、課題解決のためのプログラミングを行ないます。プログラミングが出来たら自分が思い描いた通りに動くかどうか、実際にロボットを動かすことで確かめます。もちろん一度で課題をクリアすることは難しいですが、何度もトライ&エラーを繰り返すことでプログラミングスキルが身につきます。トライ&エラーにおける考察を元に論理的に考えることでプログラミング的思考力を育みます。
さらに、プログライフキッズではレッスン内のプレゼンテーションの機会を活用することでプログラミング的思考の訓練を行なっています。問題解決のために自分が考えた一連の流れを順序立てて論理的に説明や解説を相手に伝えます。人に伝えたり、教えたりすることによって、理解が深まり、自分の理解を深めることにもつながるからです。
また、自分の選んだ行動にどんな意味があるのかを考えることも、プログラミング的思考を身につけるための訓練の一つになります。
まとめ
2020年春より必修化されるプログラミング学習の授業でプログラミング的思考を学ぶ。
といわれても、その第一歩目がわからなくて、悩んでいる先生や保護者の方も多いでしょう。
しかし結局は「悩むこと」そのものがプログラミング的思考のトレーニングになるというのも事実。
「できないことが、できるようになるのは、おもしろいから、その方法を考えていく」
そんな言葉でバックアップしてあげると、子どもの気持ちもいっそう前向きになっていくでしょう。
ただ日々を一生懸命に過ごしているあなたも、お子様も時間が限られています。
多忙に追われ、もしお子様をバックアップできない場合は、ぜひプログライフキッズを頼ってください。
そんなあなたをバックアップするために、プログライフキッズは活動しています。
もし興味があったら、ぜひお気軽にお問い合わせください!
お問い合わせはこちら↓
最後までお読みいただきありがとうございました!