大人にこそ必要なプログラミング教育

金澤 良晃

子ども達へのプログラミング教育が必須化

2020年から全国の小学校でプログラミング教育が必須化されます。この件について、世の中で関心が高まっているようです。「プログラミング学習」というキーワードでGoogle検索されるボリュームは、5年間で大きく増加していることからも分かります(下図参照)。

(出所) Google Trendデータより筆者作成

ところでプログラミング教育といっても、パソコンを使ってPythonやJavaScriptといったコンピュータ言語を習うような新しい科目が追加されるわけではないようです。

文部科学省の有識者会議の取りまとめに、以下の文があります。

プログラミング教育とは、子供たちに、コンピュータに意図した処理を行うよう指示することができるということを体験させながら、将来どのような職業に就くとしても、時代を超えて普遍的に求められる力としての「プログラミング的思考」などを育むことであり、コーディングを覚えることが目的ではない。

PythonやJavaScriptといったプログラミング言語は、時代と共に流行り廃りがあるため普遍的なものではありません。現に毎年「どのプログラミング言語が人気か?」といった調査が行われており、その順位が大きく変動しています。

一方、「プログラミング的思考」というものはいつの時代でも普遍的であるといわれています。将来の日本を支える子ども達に、プログラミング言語ではなく「プログラミング的思考」を学ばせようということが目的となっているようです。

プログラミング的思考とは?

それでは、「プログラミング的思考」とは何でしょうか。文部科学省では、以下のように定義しています。

自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力

私自身は、プログラミング経験が20年ほどあるため、凡その言わんとしていることは理解できていると思います。しかし、プログラミング経験がない方にとっては、もしかしたら抽象的で分かりづらいかもしれません。

私の見解ですがプログラミング的思考とは、自分が行いたい事を成功させるために、全体感(目的意識)を持ちながら、仕事を細分化し、論理的かつ効果的に並び替えて組み立てていく力なのだと考えます。

例えば、「富士山に登る」という目的を果たすためには様々なことを行う必要があります。登山ルートの設定、登山の時期の決定、持ち物の準備、体力作りなど・・・順序良く、且つ同時並行的に進めていかなければなりません。その時に、なぜその順番が良いのか、体力作りのためにどんなトレーニングを繰り返すのか、どういう天候だったら登山を決行(あるいは中止)するのか、といったことを論理的に考え、手順を組み立てる必要があります。

こういった一連の流れを組むことがプログラミング的思考ともいえるわけです。

プログラミング的思考力は、働く大人にこそ必須な力

前述のプログラミング的思考の説明で、「論理的に考える」という表現を使いました。つまり、プログラミング的思考を身に付けることで、論理的思考力の強化が図れるわけです。それにより直面した問題に筋道を立てて解決していく力も備わります。

日本の書店には、「論理的思考」や「ロジカルシンキング」に関する書籍が多く置かれています。世の中の社員研修プログラムでも、ロジカルシンキング関連のものは、人気があり様々な研修機関で行われています。
これほど「論理的思考(ロジカルシンキング)」が求められている理由は、これまで日本の教育でロジカルシンキングを教えてこなかったためだと考えられます。海外(特にアメリカ)では、小学生の段階からロジカルシンキングの授業があるため、ロジカルシンキング関連の本は、大人向けより子ども向けのものが多くなっているようです。

この事も踏まえると、プログラミング教育は子ども達だけでなく、働く大人(特に今の日本のビジネスパーソン)にこそ必要ともいえます。

大人はどうプログラミング的思考を身に付けるか?

今後特にプログラマーになる予定がないビジネスパーソンの場合、プログラミング的思考を身に付けるにはどうしたらいいのでしょうか。PythonやJavaScriptといった言語を、分厚い参考書を元に学習することは効率的ではありません。

今、世界では様々なプログラミング学習ツールが開発されています。子どもでも感覚的に学べるようになっていますが、その学習方法は大人にとっても有効です。

以下に、無料ですぐに学習を始められるサイトを幾つか紹介します。

★ プログラミング学習ツールの例

学習ツールの名前(イメージ図)概要
Scratch
https://scratch.mit.edu/
アメリカのMIT(マサチューセッツ工科大学)のメディアラボが開発したプログラミング学習用ソフトです。日本語に対応しており、料金は無料です。
プログラミングの命令を「ブロック」とよばれるイラストに置き換えて組み立てていきます。
CodeMonkey
https://codemonkey.jp/
子どもから大人まで楽しめるプログラミング学習ゲームです。ストーリーがあるメインモードと、学んだスキルを練習するスキルモードで、しっかり学ぶことができます。
ゲームを全てプレイできる有料版と、最初の30ステージ分を体験できる無料版があります。
CodeCombat 4
https://codecombat.com/
世界で500万人以上が利用したRPGゲームで遊びながらPython、JavaScriptなどを学べるブラウザゲームサイトです。ログイン不要で直ぐに利用できます。
基本料金は無料ですが、一部の機能を使うには月額9.99ドルがかかります。日本語にも対応しています。
Hour of Code
https://hourofcode.com/au/ja
発起人には、ビル・ゲイツ氏、マーク・ザッカーバーグ氏などが参加しており、オバマ元大統領もこの活動に賛同しています。全年齢を対象としており、日本語にも対応しています。料金は無料です。
機能ブロックを使うモードと、テキスト(スクリプト)を表示するモードを選ぶことができます。
jobtensor

https://jobtensor.com/uk
日本語表示には対応していませんが、丁寧な英語のチュートリアルを見ながらWebブラウザ上でPythonを学習できます。完全無料で広告なども表示されないので、集中して学習することができます。

その他には、お金は掛かりますが本格的なプログラミング言語を学べる有料サイトや、物理的なロボットを動かしてプログラミングを学べるものもあります。

新時代のビジネスパーソンを育てる

これからの新時代、私たち大人はプログラミング教育を受けた若手人材と一緒に働くことになります。上司や先輩として、プログラミングの概念や使い方などを多少でも知っておくことが必要になります。特にプログラミング経験がない方は、まずは上で紹介した学習ツールを使ってみてください。

今後ますますIT化は進み、あらゆる業種・業界・職種でプログラミング技術やプログラミング的思考が求められます。新時代の人材育成として、プログラミング学習を社員教育に取り入れてみてはいかがでしょうか。

関連記事

Change Language

会員専用ページ

ページ上部へ戻る