プログラミング教育

プログラミングを学ぶという事

投稿日:2018年12月31日 更新日:

2018年12月31日22時11分、紅白歌合戦もまもなく最終に入ります。今日はどうも平成最後という思いからか、色々語りたい気分のようです。

2020年小学校の必須と動き

その目的を、文科省は「プログラミングそのもののテクニックを学ぶのではなく、論理的思考や問題解決能力のアップのために、プログラミング的思考を学べ」としています。

そして、未来の学びコンソーシアムのウェブサイトや有識者会議などでも、小学校段階における論理的思考力や創造性や問題解決能力の育成、プログラミング教育に関する教材や教育について積極的に検討されているようです。

これらの波を受けて、多くのプログラミング教材が増えています

ほとんどの教材に「論理的思考をもにつける教材」「問題解決能力が身につく」と書かれていますが、実際にどのようにしてこれらの力が身につくのかがなかなかわかりにくいのが現状だと思われます。

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

プログラミング的思考って一体何なんでしょうか?論理的思考ってどのようなものなのでしょうか?問題解決能力とは?

プログラミング的思考プログラミングを行う際に必要な要素に、シーケンスとアルゴリズムがあります。

シーケンス

シーケンスとはものの手順、処理の順序の事を示します。そしてアルゴリズムとは、解を出すための手法を示します。

例えば歩く動作を考えた時、左足を上げ、上げた左足を前に出し、出した左足を下ろす。次に、右足を上げ、前に出し、右足を下ろす。このように、動作の手順をプログラミング命令を使って並べる事がシーケンスです。

アルゴリズム

一方アルゴリズムは、答えを出すためのテクニックです。例えば、1から100までの数字を小さい順に並び替えるためのテクニックなどをいいます。これはプログラミングではソートと呼び、ソートの手法には、バブルソート、クイックソート、●●ソートなど沢山の手法があります。これらの手法をプログラミング命令と文法を使い実現する事をアルゴリズムとよびます。

低年齢にはシーケンスを中心に

プログラミング的思考は、このどちらでも学ぶ事が可能ですが、アルゴリズムはどちらかというととても難しく複雑で、なかなか専門家でも理解しプログラムで実現しにくいものです。ましてや小学生となると、相当なハードルとなるでしょう。

ですので、小学生の段階でプログラミング的思考を学ぶのであればシーケンスだけでも充分であると考えられます。

プログラミング的思考に大切な要素

そして、シーケンスを中心に身につけるブマログラミング的思考に大切な要素がもう一つあります。それは、完成した結果をしっかり想像から分析し理解するプロセスです。これが抜けていたのではどんなに学んでも、論理的思考や問題解決能力を身につける事ができません。

プログラミング業界では、プログラミングで開発するソフトやアプリに一番最初に必要とされるものは仕様です。仕様とは、どんなものを作るのか?という構想や設計の事をしめします。なんでもそうですが、こんなものが作りたい!という希望から始まります。

プログラミング業界では、ヒアリングから要求仕様をまとめ詳細仕様にしプログラミングを行います。

作りたいものをお客様に聞き、それをちゃんと頭の中に描きながら、もっともっと話を詰めていって、細かい仕様を作り、設計をした上でプログラム言語を使いプログラミングをして完成させます。

プログラミング業界では、この作業を職種に分けて行っています。SEが設計をする人、PGがプログラミングをする人です。

先にも言いましたように、プログラミング的思考や問題解決能力というのは、この全てのプロセスを通じて得られるものです。プログラミングと呼ばれる最後の部分だけでは、得られにくいものです。

完成品を想像する大切さ

何かこんなものが作りたい!こんなものはどんなものかをどんどん詰めていく!詰めて出来上がった完成体を作り上げるために必要な部分を少しずつ実験しながら完成させる。そしてその少しづつの完成を積み上げて、こんなものを作り上げたいという、大きな結果を作り上げる。

これがプログラミング的思考であり、この中の、実験から得られた小さな結果までのプロセスとその結果を重ねるプロセスが論理的思考。そして、ぼやっとした希望がプログラミングによって形に変わった事が、問題解決力なのです。

これら全てのプロセスがプログラミング教育には必要で、これらを通して学べる事が、小学生に求められるプログラミング教育であると考えられます。

これはプログラミングという言葉より、物づくりの頭と言う方が適切かもしれません。

とにかく、完成させたいものをしっかり想像し、完成させるための要素をしっかり把握し、一つずつを解決していく一連の流れを訓練する事が大事で、これができる教育が必要であると考えます。

モノづくりを簡単に手軽に訓練出来るプログラミング

プログラミングは、机の上のパソコンとキーボードとマウスでこれら一連の流れを手軽に訓練する事ができます。

危ない半田ごてや小さな部品のネジ締めも要らず、キーボードをたたきマウスを動かし、命令を並べるだけで、安全に手軽に、簡単にさまざまな完成体を作る事ができます。

何度も何度もいろいろな完成体を作り上げる事ができます。

生活の中には殆どの欲しいものが完成品としてある中で、なかなかものづくりを学ぶ事が少なくなりました。想像しコツコツ努力することも少なくなりました。そんな必要すらなくなってきました。

年々、創造性が薄らぎ、ものづくり頭を鍛えよ!とあちらこちらで耳にします。

是非、手軽に出来るものづくり頭の訓練に、プログラミングを使うことをお勧めします。そして、これらのプロセスをしっかり意識された教材を使い効率よく頭の訓練を行い、眠っている創造力を呼び起こして欲しいと思います。

-プログラミング教育

関連記事

小学生に教えたいプログラミングを考える

これまで、小学1年生から小学6年生まで、7-8年間にわたって長く京都市教育委員会主催の京少年少女モノづくり倶楽部 にて、プログラミングを教えてきました。 その中で得た知見から.. ※下記はあくまで、こ …

プログラミングシステムの種類

プログラミングと言えども、機械を動かすものや、経理や売上などを計算したりするものなど色々あります。 ※名称、呼び方は正式に決められたものはなく、業界での通称のようなものです。また下記の呼び方は私が良く …

プログラマーは稼げるのか?

ITやAIなどと言う言葉が飛び交う最近、どうもなんかプログラミングやプログラマーが流行の様に取り扱われている感がするのは私だけだろうか? 本当にプログラマーしか生き残れないの? オックスフォードのオズ …

プログラマーになりたいなら…

プログラマーになりたいといっても、年齢とこれからの目的によると思いますから、一概にこれがいいというのは難しいのですが…. もし本格的なプログラマーを目指すなら、まず… プログラ …

子ども向けロボットプログラミング

ロボットを子ども向けプログラミング学習に使う理由

2020年に小学校でプログラミング教育が必修化となります。この流れは日本国内だけでなく、諸外国においても同様で、すでに必修化が導入されている国が沢山あります。では、子ども向けのロボットプログラミングと …