2020年から、小学校の授業へプログラミング教育が導入されます。プログラマーになりたい子もそうでない子も一緒に教室で学ぶことに、疑問を持っている親御さまもいるかもしれません。
ご自身にプログラミングの経験がないと、プログラミングを工学系出身者やコンピュータ好きたちが操るツールだと思いがちです。しかし、プログラミングとは何を指しているのか、本来の意味を理解することで疑問をクリアにする糸口が見つかるかもしれません。
今回は、そもそもプログラミングとは何を指しているのかを説明し、またプログラミングから得られるスキルが将来どのような場面で役立つのかを考えてみます。
プログラミングとは、してほしいことを相手へ正確に伝えること
プログラミングというと、キーボードでひたすら文字を打ち込んで、圧倒的なボリュームの英語や数式がズラっとモニターに表示されるというイメージを持っている人も少なくないでしょう。しかし、こうしたイメージは「プログラミング言語」を用いた「コーディング」を意味するもので、「プログラミング」自体を表しているわけではありません。
また、プログラミングが必修化になったからといって、「プログラミング」という教科が新しくできるわけではないのです。理科や算数など、すでにある教科の授業内でプログラミング的思考を学びます。
そもそもプログラミングの「プログラム」とは、テレビ番組やコンサートの進行を「プログラム」というように、予定や計画をその通りに進めること。コンピュータプログラムもそのひとつで、コンピュータにさまざまな命令を正確に伝えて、その通りに動かすことを意味します。その動きがシンプルであれ複雑であれ、プログラムなのです。
プログラミングと聞くだけで「私は文系だから、さっぱり分からない」と、腰が引けてしまう人もいることでしょう。しかし、繰り返しになりますが、プログラミング自体はコンピュータにしてほしい動作を正しく伝えるために命令を出すことであり、プログラミング言語を使って命令を書き記す「コーディング」に限定したものではありません。
プログラミングやIT関連の書籍も多い中央大学の岡嶋裕史准教授も次のように話しています。
世の中に浸透している「プログラミング=理数系」というのは、特に現状においては、正確性を欠く理解かもしれません。プログラミングは言葉(言語)で世界を把握しますから、言葉の運用がきちんとできるかどうかが鍵になります。
(引用元:Gakken Tech Program|なぜ子どもにプログラミング教育が必要なのか 中央大学 岡嶋裕史先生に聞きました!)
むしろ筋道を立てて分かりやすく伝える「言葉」だという点では、伝えたいことを相手に正しく届けるために、内容をまとめたりかみくだいたりして書いたり話したりしますから、文系も得意な分野ではないでしょうか。
プログラミングを学んでおくと、将来こんなことに役立つ
プログラミングの考え方を早い段階で学んでおくと、将来、さまざまな場面で役に立ちます。
身近な例では、家庭で食事を用意するときにもプログラミングの考え方を応用することができます。食事を始める時間に合わせて主食、主菜、副菜を仕上げるためには、材料の調達や下ごしらえ、調理の順番などにかかる手順や時間を想定して、立てたプランの通りに進める必要がありますね。このような「段取り力」とプログラミングの考え方はよく似ています。
また、IT化やAIの発達によって、難しい知識や操作を知らなくても誰でも簡単に使えるようなスマートフォンやスマート家電などの機械が普及しています。例えば、声に反応するAIスピーカーの中身について、プログラミングの存在を知らなければ得体の知れない魔法でしかないものが、プログラミングという概念を知っていることで、何らかの仕組みによって音声を聞き取って適切に処理しているのだというイメージにつながることでしょう。
子どもたちが社会に出て、やがて核となるメンバーになったとき、プログラミングとは何かを知っていることが大きな強みとなるのです。
プログラミングで身につく9のスキル
プログラミングを学ぶことが、実際に何かのスキルに結びつくことが分かっていれば、親としても子どもを励まし、サポートしやすいですね。
一般的に、「論理的思考(ロジカルシンキング)」が身につくと言われるプログラミングですが、ほかにもたくさんのスキルが身につくようですよ。
文部科学省の小学校プログラミング教育の手引(第一版)には、「プログラミング的思考」についてコンピュータを動かすための手順に即して次のように記されています。
コンピュータを動作させるための手順(例)
- コンピュータにどのような動きをさせたいのかという自らの意図を明確にする
- コンピュータにどのような動きをどのような順序でさせればよいのかを考える
- 一つ一つの動きを対応する命令(記号)に置き換える
- これらの命令(記号)をどのように組み合わせれば自分が考える動作を実現できるかを考える
- その命令(記号)の組合せをどのように改善すれば自分が考える動作により近づいていくのかを試行錯誤しながら考える
(引用元:文部科学省|小学校プログラミング教育の手引(第一版))
それぞれの手順にそって、身につくスキルを考えてみると、以下のように実にさまざまな力が養われるでしょう。
- 「思考力」や「表現力」
- 「予測力」や「論理的思考」
- 「想像力」や「実務遂行力」
- 「論理的思考」や「集中力」
- 「分析力」や「検証力」
これらのスキルは理数系の教科に限らず、国語や英語などすべての教科で応用できるものであるとともに、実社会へ出てからも求められるものです。
さらに、子どもたちの「やる気」もアップさせてくれます。(この例でいえば)プログラムを組んで思ったとおりにコンピュータが動いたときの「やった!」「できた!」という達成感や成功体験は、最近の子どもたちに足りないと言われる「自信」や「自己肯定感」にもつながるでしょう。
***
プログラミングは、プログラマーを養成するための素養というわけではなく、これからの社会で子どもたちが活躍するための素養といってよいでしょう。各地で子ども向けのプログラミング教室が開かれていますが、子どもを通わせたいと考えている方は、その教室がコーディングのテクニックを重視しているのか、それとも「プログラミング的思考」を大切にしているのかどうかを見極めることをおすすめします。
(参考)
EDUPEDIA|なぜ小学校でプログラミング教育が必修化?「プログラミング的思考」を文部科学省の資料から読み解く
文部科学省|小学校プログラミング教育の手引(第一版)
Gakken Tech Program|なぜ子どもにプログラミング教育が必要なのか 中央大学 岡嶋裕史先生に聞きました!
EdTechzine(翔泳社)|どうしてプログラミング教育を小学校でやるの?――文科省の資料から読み解く実態