これからも日本のために、一緒に頑張りましょう。http://urx.blue/HCgL2019.10.30【塾長の独り言2】小学生や中学生にプログラミングさせても無意味!?という誤解がなぜ日本には根強いのか?塾長です。2020年度から実施されるプログラミング教育が目の前に迫ってきました。それなのに、今だに「そんなの意味あるの?」という疑問の声を聞くことがあります。多くは「誤解」からくるご意見です。今回はその誤解の正体について語ります。解説動画の方が良い方は下のYouTubeでどうぞ。【塾長の独り言2】小学生や中学生にプログラミングさせても無意味!?という誤解がなぜ日本には根強いのか?(※)動画を撮った後で気付いたのですが、「黒歴史」と「ブラック企業」の2つの「黒」で話しがまとまっている気がするのは偶然です。何はともあれ、誤解が解けて日本のプログラミング教育が正しい形で盛り上がることを願います。子供にプログラミングなんて習わせてどうするの?最初に政府がプログラミング教育をうたったとき、賛同の声よりも、むしろ批判の声が高まりました。多くの人が誤解し、そして混乱したからです。私が思うに、その混乱の原因は2つあります。日本ではプログラミング教育で失敗した黒歴史があるから日本では「プログラミング」の意味が「コーディング」だから1つ目は、高校数学にプログラミングを導入して失敗した「黒歴史」があったからです。あの時は「フローチャート」と「BASIC」という特定の技術領域に偏ってしまったのが敗因です。実際、2014年度のセンター試験まで数学2BでBASICのプログラミングが出題されていました。センター試験の過去問集が、まるで人に見られたくない黒歴史のアルバムのようになっています。2つ目は、日本では「プログラミング」の意味が、頭脳労働ではなく肉体労働の「コーディング」を意味しているからです。日本では経験豊富でスキルの高い人が頭脳労働の「設計」を分担します。若手がその設計をただコンピューター語に翻訳することを「プログラミング」と呼んできました。要するに日本の多くの職場では「プログラマー」=「下っ端」なのです。ところが海外でプログラマーと言えば、時にスティーブジョブスやビルゲイツのように「世の中の仕組みを変えてしまった人」という意味まで含みます。海外視察で意識を高めた政府高官は、もちろん未来志向で意欲的な意味を込めて「プログラミング教育」と言ったつもりでした。上記2つの背景を持つ日本社会では、その言葉はマイナスイメージでした。日本のプログラマーは文系で、海外では理系!?海外でプログラマーが世界の仕組みを変え続けてきたのには、日本とかなり違った事情があります。それは、日本のプログラマーが文系で、海外のプログラマーが理系だということです。日本では理系の大学生の多くが公務員か研究職か工業系に進んでしまい、ソフトウェア産業にはあまり就職しませんでした。一部のパソコン好きな人くらいでした。信じられないかもしれませんが、2010年ころまで、多くの日本企業はプログラムの価値を低く見てきました。若手はその価値を理解していたかもしれません。企業の上層部の人達は平成初期の感覚でプログラムを機械の付属品くらいにしか思っていませんでした。そのためプログラミングしている部署自体が、出世の見込めない部署にされていました。そんな状況のため、理系の技術者が多く育ちませんでした。才能のある人間は海外に行ってしまいました。実際、日本においてプログラマーの仕事の多くは、理系の知識を使いませんでした。日本のIT会社の仕事と言えば、ほとんどが事務作業を自動化するような開発です。そのような仕事が山ほどあって、それで飯が食っていけました。その種のプログラムは高度な数学や物理を使いません。いえ、本当は目に見えない所で、めちゃくちゃ高度な数学や物理学が使われているのですが、そういう肝心な機能は海外で発明されてしまっており、日本はそうした海外の技術を使ってプログラミングするだけです(※)。文系の人でもプログラミングさえ勉強すればできるようになります。仕事が多くあって、常に人材不足で残業だらけ。文系だろうが理系だろうが、多くの人がプログラマーになってきました。(※)悲しいことにソフトウェア産業において日本は技術後進国です。WindowsにMacOS、Linux・・・どれもアメリカ産です。インターネットやデーターベースの仕組みもアメリカ産です。人工知能や新しいプログラミング言語など、時代を切り開くソフトウェア技術のほとんどが海外製です。ビッグデータを抱えるGAFAは全てアメリカの企業です。日本人の多くは日本ではなくアメリカに納税している形になっています。塾長がマイクラミングを開発した時に参考にしたのは、英語のホームページと中国語のホームページだけです。スクラッチ3.0の仕組みをちゃんと解説している日本人は一人もいませんでした。日本のプログラミングはプラモデルみたいなものだったたとえ話をします。プラモデルを組み立てるのに文系も理系も関係がありませんよね。組み立て方を説明する図面や解説が着いてきます。その通りに組み立てれば、ちゃんと形が出来上がります。確かに作るためには一定の技量が必要で、時間もかかるし苦労もします。同時にチャレンジや楽しさもあります。色塗りなどで作り手の個性を出すこともできます。日本のプログラミングは、正に「プラモデルを組み立てる作業」のような感じでした。海外のプログラミングは、もっと根本的な開発を含んできました。化学の専門知識を持った技術者がプラモデルに相応しいプラスチックそのものを創造しました。物理学や工学の専門家がプラスチックを綺麗に成型する機械を発明しました。数学を操る技術者が図面や解説を何倍に拡大・縮小して印刷しても滑らかに表示できる数式を作りました。ソフトウェア工学の専門家が、それらをデーターベースやソフトウェアに置き換えてパッケージ化し、製造方法そのものを商品にしました。上の話しは、あくあまでもたとえ話です。要するに、ほとんどの日本のプログラマーは、今まで発明の必要がないか、発明ができない立場や状況にいました。プログラミングは安い作業ではありません。他の職業と同じで、むしろ世の中を良くする仕組みを創造する活動です。色々な分野の専門知識が、色々な立場の人たちに広く利用できるようになる、そういう仕組みを創り出していく活動も「プログラミング」に含められます。いう夢をぜひ持って欲しいと思います。20世紀後半、確かに日本人の技術力は多くの分野で世界1位だったかもしれません。コンピューターが発達してソフトウェアの重要性が高まるにつれ、日本の技術力はどんどん影を薄めてきました。過去の栄光に浸るには、僕らはまだ若すぎます!早く目覚めなければいけません。日本人はプログラミングにおいても「世の中の仕組みを根本から変える発明」を目指さすべきです。いう人が千人に1人、いや万人に1人でも出て来るような社会にしていく必要があると思います。プログラムの基礎が国語や数学や物理!?プログラミング教育よりも、まず読解力だ、算数・数学だ、という主張が根強いです。英語教育を強化する時にも同様の主張があります。読解力や算数・数学が大切なのはもちろんです。言ってプログラミングや英語は後回しで良いとはなりません。読解力や算数・数学の技能を発揮してプログラミングして欲しいと思います。それがどういう事かを考えてみましょう。コンピューターを触らないプログラミング今から25年くらい前、大学生の時。私は選択科目の中で「コンピューターアルゴリズム」を受講しました。大学生になったらプログラミングを勉強しようと決めていたからです。「アルゴリズム?」という疑問を抱きつつも、コンピューターと名の付く講義がそれしかなかったので、迷わず選択しました。ところが、最初の講義で取り組んだのは図形の問題でした。最後は円周率を速く正確に求める数式の問題でした。結局、その講義の中ではコンピューターを1秒も使いませんでした。紙と鉛筆だけの世界でした・・・アルゴリズムは「算法」と和訳されるみたいですね。いえばコンピューターは計算機でした。同じ計算結果を得るために、どんな式を使うかで計算の速さが変わります。プログラミングする前に、より速くより正確に計算できる数式を考えること。それがアルゴリズムでした。残念ながら最後までコンピューターを使わなかったわけです。仕事の早さも電気代もプログラマー次第!?ただし学びは大きかったです。プログラマーが数学や物理の公式を知っているか否か更にその公式を目的に応じてカスタマイズできるか否かこうしたことで、計算の速さも計算結果の正確さも大きく変わってしまう、ということを理解できました。電気代も時間も大きく変わってしまいます。同じ仕事をするのに、時には1万倍くらい効率が変わったりします。使うエネルギーが何桁も小さくて済みます。世界中のプログラマーがアルゴリズムを学べば、世界中のコンピューターが消費する電力が今よりもずっと減って、地球の温暖化さえ防げるのではないか、と思ったくらいです。四捨五入をどう求めるか?アルゴリズムしだいで計算量が変わってしまう簡単な例を出します。ある例題だと思います。「与えられた小数を、小数第1位を四捨五入して整数の概数にしなさい。」これを四捨五入の考え方どおりに、正直にプログラミングするなら、次のような6行以上の処理(プログラム)になるでしょう。「整数部分」を表示しろそうでなければ(「整数部分」+1)を表示しろしかし、もっと簡単な方法があります。)の整数部分を代入しろ「整数部分」を表示しろこれなら、たったの2行です。工夫すれば1行にもできます。注目すべきは小数第一位について「四捨」と「五入」で場合分けする必要がないところです。コンピューターで遅い処理の1つが場合分けです。これが無いのは大きいですね。これがアルゴリズムを考えるということです。本来はアルゴリズムも「プログラミング教育」に入ります。アルゴリズムの方が大切です。「目的」と「手段」を分けて考える発想を養う上で見たように、コンピューターを使いこなすということは、目的と手段を分けて考えることに他なりません。「四捨五入を求める」という目的の実現方法は何通りも考える事ができます。視野を広げるほど、いろいろな手段が思いつきます。上の例題では、たまたま「小数第1位を」四捨五入する条件だったので「0.5を足す」という短い計算方法が選択できたわけです。プログラミング教育では、次のような取り組みを体験させる狙いがあります。答えが1つに定まらないような問題にチャレンジする。試行錯誤で最適解を見つける。難問に対して「無理だ」と即答しては何も生まれません。正解が1つという発想を捨て、今できる最大限の答えを見つける発想を変えれば、できることが生まれます。そのように視野を広げて、手段を何通りも並べて、何度も試しながら、最適解を導いていくこと大切なのです。美術、技術などの素養が必要です。逆に、勉強したことを使おうとするから身に着きやすくなる、という側面も出てくるでしょう。今こそ理系的なプログラミング教室が必須!ですから「ただ図面を見ながら組み立てるだけ」みたいなプログラミング教室には、絶対にしたくありませんでした。時代や流行りに依存するような専門知識を詰め込んでも、価値がないと思いました。高校生がBASICというプログラミング言語を習わされて、それでセンター試験も受験しました。今やBASICを使う最先端の仕事など、ほとんどありません。高校までの学校教育において、特定のプログラミング言語の用語や文法を覚えさせても意味がないのです。時代に合わせた職業訓練は専門学校の仕事です。第一、みんながプログラマーになるわけではありません。実際のところ、「組み立てるだけ」とか「職業訓練の簡易版」のような小中学生向けのプログラミング教室が多いです。私はそういうプログラミング教室を教育とは見なしていません。趣味と割り切れば良いですが、私は少なくとも自分の子供にそれをやらせようとは思いません。なく、もっと根本的に、生徒たちの血肉になるような活動にしたいと思いました。理数系の頭脳や論理的な思考力を、ちゃんと伸ばす活動にしたいと思いました。知らないうちに、高度な数学的なセンスや図形のセンスが身に着いている。知らないうちに、創造する喜びが体験できている。そんなプログラミング教室にすべきだと思いました。自分でプログラミング教室を作るしかなかったのです。マイクラミング本来のプログラミング教育は、偏った専門知識を覚えさせたり、特定の技能を訓練するものではなく、子供たちが問題に立ち向かう基礎力を育てるものです。「マイクラミング」は、そんなプログラミング教室になっています。なるように教育改革後の学習指導要領をにらめっこしながら作りました。子供たちの頭を良くするために塾長が自ら開発!しました。テキストは本厚木校の髙橋先生にお願いして、小学生にも親しみやすい構成にしてもらいました。「プロボン」というキャラクターも生まれました。ありがとうございます。生徒たちは、パソコンやプログラミングの専門用語なんて、ほとんど覚えません。課題を解決することやマインクラフトで建築を「創造」することに没頭できるようになっています。試行錯誤が大切なのであって、専門知識の暗記をしたいわけではないからです。それでいながら、小学1年生がマイナスの数を理解し、計算もできるようになります。それどころか、高校2年生の空間ベクトルで習うはずのxyz座標を、小学生が理解して、使いこなしています。そのような数学の知識を活用してプログラミングを楽しんでいます。マインクラフトの世界に多くの魔法をもたらしています。小学1年生でも取り組めるジュニアコースから、三角関数やデータ処理を扱うハイコースまで用意しました。実際ヒーローズ植田一本松校プログラミング教室には、小学1年生から高校3年生まで広い層が在籍しています。日本人の「プログラミング」に対する誤解がちゃんと解けて、正しいプログラミング教育が、もっともっと盛り上がっていくことを願うばかりです。近隣の方から、ぜひお立ち寄りくださいませ。国公立大学の二次試験は部分点を狙え!塾長です。国公立大学を目指している受験生に質問です。記述試験とマーク試験、どちらの方が点を取りやすいですか?嫌煙されがちな「記述試験」ですが、理系科目に関しては、実は「記述の方が実力を発揮しやすい」です。今回はその理由と記述の対策について書きます。国公立大学の理系を志望する受験生の話しです。2018新しい元号が令和に決まりました。東邦高校が春の甲子園で見事に全国優勝を果たしました。嬉しくて新鮮な話題が4月を彩っています。4月は17人の入塾があり、教室にも新鮮な風が吹いています。振り返れば3月は激務でした。受験の追い込み授業、新入生の受け入れ、学年の切り替え作業、人事の雑務などなど。慌ただしくて過去を振り返る間もなかった気がします。卒業生のみんなのことを忘れたら勿体ない!みんな個性が強かったもんな~ようやく春を実感できたところで、少し思い出を書き留めておきます。教室にほぼ住んでいたMさん教室を開けるといつも一番にやって来たのが中3生のMさん。マイ机があって毎日決まった席に座ります。塾としては「マイ机」なんて制度はないはずですが、1番に来て座るのですから自然にそうなるわけです。他の生徒が来る前の時間帯は、私がパソコンをカチャカチャ打つ音と、Mさんが自習でカリカリ書く音だけが静かな教室に聞こえていました。私が仕事に飽きると、Mさんに「何してるのぉ?」と声をかけては雑談しました。勉強というよりは作業系のことが好きみたいで、漢字練習を喜んでするのでした。将来は職人になりたいというので、高校受験もそれを踏まえて指導しました。超理系人間のYくん数学や物理が大好きで、大学進学は物理学者になれる学科を希望していました。同時にそれを志すだけの才能が自分には無いともこぼしていました。私はそれに対して「才能の有る無しが判断できる程の努力をまだしてないでしょう」と切り返したものです。物理学は大掛かりな実験装置を使うことが多いので、私は「本気なら浪人してでも予算の手厚い旧帝大に行け」と勧めましたが、彼は現役で進学することを選びました。受験が終わった後は、大学の線形代数やプログラミングについて予習をしました。大学で好きな研究が少しでも早くできるよう、その武器となりそうな知識を教えておきました。心残りは現代らしいプログラミングまで教えられなかったこと。オブジェクト指向にはじまり、辞書型やJSONといったデータ構造が人気の理由まで。しても時間が足りませんでした。彼なら大丈夫でしょう。チャレンジを譲らなかったKくん私は高校受験の時に、かなりチャレンジな受験をしました。結果は大敗で私立高校に進学しました。あの時チャレンジしたからこそ、自分の能力を期限ぎりぎりまで上げられたのだと思います。Kくんと面談した時、かつての自分を思い出しました。面談で安全圏に志望を下げるか、そのままチャレンジするか聞きました。Kくんはチャレンジすると即答しました。それからたくさん勉強しましたが、結局、第2志望へ進学することになりました。合格発表当日の電話の声は元気で、翌日、教室に来た時の顔もスッキリした感じでした。受験でやり切るって、こういう顔になれる事なんだよね。私はKくんの様子を見て、そうに実感しました。「学年で何番で合格していたかな。高校では上位を狙おうね。