最適解コンピューターと宇宙が大好きな塾長です。今回は「もう少しすると教育業界でも騒がれそうな話題」について、一足先にお届けしてみようと思います。(番外編)学年1位または成績優秀者を輩出した高校プログラミングが不要になる!?というウワサ昨年(2020年)の秋くらいから、どうも日本のIT業界では「もうすぐ、プログラミングをしない時代になる」などと騒がれているようです。「ノーコード」というキーワードが、どうも日本でバズり出したようです。いうことでしょう?ちょっと端的に説明します。実は、どちらもアプリを開発している画面です。した見た目から違いますよね。「おお、なんと画期的!!」と騒がれているのです。して、デジャブ?実は、みなさんも似たような変化を経験しています。パソコンやタブレット。今はとても使いやすいですよね。クリック(タップ)というふうに変わりました。昔は難しかったコンピューターの操作が今では簡単です。クリックで済む!という変化です。今:マウスでクリックする操作に変わりました。マウス操作の方が楽ですよね。コマンドを覚えなくても良いし、とりあえずマウスだけカチカチしてたら操作できます。した変化のおかげで、コンピューターを使う人が爆発的に増えました。1990年代のことです。これと同じような変革が、いま、プログラミングの世界でも起こっています。難しい「命令(関数)」や文法を駆使してプログラミングしていた作業。これが画面上のマウス操作に置き換わっていく、という変化です。時代は繰り返すのです!そう考えると、これは90年代のデジャブなんですよね。言えば、その90年代には、マウスでプログラミングできる機能エクセルやアクセスにすでに組み込まれていました。エクセルの「マクロの記録」という機能を使ったことがありますか?ビデオ録画の要領で人間の操作手順をエクセルに覚えさせる機能です。エクセルが裏でプログラミングを自動でしてくれるのです(少しプログラミングの編集作業が必要です)。エクセルやアクセスには、入力画面(フォーム)をマウス操作で組み立てる機能があります。これらの機能を使えば、ちょっとしたアプリの開発が、マウス操作メインでできるのです。このような機能が25年くらい前からエクセルやアクセスにずっと備わっていました。知らない人は大きな損をしていたと思います。エクセルのマクロは今ではほとんど使われず、新しい技術に置き換えられてしまいましたが。塾長が大学生だった頃、紙のデータをひたすらエクセルに入力するアルバイトがありました。1束で20万円の稼ぎになったので貧乏学生だった塾長にはありがたい仕事だったのです(※)。1つ、入力の作業が大変なのが難点でした。紙の枚数が多くて1枚あたりの入力項目が多いのです。1束で2500枚くらいでした。次に指定されたエクセルの表が横に長いのです。入力項目が多ければ表が横に長くなるのは当然です。それで画面を横にスクロールさせる操作と、紙の値を読み取って入力する操作の両方を行う必要がありました。そんなこんなで、1枚あたりの作業に時間がかかりました。そこでエクセルの「マクロの記録」や「フォーム」を使って入力専用の画面をつくりました。入力画面に数字を入力するだけで、自動的にエクセルの表にそれらを割り振ってくれるようにしたのです。それでかなり作業の効率が上がりました。1997年とか1998年とか、そのくらいの時代です。(※)当時は紙のデータをコンピューターが読み取るOCR技術がまだ実用的ではありませんでした。そこで人間がコンピューターにデータを入力する作業が必要でした。コンピューターが安くなってIT化が加速するのと並行して、紙の資料をコンピューターに入力する仕事も増えたのでした。「プログラミングが不要になる?」というウワサの話しに戻します。したウワサによって塾長は「じゃぁ、プログラミング教育なんて意味ないじゃん!」という風評被害、もとい「早とちり」が出てくるだろうと心配しております。鋭いみなさんなら、もうお判りでしょう。部品をマウス操作で組み立てるどちらも方法が違うだけで、やっていること(作業の目的)は同じです。目的は変わらない!方法が変わっただけ!ということです。プログラミングを「組み立てる」という作業はあいかわらず残っています。作業の「スタイル」が変わったに過ぎません。いうプログラミング環境の画面です。プログラムのことを「ワークフロー」と呼ぶそうです。プログラムの流れを「コンピューターの作業手順」に見立てて組み立てるスタイルです。変わったのはプログラムを組み立てる「スタイル」です。相変わらずプログラミングしていることには変わりがありません。プログラミング教育はどうなる?このように見てくると、プログラミング教育の「あるべき姿」が理解しやすくなります。特定のプログラミング言語の命令や文法を覚えさせても、あまり意味がないことが分かるでしょう。プログラミングの「文法」や「スタイル」は将来のどこかで変わってしまうからです。コンピューターに「作業の手順を伝える」という作業そのものは、相変わらず残ります。「コンピューターができる小さな仕事」を組み合わせて「より大きな仕事」を組み立てていく作業は、今後も必要です。手段は変わっても「考え方」は残るというワケです。したプログラミングの「考え方」を、ちゃんと教えることがプログラミング教育のあるべき姿ということになります。専門学校や高等教育なら直近の技術を教えても良いでしょうが、小中学校の生徒を捕まえて教えても仕方がないというワケです。教えるなら、時代が変わっても残る部分、つまり「考え方」でしょう。ところで「プログラミング教育」と言ってしまうと、専門学校のような授業を想像してしまう人がいて誤解されがちです。「プログラミング的思考の教育の必須化」という言い方なんですよね。文部科学省の正式な言い方はこっちの方です。手段や環境に依存しないように、プログラミングの「考え方」を指導してね。いう教育が義務教育で必須化されたものです。その考え方の中で、もっとも大切なところが「最適解を見つける試行錯誤」です。大人の世界では「問題解決」とか「カイゼン」などと呼ばれています。模範解答が用意されていないような問題にチャレンジする訓練です。した取り組みの中に出てくる「考え方」はプログラミングの考え方そのものです。これが文部科学省が声を大にして「必須化だ」と主張したいことなんです。ここをしっかり理解できている人は、騒がずに済むというワケです。「プログラミング的思考」という言葉が、回りくどいし、逆に分かりにくいと不評でした。残念ながら、なかなかこの本当の言い方が広まらなかったのです。今日では、たいてい省略して「プログラミング教育」と呼ぶようになっています。いうことで、いくら日本のIT業界で「ノーコード」がバズっても、プログラミング教育にはほとんど影響がないでしょう。逆に大きな影響を受けてしまったとしたら、それだけ教育業界が腐っているということになります。プログラミング教育に新しい知識はほとんど不要とうことで、義務教育で必須化されたプログラミング教育。ここで、そのあるべき姿をまとめておきます。できるだけプログラミング言語の文法や用語を覚えなくても済むようにするできるだけ目的を達成できる「最適解」を「試行錯誤」で見つけさせるそのために失敗を次に活かすチャレンジ精神を育むコンピューターの色々な使い方を実践させるまた、よくある勘違いについても、まとめておきます。特定のプログラミング言語や機械の特性を覚えさせる教師の用意した答えを模倣させる、作り方を全て解説してしまう失敗しないことを評価の最高点にしてしまう指導事例は事例でしかないのに手順書のように運用してしまう人によっては大きな大きな価値観の変更が迫られます。小中学生におけるプログラミング教育の理想を一言でまとめるとすれば、きっと次のようなものになるでしょう。できるだけ、今まで学校の教科書で学んできた言葉だけを使ってプログラミングするプログラミングの「考え方」を子供たちに要領よく伝えるには、こうするのが一番だと思います。「1つのプログラミング言語をマスターすれば、根柢の”考え方”も身に着くはずだ。」と主張される人もいます。それは遠回り過ぎます。子供たちにも学校の先生にもストレスが大きすぎるでしょう。限られた時間と成績評価制度の中で運用されることを考えますと、プログラミング言語の詳細を覚えさせるのは現実的ではありません。プログラミング教育の必須化によって、新しく覚える知識が増大してしまえば、漢字書き取りや計算ドリルに取り組む時間が無くなってしまい、学校現場や子供たちの学びが破綻してしまいます。新しい知識の暗記が負担やストレスになってしまえば、肝心の「答えのない問題にチャレンジする」という取り組みがおろそかになりかねません。プログラミング教育の為だけに、わざわざ新しい用語をたくさん用意してしまうのは、本末転倒と言えます。何より、せっかく覚えても、おそらくその知識の多くは10年後に無駄になります。良い意味での影響を期待さて「いくら日本のIT業界で「ノーコード」がバズってもプログラミング教育にはほとんど影響がない」と書きました。良い意味での影響は、むしろ期待しています。人工知能の発達に伴って、すでに人々の意識は変わってきています。漢字のトメ・ハネ・ハライのちょっとした違いで×にされるかけ算の順序を逆にしたら×にされるとか、そのような炎上ネタがよくありますよね。昔とちがって、今は「覚えなくてもよいこと」が広がりつつあります。これと似たような意識の変化がプログラミング教育にも起こってくると思います。小学生や中学生にプログラミング言語の文法を覚えさせる小学生や中学生に機械や電子基板の仕様を覚えさせるという「勘違いした指導」が無くなっていくだろうと思います。プログラミング教育の世界でも、関数名を覚えさせるテストとか、細かい文法テストとか、そういうのが今後は炎上ネタにはなってくるでしょうね。時代によってすぐに変わってしまうような知識は、仕事や趣味で必要になってから覚えればよいのです。言えば、わざわざ覚えなくても、必要な時に必要な人が調べながら使っていれば、必要な分だけ勝手に覚えます。義務教育でテストするようなことじゃありません。日本と海外で異なる「プログラミング」の意味そもそも日本で「プログラミングが必要なくなる!」というウワサが広まってしまった原因は何でしょうか?海外ではぜんぜんバズっていないようです。日本では実際にそう言っている人たちがいます。彼らの名誉のために言っておきますが、もちろん決してウソを言っているワケではありません。ホントのことを言ってます。実は、そういう人が言っている「プログラミング」と、世界で一般的に言われている「プログラミング」とでは、そもそも言葉の意味が違うのです。プログラミングの意味が「日本と海外では違う」ということは、業界ではよく話題になります。説明すれば、次のような感じで意味が変わります。コンピューターで世の中の仕組みを変えていくことですから正確に言えば「コーディング作業が不要になる!」と言いたかったわけです。確かに、プログラミングのほとんどは、過去の誰かが作ったノウハウの再利用です。「商品の個数を入力してクリックすると注文数が1つ増える」みたいに、どこかで見たことがあるような処理があります。ある処理ですから、だれかがプログラミングして部品にしておけば、後の人はそれを再利用するだけで済みます。このように、ありがちな処理をすべて「プログラミング済みの部品」にして用意していくと、最終的には、そういう部品の組み合わせだけで開発できてしまうようになります。テンプレート的な機能の寄せ集めだけで作れるようなアプリやシステムだったら、確かにコーディング作業は無くなりますね。マウス操作がその代わりになりますから。上の写真のように、マウスで部品を持ってきて貼り付けていくだけで開発ができそうです。ホントだ!そういうワケです。反対に、テンプレートの部品そのものを開発する人にとっては、相変わらずコーディングが必要です。テンプレートはどんどん新しく進化していくでしょうから、コーディングの仕事もなくならないでしょう。新しいサービスやアプリを開発する場合もそうです。考えれば、ウソだ!ということになるワケです。ちなみに日本で「プログラマー」と言えば、どちらかというと「安月給」とか「辛い仕事」というイメージです。最近は変わってきているかもしれませんが、塾長が技術者だった時はそうでした。コーディングしか作業しないとすれば、そりゃ給料は上がらないでしょう。海外ではどちらかというと「中流階級以上の仕事」とか「高給取り」、「スマートな仕事」というイメージです。世の中の仕組みを変えるのですから、色々な役割をこなします。その分だけ、そりゃ給料が上がるでしょう。海外の方が夢があって華やかなイメージになります。コーディングなのでしょうか?それは日本が「超縦割り社会」だということに原因があります。「ピラミッド型の組織」だからと言っても良いでしょう。設計する人(エライ、給料が高い)コーディングする人(下っ端、給料が安い)という身分制度が日本にあります。大企業になればなるほど、この身分の壁が厚くなります。「大量生産」の時代には、こうしたピラミッド型の組織が最も効率的とされていました。多くの日本企業は今でもその体制が良いと信じられています。「プログラミング」の意味を変えていくべき!日本のピラミッド型組織の問題は、役割が「縦割り」になり過ぎていた、ということです。「設計する人」と「コーディングする人」(プログラミングする人)が別という組織は、とても非効率なのです。それに技術者の能力もたいして上がりません。昔は良かったのですが、今でもそんなことをしていたら、企業も日本も発展しません。海外に追い抜かれていきます。昔とは違って、今どきのプログラミング言語や開発の環境は、とても高機能だからです。開発がものすごく効率的にできるようになっています。今どきのコーディングは、プログラムを見れば「設計の考え方が分かる」ようになっています。細かい設計書を別に書く必要がありません。設計すると同時にプログラミングが完成していく、という状況です。なると「設計する人」と「コーディングする人」は同じ人で良くなります。他にもいろいろあります例えば、昔はサーバー側(大型のコンピューター側)と、ブラウザ側(スマートフォンやパソコンなど)とでは、設計やコーディングをする人が違っていました。それぞれに使われている技術が違っていたからです。サーバー側はPHPやPythonで、ブラウザ側はJavaScriptで、という具合です。ところが今はサーバー側もブラウザ側も同じ技術でプログラミングできてしまいます。Node.JSという環境では、JavaScriptでサーバーもプログラミングできてしまいます。実際、スクラッチ3.0はこの技術を使って開発されました。塾長もマイクラミングの開発で使いました。なると「サーバー側」と「ブラウザ側」も同じ人で良くなります。このように、どんどん1人でできることが多くなってきています。余計に1人が多くの役割を同時にこなした方が良いのです。その方が開発が速いし、画期的なアイデアが採用されやすいのです。海外に比べると日本の組織は、意思決定も開発のスピードも圧倒的に遅いです。ピラミッド型の組織では飯を食っていけなくなるでしょう。よって「プログラミング」には、問題の設定や設計からコーディングまで、すべての意味を含めるべきでしょう。1人が色々な役割を同時にこなすことを、誰にも邪魔されないようにすべきです。これから日本も「プログラマーが世界を変える」ような姿になっていくべきだと思います。ピラミッド型の組織の中で「プログラミング」を「下っ端がコーディングだけすること」などと決めつけているようでは、日本は成長しません。ちなみに「1人でできることが増えてくる」ことは、プログラミングに限った話ではありません。放送の世界でもそうでしょう。1人で企画、取材、撮影や録音、編集、放送や広告宣伝の全てをこなしています。コンピューター技術の発達で、放送のあり方が急速に変わっています。YouTubeに乗り遅れた有名人たちがclubhouseに殺到している、なんて揶揄されているほどです。私たちを取り巻くコンピューター技術が、それだけ目まぐるしく変わっているということです。このような変化に伴って、すでに組織の潮流は、ピラミッド型の組織からネットワーク型の組織に変わっています。1つの大きな組織が大きなモノを生み出す形態から、1人ひとりが独立して何かを生み出しつつ、連携して大きなモノを生み出す、そういう形態に変わってきたのです。他にも色々な変化が発生しています。秘密主義からオープン主義へ所有からシェアへ一握りの天才から集合知へ大型顧客からロングテールへ・・・しかも急速な変化です。ピラミッド型の組織では、こうした変化に対応できないのです。これまで優秀なプログラマーや企業は、みんな海外へ出て行ってしまいました。日本に残るのが、変化を察知できない人や組織だけ、となってしまっては悲しすぎます。これから日本も「プログラミング」の意味を海外のように変えていく必要があります。そのためには組織もネットワーク型に変えていくべきでしょう。日本の内部から「世の中の仕組みを変える」ような国に変えていく必要があります。このようにプログラミングの意味を変えることと、組織を変えることは、切っても切り離せません。日本も早く変わっていくべきでしょう。新しいプログラミングの教育、つまり色々な役割を同時にこなしたり、一連の作業の流れを一通りこなしたりするような人材を育成していくことが前提になります。プログラミング教育の必須化が待ったなしになったのです。コロナ禍でテレワークが増え、並行してGIGAスクールが加速しています。これらが起爆剤の1つになる可能性も有ります。「プログラミング教育」を「モノづくり教育」にしてはならない!せっかく必須化されたプログラミング教育。これを「モノづくり教育」だと勘違いしてしまったら、悲しい失敗に終わってしまうでしょう。過去に何度も繰り返してきた失敗です。趣味でやるのはかまいませんが「義務教育としてやるのは間違い」といことです。上で述べたように、モノづくりの現場で使われている技術は日進月歩です。技術は10年もたたないうちに変わります。いま日本で使われているトレンドの技術を子供たちに覚えさせても、あまり意味がありません。次のことは全て間違った教育です。小学生に今からプログラミング言語の文法を覚えさせるパソコンのコマンドを覚えさえさせる中学生にエクセルの関数名を暗記させ、書き取りテストをするモーターやLEDの特性や制御の手法を細かく覚えさせるまったく英才教育にはなりません。何度も書きますが、趣味でやるのはかまいませんが「義務教育としてやるのは間違い」という意味です。プログラミング教育でやるべきことは、モノづくりの技術などではありませんよ。新しくトレンドの技術を覚えさせる必要なんて、全くないですからね。最適解を見つける訓練ですよ。技術が変わっても残る「考え方」の部分。要するに「世の中の仕組みを変える方法」を教えていくことです。それがプログラミング教育のあるべき姿です。間違っても技術者の早期育成などと矮小化してはいけません。そんな目先の小さなものに注目していると、大きな目的を見失ってしまいます。学校の予算が無くてLEDやロボットが買えないなら、買わなくてもよいです。最低限、コンピューターだけあればよいです。あるものを組み合わせてできる範囲で最適解を考えさせれば良いだけです。有るもので間に合わせて指導した方が、むしろトレンドの技術に依存しないプログラミング教育ができると思いますよ。考えると、本当はもっと早くプログラミング教育ができたはずでした。これからの時代、プログラマーの仕事は「世の中の仕組みを変えること」です。人間の欲求の姿はあまり変わらなくても、社会の仕組みは、どんどん変わるでしょう。日本人がやらなければ海外の人がやってしまいます。海外の人がやってしまったら、日本人は、それをお金を出して買うしかありません。日本人も新しい仕組みを作って海外に売らなければ、日本からお金が出ていくだけですよ。YouTuberの中には「プログラミングスクールに通っても稼げない」などと主張する人がいますね。その「プログラミング」の意味、そろそろ卒業した方が良いですよ。卒塾生(進路が確定するまで在籍していた生徒)が入学した学校の一覧です。お友達登録はこちらLINE登録するとプレゼントがもらえます!【会員限定】お子様の成績と可能性を伸ばす18個のノウハウ塾関係者様のお友達登録はこちらLINE登録するとプレゼントがもらえます!「zoomで簡単。http://urx.blue/HCgLTweetSNSでもご購読できます。