2020年度から小学校でプログラミング教育が必修となることはご存知でしょうか?
今やITスキルは現代人に必須の能力といっても過言ではありません。こうした時代背景を考慮すればプログラミングが義務教育に組み込まれるのも当然の流れといえるでしょう。
プログラミング教育というとパソコンのソフトやアプリを作るイメージを持つかもしれませんが、プログラミング教育の狙いはあくまで子どもたちのプログラミング思考を育てること。
今回はそもそもプログラミング思考とは何なのか、この能力を鍛えるためには具体的に何をすればいいのかなどについて解説します。
目次
プログラミング教育とは
文部科学省はプログラミング思考を以下のように定義しています。
自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力
引用元:小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)/文部科学省
ただ、正直この定義だけ見てもどういうことかイマイチ分かりにくいですよね。もう少し噛み砕いて説明していきます。
「こうすれば、こうなる」を自力で考えられる力
コンピュータには人間のような柔軟性がない一方で、一つ一つの動作は非常に正確という特徴があります。
例えば人間に「カレーを作ってくれ」と頼んだ場合、クオリティに違いはあれどその指示だけでカレーを作ることができます。しかしコンピュータの場合は材料を◯cmの厚さに切る、カレールーをいつどのタイミングで◯g入れるといったように、すべての動作を細かく正確に指示しなければいけません。このようにどんな作業が必要になるのか、どういった順番で指示していけばいいのか、それぞれの具体的な処理について考えていくことがプログラミング思考だといえます。
ここでは達成したい目的をカレーを完成させることとしましたが、これはゲームを作る、図形を描くといった場合も同じ。プログラミングという言葉はついていますが、あくまで問題を論理的に解決する能力だと捉えてください。
プログラミングとプログラミング思考の違い
ご存知の通りプログラミングはコンピュータへの命令を細かく書き出していく作業のこと。
もちろん日本語をそのまま入力してもコンピュータには理解できないので、プログラミング専用の言語を操れるようになる必要があります。しかしプログラミング言語の知識を完璧に理解してもそれだけでプログラミングができるようにはなりません。
プログラミングはプログラミング言語などの知識と、先ほど紹介したプログラミング思考の両方があって初めて実現できるもの。プログラミング思考はあくまでプログラミング技術を構成する能力の一部であると考えてください。
プログラミング思考が求められる理由
私たちの生活は数十年前とは比べ物にならないほどの進化を遂げました。この進化にコンピュータが大きく影響していることは誰の目にも明らかでしょう。今の世界はIT技術なしでは成り立ちません。
しかしIT技術はまだまだ進化を続けており、コンピュータやこれに関連した技術はより一層生活でも仕事でも欠かせないものになっていきます。つまり、これからの時代を生きる子どもたちには新しい技術を使いこなすスキル、プログラミングを通じ新しいものを生み出すスキルが必須。そのスキルこそが今回テーマにしているプログラミング思考なのです。
プログラマーやシステムエンジニアにならない人なら必要ないスキルなのでは?と思うかもしれませんが、それは数学者にならなくても数学を学ぶ必要があるのと同じこと。プログラミング思考は現代を生きる人にとっての基礎的な教養であり、本格的に使わないから必要ないという類の能力ではなくなっているのです。
小学校教育でのプログラミング授業は必ずしもPCを使わない
先ほども説明した通りプログラミングとプログラミング思考は別物です。小学校教育の狙いはあくまで子どもたちのプログラミング思考、論理的な思考力を身につけることにあるため、必ずしもPCを使うことになるとは限りません。
例えば日常生活のどんな場所にプログラミング技術が使われているのか調べたり、細かいことは分からずとも大まかにどんなプログラムが組まれているのか予想したりといった授業も行われるでしょう。私たちが普段当たり前のように使っている機械の中にもプログラミングの基本は詰まっています。子どもたちは学校での授業を通じ、日常生活の中でもプログラミング思考を使うきっかけを意識することができるでしょう。
プログラミング思考を鍛える方法
学校の授業を受けるだけがプログラミング思考の鍛え方ではありません。家にいる時や外で遊んでいる時など、いかなる状況でもプログラミング思考は鍛えられます。やり方は簡単。日常で行われている動作、行っている動作をできる限り具体的に表現するだけ。
具体例をいくつかご紹介しましょう。例えば庭の草むしりをする場合、この工程をプログラミング思考で捉えると以下のように書き出せます。
1.ゴミ袋を用意する
2.草を抜く
3.他に草がなくなるまで上の処理を繰り返す
4.抜いた草をすべてゴミ袋に入れる
単純な歩くという動作もプログラミング思考で捉えると以下の通り。
1.右足を前に出す
2.左足を前に出す
3.目的地に着くまで上2つの処理を繰り返す
日頃からプログラミング思考を鍛えていれば学校での理解もより深まることでしょう。もちろん将来的にプログラミングを習得する時もこの能力は大いに役立ちます。
これからの社会に必要不可欠な力
小学校のプログラミング教育必修化はこれから始まる新たな取り組みです。授業を受ける子どもたちだけでなく、親や教師たちもまだまだ手探り状態。もしかすると初めのうちは教育の現場で混乱が起きることもあるかもしれません。
しかし社会構造が今後も変化していくことは誰の目にも明らか。プログラミング思考を始めとしたIT技術の重要性が増していくことは避けようのない事実です。学校の先生に頼り切りになるだけでなく、ご家庭でも日頃からプログラミング思考を鍛える訓練を積むことが必要になるでしょう。
とはいえ教える立場にいる保護者が内容を理解できていなければ教育のしようがありません。プログラミング思考を学ぶことは子どもたちだけでなく大人たちの課題でもあるのです。
こちらの記事も参考にご覧ください
- 大学入試の試験科目にプログラミング?情報科目が追加される背景とこれから求められる人材とは
- 大きな注目を集めるAIプログラミング!基礎知識から将来性まで解説
- 今からプログラマーを目指しても大丈夫?プログラマーの将来性について
プログラミング思考を生かしてIT技術者を目指せる学科・コース