2017年3月に発表された新学習指導要領で、2020年度から小学校でプログラミング教育が必修化されることになったようですが、文部科学省の調査によると過半数の市区町村教育委員会がまだ何も準備を行なっていないと回答したという。。。先生たち、大丈夫なの?
やった事のない事を子供たちに、本当にちゃんと教えられるの?
要は、目指したいのは、「論理的思考」と「プログラミング的思考」を子供たちに身に着けさせたいという事なんでしょうか。 これは、ちょっと難しいのですが、コンピューターを使わなくても、教えることができる様にも思えるが、「プログラミング的思考」という様にコンピューターを走らせるための方法論が、一番、最適なのでしょうか?
まさか、「プログラマー」の様に、プログラミング言語を使い「コーディング」を覚えることが目的ではないはずです。
1.3つのハードル
私などは、コンピューターを知らない人に、例えば、「プログラミング」とは? から始まり、教えるとすれば、まず、具体的に教えなければならないハードルは、3つくらいあると思います。
「プログラミング」の話をする前に、コンピューターはどんな風に動いているのか、からですね。 だから、「プログラミング」が必要なんだ。。。という所からですね。
1)1つ目は、コンピューターの仕組みについて
とりあえず、「プログラミング」出来るようにするには、コンピューターは、どのように人間が、記述した文字(コード)を読み取り、命令を実行するのかです。
人間の理解できる文字で、記述して、その後、どうコンピューターの理解できる言葉にするのか? コンピューターが命令を実行する時には「0、1」しか理解できませんので、ある言語で記述された文字を「0、1」の世界に変換する必要があります。
人間がデスクワークをするときに例えれば、仮に
- CPU :自分の頭(頭脳)
- メインメモリ :机の上
- HDD・SSD :机の引き出し、書棚
CPU ———— メインメモリ ————- HDD・SSD
人間(頭脳) 机の上(作業場所) 引き出し、書棚
「0、1」に変換された32Bit又は、64Bit単位のデータ(命令文)をメインメモリに格納して、それをCPUが読んで、プログラムを動かして、計算して、ハードに指令を出して処理を実行するだけです。
1 | 0 | 1 | ~ | 1 | 0 | 0 | 1 |
例えば、32Bitで1命令、メインメモリから順次、CPUに読み込んで、計算して命令を実行してゆくだけなのですが。
ここを説明するのに、みんなが分かるようにするのが、まず、肝心な所でしょう。
2)2つ目は、コンピューターに仕事をさせるということは、
人間なら、そばにいる人に「あれ取って」って言えば、取ってくれるでしょう。
しかし、コンピューターに命令した時は、「どこにある、どんな物を取ってくれ」って言わないと分からないのです。 全部、いちいち言わないとダメなんです。 「忖度」など、一切してくれないのです。 だから、目的を達成する為に、いちいち指示する事柄を細かく規定してやる必要が有るのです。 これを記述するのが、「プログラミング」という作業なんです。
プログラミング的思考とは、コンピューターが問題を解きやすいように、問題の正しい見方をすることだと言えます。
歳を取ると、コンピューターが苦手と云う人は、大抵、これが理解できないのです。
人や物に何かをやらせようとするときに、「あれ」、「これ」で済ませてきた人間には、目的を達する為に実施しなければならない作業を自分でする必要がある事さえも、理解できないのです。コンピューターだから、そんな事、やってくれるんだろう。。。くらいにしか考えていないのです。
例えば、パソコンの操作で云うと、「USBメモリ」に格納されているあるファイルをデスクトップに「コピー」する。
何回、教えても、できない奴が、大勢居ます。 人間に頼めば、「そのファイル、パソコンに入れておいて」で済みますが、自分でやれば、全部、自分で作業を実施しなければ、目的は達成できません。
20回くらいやってやっとできる様になりますが、1週間たつと、もう、できません。 本当に、「知能」が低すぎなのか、「海馬」が機能していないのか。。。と疑ってしまいます。
コンピューターって、なんでもやってくれる機械だと、思い込んでいるのです。いちいち指示しないと、何もできないという事が分かっていないのです。
こう言うと、キョトンとします。 何もコンピューターを認識できない人には。。。
コンピューターに仕事をさせるために、「プログム」を作るんだ! という事が。。。
コンピュータの働きを理解しながら、それが自らの問題解決にどのように活用できるかをイメージし、意図する処理がどのようにすればコンピュータに伝えられるか、さらに、コンピュータを介してどのように現実世界に働きかけることができるのかを考えることが重要になる。
もう一つ、いい例は、未だに、検索エンジン(Gooleなど)1つ使えない、地球100周くらい周回遅れの「バカ」が大勢いる。
検索する時のキーワードは、せいぜい「単語」だけです。。。。Gooleがコマーシャルで検索エンジンの使い方をやっています。 「えっ! 今さら」と思うのですが、堂々とやっています。
「堂々とやっている」からではなく、いまどき、今さら、検索エンジンも使えない「バカ」が大勢いるからです。
こんな体たらくですので、小学生に、コンピューターを教える前に、親に教えたら? と思うのですが、いかがでしょう。
「コンピューターは専門家が使うもの」という、言い訳は、もう通用しないという事が、まだ認識できていない、地球100周くらい周回遅れの「親」が多すぎるのです。
3)3つ目は、言語について
ある言語(どれも同じようなものですが)を使い、コーディングさせて、こう記述すると、コンピューターは、どのように動作するのか?。。。という事を理解させること。
若い時、一番最初、「プログラミング」を習った時、2か月くらい、理解できませんでした。でも、何度も、コーディングしているうちに、ある日、記述する命令文のパターンが理解できるようになり、こう記述するとこう動くという事が認識できると、アッというまに、気が付いたら「プログラミング」できる様になっていました。 ここからが、楽しくなってくる所です。
私などは2か月かかりましたが、多分ですが、IQの高い子は「呑み込み」、「認識」が早く、普通の子より、はるかに覚えるのが速いでしょう。
4)この教育の最後の仕上げに、必要なことは、
コンピュータ屋としては、「ハッカソン」と云う言葉が、浮かんできます。
コンピューター業界で云えば、Gooleなどは、このハッカソンを大切にしています。優秀な「デベロッパー」たちが、競い合うのですが、「論理的思考」と「プログラミング的思考」の塊みたいな催しです。
このレベルまで到達しなくても、一人ではなく、チームを組んで、問題に取り組む訓練になります。
1人の天才プログラマーも必要ですが、チームを組んで、互いに協力して課題に取り組む、この作業が重要だと思います。
2.日本の企業の現状
現状で、従業員が、コンピューターさえも使えない理由は、「論理的思考」と「プログラミング的思考」が出来ないからでは、決して有りません。
物事を目的を持って「勉強」するつもりもない「バカ」に使いこなせるはずもないのです。
日本の企業の90%以上は、中小企業ですが、従業員数が100人に満たない数十人しか居ない会社などは、ひどい状況です。
パソコンなど、未だに使えない奴なんて、ゴロゴロ居ます。
「働き方改革」などと、政府がほざいていますが、従業員レベルで言えば、本当に、体たらくの極みです。
企業のトップも、未だにコンピューターさえも使いこなせないやつに、何も文句を言えないのです。 なぜなら、自分も使えないからです。 それお前の仕事ではないのだから、もっと、厳しく、指導しても良いはずですが、それも出来ないのです。
使っているのは、一部の従業員だけで、全部、業務を背負って、一人で働いている場合もあります。 たいして、必要のない資料をWordやExcelで作成して、遊んでいる場合もあります。
コンピュータなどを利用して、情報をどう処理しなければならないか。。。この根本が認識不足のまま、ただ、ソフトウエアに、コンピューターに使われている状態になっています。
仕事関連で、コンピューターを使わなくてはならない状態になって、使わないと取引が出来ないので、いやいや使っているところもあり、ちょっとでも、トラブルが発生すると、何一つ、自分たちで対処できない。。。。
コンピューターが普及して、30年以上経っているのに、50代の爺でも、なんにも使えない奴なんて、腐るほど存在しています。
なんだ!その体たらく!!!。。。と思うのですが、これを許す経営トップが、居るので、どうしようも有りません。
3.日本のコンピューター業界について
コンピューターを勉強して、社会に出た時、ざっと、どんな職種、どんな環境があるのか?
夢と希望に、満ち溢れて、就職するのですが、あれ? とならないように。
コンピューターと云うか、システム開発関連の仕事をする場合、優秀なプログラマーは、理系が多いのでしょうが、文系、理系など、あまり関係ないのかもしれません。
理系の脳か、文系の脳なのか、学生の段階では、分からない場合も多々あるでしょう。どこで開花するのかは、未知数の若者も大勢いますので、大丈夫です。
1)システム開発会社
業務用のシステムを顧客の要望を聞いて、仕様書を作成して、仕様にそったプログラムを分担して作成する。
2)大きな会社のシステム要員(情報システム部など)
現在、自社で動いているシステム保守・運用管理、新しいシステムを導入する場合の仕様書の策定など。社内業務の改善提案。
3)IT関連の会社
自社の事業に合う、WEBサービスを開発する。 現状のシステムの保守、運用、開発。
4)ゲーム関連の開発会社
ひたすら、人気ゲームを開発する為に、ゲームソフトを作ってゆく。
まだ、たくさんあると思いますが、
日本で多いのは、1)が多いのではないかと思います。でも、人によりますが、あまり面白い仕事ではないでしょう。人を人月いくらで雇い仕事をする慣行が今でも続いていますので。
エンジニアとしての自由度があり、面白いと思うのは、3)でしょう。 優秀なエンジニアが多いと思うのですが、競争が激しいでしょう。
Google、amazon、Yahoo、Apple、Microsoftなどの会社に入れるのは、ごく一部の優秀な人間だけです。そうですね、いまどきでしたら、「人工知能」の研究などが、最先端でしょうか。。
これから、「人工知能」に、どんどん仕事を奪われるという事が、盛んに言われていますが、さて、どんな人たち、労働者たちなんでしょうか?
多分、そんなことさえも「認識」できない人たちから、仕事がなくなってゆき、次の仕事にも付けない状態になるのでしょう。
ちょっと考えれば、分かるのですが、何も考える事の無い人達には、その日が来るまでお楽しみですので、それで良いのではないでしょうか。
「論理的思考」?、「プログラミング的思考」? 程遠いひとたちが、「この世界の片隅」にたくさん存在している事だけは確かです。
4.これからの「学校教育」で大切な事
これからも、後からも無いのですが、学校を卒業したら、もう勉強するのは、もう「お終い」と思っている、そう行動している「バカ」があまりにも多いという事です。
この「バカ」の量産をどう食い止めるかです。
学校を卒業してからが、勉強です。 教えてもらう勉強がもう終わっただけです。
社会に出たら、自分で勉強する段階に入っただけです。
毎日、仕事から帰り、風呂入って、酒飲んで、飯食って、テレビを観てバカ笑いして、糞して、寝るだけの生活しかしていなければ、簡単に「バカ」になれちゃいます。
「働き方改革」とか、ほざいていますが、企業の問題では無く、まず、この様な「バカ」をどうするか、どう評価するかから始めましょう。
学校を卒業してからが、勉強です。 教えてもらう勉強がもう終わっただけです。社会に出たら、自分で勉強する段階に入っただけです。
「論理的思考」と「プログラミング的思考」を子供たちに身に着けさせる前に、子供たちに、親に、「トラウマ」になるくらい認識させないと。。。子供は親の背中を見て育ちますので。
「空気を読むな、本を読め!」といっても、小さい時から「マンガの本」しか読んでいない世代など、読解力(reading comprehension)が身に付いていないと、社会に出てからの勉強が、いくら「向上心」が有っても、なかなか進まないでしょう。
Sponsored Links
コメント