プログラミング的思考
こんにちは。広報チームの岡野です。
皆さま、「プログラミング的思考」についてどのようなイメージをお持ちでしょうか?
“あー、あれね”と、ドンと来い系の方もいらっしゃる一方で、”プ…プログラミングって、あれよね?あの、パソコンの…あれよね”というタイプの方もいらっしゃることと存じます。
しかし、なんだかんだ2020年から小学校教育に取り入れられたということもあり、以前よりググッと注目度が上がったワードであることは確かだと思います。
プログラミング思考関連の塾もたくさん登場してきましたし、子どもの算数ドリルなんかを探しに書店の学習コーナーに行っても、小学1~2年用のプログラミング思考ドリルなんかが置いてあって、筆者、“へぇ~…”なんて物珍しく感じたりしています…。
そう。問題はこの物珍しさなんですよ。
プログラミング思考の授業のなかった今の親世代からすると、趣味や仕事でもない限り、この思考方法を意識することってないんです。
日常生活において、やろうとしない限りは、プログラムが実装された電化製品を使っていても、実際にプログラミング思考を必要とするような作る側の立場に立つことはないので、それを意識しないで使う、ユーザー側の立場の経験しかできないようになっているわけです。
(むしろ、ユーザーが使用する際には、プログラムを意識させないように作るべきだろうという考え方もあります)
しかし、このプログラミング思考の授業内容をちょろっと覗いてみたら…なんだか意識さえすれば、実はどこにでも転がっているものだったんですね。
という訳で今回は、プログラミング的思考とはなんぞや?という方のための、人間的思考とプログラミング的思考の違いについて、お話をしてみたいと思います。
まず人間的思考ですが、これについてはあんまり説明がいらない部分かなぁと思います。例えば、ファンタジーなどで人外のキャラクターである、悪魔か何かに「実に人間的な思考だ…」とか言われた日には、それが何を指すかってなんとなく分かりますもんね。
でも、こうじゃなきゃ人間じゃない…っていうのもまた難しいので、そこそこ語りにくいお題ではあるんですが、人間的思考には、明示できない曖昧な部分があるのは確かな気がします。
一方のプログラミング的思考の方はどうかと言うと、人間的思考とは真逆を行っています。ズバッというなら、もう“明示したことが全て”です。
そもそも、プログラミング的思考の“プログラミング”ってなんなんでしょうっていうところなんですよね。
パソコン上のプログラミングを例にとりますが、なんでプログラミングが必要なのかというと、パソコンは基本的にプログラミングされたものしか理解できないからなんです。
パソコンって、計算も早いし、便利だし、とりあえず1台あれば、ある程度、何でもできちゃうイメージがある方も多いのではないかと思うのですが、何でもできるようにしているのは、パソコンに手取り足取り、常識や細かな気遣いまでを教えてあげて、それを「はい。教えた通り、やってね」とプログラミングしているからこそなんですね。
つまり、人間が意識せずにできていることを、パソコンに教えるためには、1つの行動の要素を細分化して、1つ1つ丁寧に、明示してあげる必要があるんです。
例えば、「ボールペンの書き心地のテストなので、文字を書いて下さい」というお願いを、人間とロボットアーム付きのパソコンの両方にしたとします。
人間の場合、相手が、テストに協力的な人であれば、その後、紙とボールペンを渡せば、好きな文字を適当に書いて、感想をくれる人が多いと思うんです。
ところが、ロボットアーム付きのパソコンは、そういう訳にはいかないんですね。
教えてあげなきゃいけないことが山ほどあるんです。
目の前に、紙とペンがあるかの確認方法に始まって、それがロボットアームの届く位置にあるのか計算方法、次に、ボールペンがキャップ式なのかノック式なのか、はたまた特殊なものなのかを確認させて、キャップを外すなりノックするなり、ギブアップするなり対応させて、ボールペンが書ける状態に変更できたなら、何という文字をどんなサイズで書くかを指定してあげて、紙のどの位置に向けて、どのくらいのスピードでボールペンを移動するかとか、ペンの先をどのくらいの圧力で紙に押し付けるとか…最終的には、書き心地の判断の基準も教えてあげないと分かってくれないといった具合です。
プログラミングに抜けや漏れがあれば、気を利かせてくれるなんてことは一切なく、キャップのついたボールペンで文字を書こうとしたり、下手をすれば、力加減を間違えて、ロボットアームが骨折して、机だって真っ二つですよ…。
もう、ステレオタイプのプログラマーが、プログラミングした機械を我が子のように扱うのも、うなずけるってもんです…。(生まれたての赤ちゃんより酷いレベルで、何もわかってないですから、機械さんはっ)
さぁ、どうでしょう…。これでも、ロボットアーム付きパソコンへの教育プロセスは、かなり要約してると思うんですよ…。思うんですけどこの長さです。
そんな訳で、実はこれだけの作業を、一言の指示で意識せずに人間はやってしまえちゃうんですね。だからこそ、プログラミング的思考と言われた時に、???となっちゃうんです。なって当たり前なんです。人間って高性能なんですよ、ほんと。
で、まとめてしまうと、このロボットアーム付きパソコンへの教育に必要な作業の細分化をする思考方法…これこそが、プログラミング的思考の第一歩目ということになります。
これで第一歩目?と思われた方もいらっしゃると思うんですが、機械が得意な方法で教えてあげると効率がよいため、そこもプログラミング的思考に入っているんですよね…。
そのため、第一歩目という位置付けにしました。
そんな訳で、プログラミング的思考は、身に付けようと思わないと身に付かないのが当たり前のものになっているということです。
これを、頭のやわらかい小学生のうちに…というのは、確かに後で苦労がないのかもしれない…とは思いつつ、今の小学生って、ITは基礎の基礎が前提になるから大変そうだなぁとも思ってしまう筆者でした。
それでは、今回はこの辺で失礼致します。
********************************************
プロスキャリアでは工場内での製造のお仕事からピッキング・軽作業など多数ご用意しております。
高収入のお仕事が多く、正社員登用実績も多数あります。 神奈川・東京で仕事をお探しの方はぜひお問い合わせください!
お仕事情報「ジョブ&キャリア」 コーポレートサイト https://proscareer.co.jp/
Facebook Twitter Instagram YouTube
********************************************