個別指導塾、学習塾のヒーローズ。植田(名古屋市天白区)、赤池(日進市)の口コミで評判!成績が上がる勉強方法が身につく!振替、自習も便利!
// 条件1に該当しない場合の処理

プログラミング

新年のご挨拶 2024

塾長です。

新しい年を皆さんと迎えられることを、とてもうれしく思います。
今年もよろしくお願いします。

 

2023年を振り返って

塾長の中で、2023年はコロナ渦が本格的に明け、リアル世界が再びにぎわってくる年に見えました。
同時にサイバー空間がリアル世界に侵入してきた年にも見えました。

この1年でChatGPTのような生成AI が多くの人に手軽に利用されるようになったです。
パソコンやタブレット、スマートフォンやそれらのアプリなど、多くのサービスが、あっという間にAIに対応しました。

12月1日に「生成AI」が流行語大賞の1つになりました。受賞したのは落合陽一氏です。
生成AIを実演している動画やTwitter(現在のX)の中で、落合氏は

「バカをバカにする社会は2000年まで」(※)

などと言われています。

この生成AIの実用性が日本で広く話題になったのは 2022年の秋ころからです。
むしろ2022年は多くのサービスが試作段階で無料であったため、作文、作画、作曲など色々な生成AIを遊び感覚で使えました。

そして2023年に入ると、たとえば、生成AIに書かせた小説が出版されることが増えました。
Amazonで販売されているのをよく目にします。
今では、このような手法で大量生産された小説にあふれています。

もはや読書感想文のノリで、ライトノベルを書けます。

つまり、一生懸命勉強して生成AIと同等の能力を身に着けたとしても、それができない人に対する優位性は、もうありません。
勉強するよりAIの使い方を覚えた方が、手っ取り早く結果が出せるようになってしまいました。
それは小説の例を1つ取ってみても明らかでしょう。

勉強できるからスゴイとか、できないからダメだとか、そういう基準で考える時代は、もう終わりました。

もちろん、残念ながら、AIが登場しても人間が勉強しなくても良い、とまではならないでしょう。
AIを使いこなすための、最低限の知識や言語能力は必要になるからです。

ただ少なくとも、これまでの

「受験だけを目的にした勉強」

は、まちがいなく不要になるでしょう。
今度こそ、不毛な勉強を葬り去るチャンスかもしれませんよ。
少なくとも、

「偏差値を自慢できなくなった」

とは言い切れるでしょう。

「バカをバカにする社会は2000年まで」
「偏差値を自慢できなくなった」

2023年は、このようなことが多くに人にとっても現実に身近になった年だったのではないでしょうか。

2024年の方向性

生成AIが世界の価値観を変えるのに要した時間は、2年もかかりませんでした。
日本では1年くらいでした。

私たちは「学ぶ」という意味を、失い、そして再定義する必要に迫られています。

ただ、これは遅かれ早かれ、そうなる運命でした。

日本は平均寿命が延びて人生100年を生きることが前提になりました。
たとえ70才だろうが80才だろうが、健康である限り、生きがいを持って活動したり働いたりする。
そのためには、何度も学びなおす「リラーン」が重要と言われてきました。

定年退職から逆算して50歳から第2のキャリアを考えてリラーンする(学び直す)。
5年前までそのように思われていたのですよ。

実際、塾長の世代(50代)より下の人は、もう定年退職もないし、下手をすれば年金すらもらえないと思っています。
退職できないことを前提に、死ぬまで生きがいを持って働くことを前提に行動を始めています。

それが加速しただけです。

「もっと短期間でリラーンする必要がある」

ように加速しただけのことです。

良い大学に入るのがゴールではないし、難しい国家試験に合格するのもゴールではありません。
リラーンにしろ大学進学にしろ、そのようなものは人生に何度も訪れる通過点に過ぎないです。

それならば、就職のために大学に行くのは効率が悪いでしょう。
良い大学を出ても無能であれば就職できません。
無理に進学してもローンが残るだけです。

それならばいっそ、短期間で実用的な知識や技術を学べる専門学校や訓練所の方がよい、となるでしょう。
そして、そういう所に通うことを、人生の中で何度も経験するようになります。

そのような近未来の様子を、多くの人が現実の問題として、自分の問題として考えるようになる・・・

2024年は、そんな年になるような気がします。
2023年に起こった価値観の変革。それがキャリア感の変革につながる年になるでしょう。

塾の方向性

さて、こうした変化に対応していくために、これからどうしようか、ということになります。
実は私、もう決めています。

学力は基礎力を重視

特に義務教育において、今後も反復学習が重要であることには変わりないと塾長は思っています。

上にも書いた通り、AIやコンピューターを使いこなせるだけの、最低限の基礎力が必要がです。
また将来リラーンを行うにしても、新しい教材を理解できるだけの基礎力が必要です。

そうした基礎力が、義務教育で習うことだと思います。

そして義務教育で習うことの多くは、知識の詰め込みで身につきます。
知識の詰め込みは最も簡単な学習方法で、なおかつお金もあまりかかりません。

なぜなら知識の詰め込みは、反復学習すれば良いからです。
繰り返すだけなら新しい教材は不要です。

また教科書レベルの知識は、解説動画があふれています。
塾でも標準教材の解説動画を見れますし、講師がその場で解説することもできますし、類似のプリントを出すこともできます。
2重3重に対策が取れますから、生まれつきの能力差を穴埋めしやすいと言えます。

基礎力を軽視した人の末路

基礎力ばかりでは、応用力が身に着かないと不安になる方もいるでしょう。
それはよくわかります。
不安の正体はもちろん、

「テストで点数が取れるか?」
「内申点をもらえるか?」
「入試の問題を解けるのか?」

と言うことに尽きるでしょう。

ただ、応用力は誰にでも同様に身につくものではなく、得手不得手が出やすいです。
また応用になるほど実用性が薄れ、学ぶ意味も薄れます。

加速する少子化で、すでに生徒の7割が受験不要になっています。
落とすための受験から、入学してもらうための受験に変わってきています。
高校まで授業料は無償化されています。

7割の生徒は推薦入試を選び、そこでは基礎力が重視されます。

それが現実です。

残りの3割の中の、さらに上位半分、つまり上位15%を目指すなら、5教科の中で応用力を伸ばしましょう。

ただし偏差値60くらいですら、5教科全てにおいて応用力までは必要ではありませんよ。
難問は捨てて基礎問題だけを取りに行き、5教科の点数をまんべんなく取りに行った方が、内申も入試も点数が安定します。

この近辺であれば、天白高校、昭和高校、名東高校くらいまでなら、応用力はほとんど不要と言えるでしょう。

信じられませんか?
信じられないという人は、まだまだ基礎が身についていないのでしょう。

なお、一般受験比率の高い公立高校は、愛知県だけでも定員割れが2000人を超えています。
大学は日本に800校近くもあり、生徒数よりも定員数の方が多く、約半数の大学は経営がやっとで「ぜひ入学してください」状態です。

そして大学によっては中学生レベルの勉強をしている所さえあります。
それなら、中学で下手に応用まで手を出して挫折するより、基礎だけを反復してた方がよかったじゃないか、となります。

結局のところ、最後の最後まで基礎力が大切なのです。

基礎力があれば時代に合わせてリラーンができます。

人生は長く、高校や大学を卒業してからの方が、むしろ勉強のはじまりなのです。

応用力は個別最適で

応用力というのは、興味関心を持った生徒が、探求して得るような能力です。
「探求しろ!」「応用しろ!」とか言われて身につくようなものじゃありません。

時には、先生や講師が生徒たちの興味関心を促すために、自ら探求を実演して見せる授業もするでしょう。
ところがその種の授業は、ほとんどの生徒たちは着いていけず、置いてけぼりになっている、そういう学びです。

(注意)
「興味のきっかけ」を生徒に与えるのも大切な仕事ですから、このような授業も大切です!
全ての生徒が応用までできるようになる必要はない、と言うことです。

応用力は「とがった能力」ですから、合う合わないがありますし、開花するまでの時間も、ほとんど予測不可能です。
そして多くの場合、「そんなの役に立たない」と言われてしまうような能力です。

他人からの評価とは別に、自由な学びの中で芽生え、発展していくものです。

もしもお子さんの応用力を伸ばしたいのであれば、「子供の探求を邪魔しない」ことが大切です。

ところが、探求が過熱するに従い、子供の取り組みが、教科書や過去問の傾向から外れてしまったり、5科目の分野からそれてしまうと、多くの大人は子供たちの探求を、遮ったり邪魔したりしてしまいます。

もしも本当に応用力を身に着けさせたいなら、そうした子供たちの興味関心に寄り添い、よき理解者としてバックアップし、とにかく「邪魔をしない」ことを確約したり、「環境を整える」ことをしてあげることでしょう。

難関校や旧帝大に合格するような生徒の保護者様の多くは、「勉強しろ」とは言いません。
子供が探求したのが、たまたま勉強の分野だったのでしょう。

多くの人は「そういう子供は特別だから」とか、「生まれつき良い子だから」などと勘違いしていますが、そうではありません。
「子供の探求を邪魔しない」という姿勢が、他人から見ると「勉強しろ、と言わなくても勉強してくれていいなぁ」という風に見えているだけです。

もちろん親の影響は大きいでしょう。
いつも新聞を読んで世の中の流れを解説する親と、いつもドラマやバラエティばかり見ている親とでは、どうでしょう。
どちらの姿を見ている子供の方が、5教科に近い分野で興味関心を持つ可能性が高いでしょうか。

そういう問題はあるでしょう。
ただ、それも可能性の問題であって、全く違うことに興味関心を持つことだってあるでしょう。

プログラミング教室という探求の場をさらに発展させます!

ヒーローズ植田一本松校でご提供できる探求の場は何でしょか?

もちろん学習塾ですから、5教科のどれかを探求する場(偏差値70以上まで伸ばす場)としてご利用いただくのもありでしょう。
ただ、それだけでは従来と同じです。

塾長の取り組み

塾長は何年も前から、我が国のプログラミングスキルを底上げしようと、プログラミング教室を始めています。

うちの教室だけではなく「マイクラミング」という教材にパッケージングして全国に展開しております。
北海道から沖縄まで全国約60教室で導入していただいております。

このプログラミング教室を「探求の場」として提供していますが、これからますます強化していこうと考えております。

もちろん「探求」ですから、すべての子供たちが興味を持つ必要はありません。
しかし逆に、せっかくプログラミングに興味を持ったのに、探求できるレベルの場が無いのはかわいそうです。

プログラミングに興味関心を持った子供たちに、この場を提供し、どこまでも伸ばしたいと考えております。

ハイレベルな教室

マイクラミングの特長はいろいろありますが、探求と言う意味では、次のものが目立つでしょう。

  • 失敗するように作られている
  • プロコースがある

多くのプログラミング教室は、簡単に誰でもできるように教材が作られています。
私はそれが不満でした。

そんなものは探求のたの字もありません。

失敗できる環境

多くのプログラミング教室は、失敗しないように、楽しさ重視で作られています。

失敗しないように訓練するのであれば、従来どおり5教科を勉強してテストで「点を落とさない」訓練を積めばよろしい。
もちろん、その種の訓練は探求ではありません。

せっかくプログラミングをするなら、失敗をしてください。
失敗から多くの予測不可能なことを学べます。

コンピューターが動かなくなったり暴走したりします。
なかなか原因が分かりません。
時には講師でさえも原因が分からなくなり、子供たちの方が早く手探りで原因を発見したりします。

失敗を隠すのは「探求を邪魔する」行為でしょう。
講師が失敗を恐れるあまり「誰でもできるプログラミング教室」にしてしまうのは、まさに邪魔でしかありません。
失敗で困りたくない、授業が進まなくなったら困る・・・そういう従来型のお勉強としてプログラミング教室をやっているところは、探求ができません。

マイクラミングは失敗できるし、失敗から多くを学べるようにしてあります。
プログラミング教室は増えていますが、なかなか、こういう教室は無いのではないでしょうか。
講師も大いに失敗し、子供たちと一緒に悩んで、問題に立ち向かいます。

根本から違います。

プロコースがある

マインクラフトを利用したプログラミング教室が増えて来ました。
もちろん、マイクラミングでもマインクラフトを利用しています。

ジュニアコースからハイコースまでは、優れた3Dプリンターとしてマインクラフトを使います。

プロコースでも最初は少し使いますが、後半では逆です。

なんと、マインクラフトそのものを開発してしまいます!

夏のプログラミング大会では、人工知能でチャットボットを作った生徒もいました。
既存のサービスを利用したのではなく、ゼロから自分で作った人工知能です。

そして現在、プロコースの先端を行く生徒たちは、OSを作っています。
OSとは、WindowsやMacOS、Androidといった、コンピューターそのものを動かすソフトのことです。

本当はマインクラフトを自作できるレベルになった時点で卒業だったのですが、
生徒たちが「もっと極めたい!」といって卒業してくれませんでした(笑)

そこで急遽、OS自作コースを追加しました。

文字通りのプロレベルです。

探求ですから、どこまでもお供いたしましょう!

ということで、2024年度は、このようにプロレベルに目覚める子供たちをもっともっと発掘したいと思います。

そのような環境が、まだまだ日本には少ないです。

もっと広がるように頑張っていきたいと思います。

 

文献

バカバカする社会は2000年まで」・・・たとえば以下など。
「AI時代では知性を追い求める時代でなくなる?!」 MCA達成&成功コーチング
https://www.mca-coach.com/ageofainochasingintelligence/

 


進学実績

卒塾生(進路が確定するまで在籍していた生徒)が入学した学校の一覧です。
ちなみに合格実績だけであれば更に多岐・多数にわたります。生徒が入学しなかった学校名は公開しておりません。

国公立大学

名古屋大学、千葉大学、滋賀大学、愛知県立大学、鹿児島大学

私立大学

中央大学、南山大学、名城大学、中京大学、中部大学、愛知淑徳大学、椙山女学園大学、愛知大学、愛知学院大学、愛知東邦大学、愛知工業大学、同朋大学、帝京大学、藤田保健衛生大学、日本福祉大学

公立高校

菊里高校、名東高校、昭和高校、松陰高校、天白高校、愛知教育大学附属高校、名古屋西高校、熱田高校、緑高校、日進西高校、豊明高校、東郷高校、山田高校、鳴海高校、三好高校、惟信高校、日進高校、守山高校、愛知総合工科高校、愛知商業高校、名古屋商業高校、若宮商業高校、名古屋市工芸高校、桜台高校、名南工業高校、菰野高校(三重)

私立高校

愛知高校、中京大中京高校、愛工大名電高校、星城高校、東邦高校、桜花学園高校、東海学園高校、名経高蔵高校、栄徳高校、名古屋女子高校、中部第一高校、名古屋大谷高校、至学館高校、聖カピタニオ高校、享栄高校、菊華高校、黎明高校、愛知みずほ高校、豊田大谷高校、杜若高校、大同高校、愛産大工業高校、愛知工業高校、名古屋工業高校、黎明高校、岡崎城西高校、大垣日大高校

(番外編)学年1位または成績優秀者を輩出した高校

天白高校、日進西高校、愛工大名電高校、名古屋大谷高校

※ 成績優秀者・・・成績が学年トップクラスで、なおかつ卒業生代表などに選ばれた生徒

 


名古屋市天白区の植田で塾を探すなら個別指導のヒーローズ!!

★ 直接のお問い合わせ ★
――――――――――――――――――――――
個別指導ヒーローズ 植田一本松校
〒468-0009
名古屋市天白区元植田1-202 金光ビル2F
TEL:052-893-9759
教室の様子(360度カメラ) http://urx.blue/HCgL

プログラミングの勉強は何から始めたらよいですか

塾長です。

これからプログラミングを始めたい人からの質問です。

何から勉強したら良いですか?

こういう質問が増えてきました。

塾長は立場上、中高生やアルバイトの大学生から、こういう質問を受けます。
中には他の塾の先生から「子供にプログラミングを教えた方が良いですか?」というご相談も。

ということで、塾長の立場からアドバイスを書きたいと思います。

この記事の対象

この記事では、特定の産業技術を学ぶことを目的にはしていません。
広く通用する「基礎学力としてのプログラミング」を学びたい人が対象となるでしょう。

逆に「数か月~半年後に仕事ですぐ使えるプログラミング」を学びたい人は、別の記事を探してください。

あくまでも学習塾の先生として書きますね。

プログラミング言語の種類が多すぎる

プログラミングを学ぶ上で、最初に立ちはだかる壁。

それは「どのプログラミング言語を選ぶか?」かもしれません。

せっかく学ぶなら、色々なことができそうな言語を選びたいものです。
しかし、プログラミング言語の種類が多すぎます。

例えば、下の図を見てください。
塾長の独断と偏見でいくつか名前を挙げて描いたのですが、それだけでも、この数です。

もちろん、この図でもまだまだ描き足りません。
「PHPの前にPerl がない」とか「歴史を語るなら Pascal も必須」とか「我が青春の BASIC が無いとは何事だ!」など文句を言われそうです。

要するに、それくらい多くのプログラミング言語があるということです。

それゆえ、選択に迷ってしまうのも無理はないでしょう。
いったい何を選ぶべきやら・・・。

オススメのプログラミング言語は?

そこで塾長は、こんなアドバイスをしています。

全くの初心者であれば、
① スクラッチ
② パイソン
の順に学ぼう!

具体的には、

  • 小学生なら、スクラッチ(Scratch)を学ぼう
  • 中学生なら、スクラッチ(Scratch)、パイソン(Python)の順に学ぼう
  • 高校生なら、パイソン(Python)を学ぼう
  • 迷ったら、パイソン(Python)を学ぼう(※)

・・・スクラッチとパイソンだけやないか!

と突っ込まれそうですが、はい、その通りです。

それには、ちゃんと理由があります。

※ ちなみに就職であれば、希望の職種に合ったプログラミング言語を学びましょう
例えば工業系であればC言語やC++、ゲーム業界であればC++やC#、Java、BluePrintなどです。

最初はニュートラルなプログラミング言語で学ぼう!

プログラミング言語をマスターした先人たちは、口をそろえてこう言います。

1つの言語をマスターすれば、他もだいたい一緒だよ👍

しかし初学者にとって、いきなり悟りの境地を語られても参考になりません。

いや、そういうことは聞いてないから😞

と言われそうです。
初学者がプログラミング言語を選択するときの注意点みたいなものはないのでしょうか?

塾長としては、次のことを注意していただきたいです。

初めて学ぶなら、次の5つの観点でプログラミング言語を選びましょう。

  1. 無料で環境を作れること
  2. すぐに動かせること
  3. ネットで検索すれば、すぐに事例や情報を得られること
  4. マルチパラダイム言語であること(※)
  5. 多くの分野で使われていること

細かい説明は省きますが、これらの条件を無難にクリアしているのがパイソン(Python)です。

そして、その1歩手前の段階で、直感的にすぐ学べるのがスクラッチ(Scratch)です。
ちなみにスクラッチでも上の1~3までを満たします。

これら5つの観点で選べば、次のようなプログラミング言語に出会えるでしょう。

  • 特定の産業分野に偏らない技術を学べる
  • 近代的なプログラミングを学べる

要するに技術的にも時代的にもニュートラルで無難と言うことです。

もちろん、無料で学びやすいことも大切です。

※ マルチパラダイム言語とは、色々なパラダイムでプログラミングができる言語という意味です。
※ パラダイムとは、プログラミングの手法やスタイルのことです。手続き型プログラミング、構造化プログラミング、オブジェクト指向プログラミング、関数型プログラミング、ベクトル型プログラミングなど、色々なパラダイムがあります。

ゼロから学ぶ人にありがちな悩みは?

ここから先は「あるあるネタ」みたいなお話です。
初心者がプログラミングを学ぶときに直面しがちな状況について、少しご紹介しましょう。

共感や同情、失笑など、各々楽しんでいただければと思います。

①お手本のプログラムを見て「だから何?」って思う

たいていのプログラミング言語の本は、次のような章構成になっています。

  1. 環境の構築(インストールなど)
  2. 画面に Hello World! という文字列を表示させる
  3. 変数の種類
  4. 条件分岐と繰り返し
  5. 関数
    ・・・

そして50ページほど進めたあたりで思うのです。

  • 画面に「Hello World!」って表示させたからって、だから何なの?
  • なんか想像してたのと違った。

勉強が先に進んでいる気がしません。
最初は簡単なプログラムから学びますので、大した処理はできません。
そのため最初のうちは

「こんな処理、何の意味があるの?」

と言いたくなるようなプログラムばかり書かされます。
いわゆる「修行」という期間です。

勉強に慣れている人は、修行を乗り越える術を持っているでしょう。
しかし、多くの人にとっては、

「それが将来、どんなことにつながるのか?」

を説明してくれる人が近くにいた方が、希望をもって学べるかもしれません。

②いつま経っても基本ばかり

コンピューターで色々なことができる!

と期待して勉強を始めたのに、いつまで経っても何もできません。

  • 数学のグラフを表示させるにはどうしたら良いの?
  • ゲームを作るにはどうしたらよいの?
  • 人工知能を作るにはどうしたら良いの?

そういうフラストレーションが溜まります。

部活に例えるなら、せっかくテニス部に入ったのに、ラケットを握らず、マラソンばかりやらされる・・・そんな感じでしょうか。

かといって、ページを飛ばして後半の応用へスキップしてしまえば、今度は分からない言葉だらけ。
最初から読み進めていかないと、用語の意味が分からないでしょう。

ちょっとしたプログラムをつくるにも、環境やら文法やら用語やらと、乗り越えるべき「修行」が多いのです。
いきなりC++言語やJavaなどに手を出してしまえば、さらにオブジェクト指向やモジュールの概念なども早い段階から学ぶ必要が出て来ます。

独学ならば、ここで半分の人は心が折れてしまい、挫折してしまうでしょう。

パイソンは修業が少ない!

そんな中で、パイソンは「修行」が少ない言語です。
ゼロとはいきませんが、学ぶにつれて、できることが加速的に広がり、努力が報われやすいでしょう。

また、ネットで検索したり、ChatGPTに問い合わせたりすれば、すぐに答えが見つかるでしょう。
何より、無料でできることの幅がとても広く多いです。

スクラッチでプログラミングの基礎を学んでいれば、さらに楽になります。
パイソンに移行しても、最初の修行の過程を加速し、短縮できるでしょう。

③マウントを取られる

どの世界もそうですが、自分の価値観を押し付けてくる人がいます。

例えば「スクラッチを学んでいる」と話せば、それは簡単すぎるだの、プログラミングとは言えないだの、上から目線で何か言ってくる人が出てきます。

例えば「パイソンを学んでいる」と言えば、最初はC言語をやるべきだとか、オブジェクト指向を知るべきだとか、パイソンは遅いだとか、言われるかもしれません。

マウントを取る人たちが、さも自信ありげに語ってくるので、聞いていると委縮してしまいますね。

でも安心してください。
結論から言えば、あまり気にしなくて良いです。

難しいことを理解している人がエライなんてことはありません。
パイソンで100秒かかる処理がC言語なら0.1秒で済む、ということが事実だとしても、学ぶ時間が1日でも延長してしまったら意味がありません。

「そういう見方もあるんだな。勉強になるな。」

くらいに受け取っておきましょう。

逆にパイソンを学んでいることでマウントを取る人もいます。

流行の生成系AIをはじめ、人工知能の多くでパイソンが使われているためでしょう。
パイソンをやっていると流行に乗っている気がするのかもしれません。

もちろん、あまり気にしなくて良いです。

④何でそうなるのか想像できない

プログラミングは理系のイメージが強いですが、まったく理系っぽくないと思います。
とくに中学生以上では、数学の文字式の考え方が身についていると、それがかえって足かせになります。

具体的に、よくある混乱をいくつか見てみましょう。

変数の値が勝手に変わる!?

例えば、数学の文字式(代数)の頭では、次のプログラムの意味が全く理解できないはずです。

x=2
x=x+1

1行目で「xは2だ」と言っておきながら、2行目でそれを満たさない方程式が書かれています。
そもそも2行目の方程式は成立していません。
だから、意味が分からなくて混乱するでしょう。

算数や数学の=と、プログラムの=では、意味が全く違います。
それが混乱の原因です。

本に書いてあることを、よーく読まないと、こういう所で落とし穴にはまります。
初学者とは、そういう段階です。

ご存知の通り、プログラムの=は「右辺の値を左辺の変数に代入する」という意味です。
これはつまり、「次の行でxの値が変わってしまう」ことを意味します。
そして、これが混乱の原因になります。

数学では、行目と2行目が同じ文字であれば、同じ値のはずだと見なします。
値が違うのであれば、違う文字を使うからです。

それに比べると、プログラムの変数は、とても奇妙に思えます。
同じ文字なのに、1行目と2行目で値が変わってしまうのですから。

塾長が初めてプログラミングに出会ったのは中1でしたが、当時、

「xに1を足す」という式が「x=x+1」になることが気持ち悪くて、納得するまでとても時間がかかりました。

わざわざ繰り返すのはナゼ?

また「繰り返し文」(反復)の使い方にも慣れが必要でしょう。

例えば数列の問題で、1から10までの整数の合計を変数xに代入することを考えます。
数学であれば、

x=1+2+3+4+5+6+7+8+9+10

ですね。高校生なら

x=$\sum_{k=1}^{10}k$

と書いても良いでしょう。
それがプログラムになると、

x = 0
for i in range(11):
    x = x+i

という表現になります。
これを日本語的に書くと、

xを0に初期化
0~10の整数を順番に変数 i に代入するたびに、
x+ i の計算結果を x に上書きで保存

という意味になります。

数学の式に比べると、なんだか面倒な手順ですよね。

計算を手順に翻訳するのに慣れが必要

このように「計算」を「手順」に翻訳する、という発想の置き換えが必要です。

つまり、プログラミングでは、これまで学校で習ってきた考え方とは異なる、独特の考え方に慣れる必要があります。
日常生活とも違う頭の使い方かもしれません。

こうした発想の置き換えには、少し訓練が必要です。
きっと偏差値の高い人でも、最初の最初は、慣れないかもしれません。

とくに独学の場合は、自分には才能がないと早とちりしてしまいます。
慣れる前に挫折してしまうかもしれません。

「これは誰でも最初はそうだよ。少し慣れが必要だよ。」

そんな助言をしてくれる人が近くにいれば、気持ちが楽になって続けられたかもしれません。

⑤(補足)関数型プログラミング言語

上で見たような課題、つまり、プログラミングの発想が数学と異なり、分かり難いという課題について、
これを解決するプログラミング言語も、あるにはあります。

数学的な発想のまま、変数や関数を使ってプログラミングができる言語です。

それは「関数型プログラミング」というパラダイムの言語です。
Haskell というプログラミング言語がその代表です。

しかし、人によっては、逆に難しい文法に見えるでしょう。
関数型プログラミングは「圏論」と呼ばれる数学が元になっているため、説明が何かと数学的で難しいです。
例えば「モナド」という代表的で必須の概念を理解するのでさえ、多くの人が挫折してしまうでしょう。

残念ながら、関数型プログラミング言語を初心者が分かりやすく学べる環境は、今のところ、ほとんどありません。
一部の才能あるプログラマや研究者たちが「簡単だよ」と言っているような状況です。
まだまだ初心者には手が出ません。

また関数型プログラミング言語は、産業界では極めてマイナーなプログラミング言語です。
関数型プログラミングができても、それで職を探すとなれば、かなり狭き門になるでしょう。

作るために学ぼう

プログラミングは体で覚えた方が早い、とよく言われます。

実際、多くの人は、本を読んだだけでは身につかないでしょう。

ちょっと書いてみて、すぐ動かして、すぐ確かめる

そういう環境を最初に作ることが、とても大切です。
そういう意味でも、スクラッチやパイソンは環境を作りやすいでしょう。

さらに、具体的に何かを作りながら学ぶと、もっと効果的です。

  • 神経衰弱やジャンケンのような簡単なゲームを作ってみる
  • 学校で習った数学や理科の公式をプログラムにしてみる
  • エクセルの情報からグラフを作って表示するような、簡単な統計処理をしてみる

など、何か具体的に作るものを決め、それを作るために学ぶ、というスタンスにしましょう。

英語の習得は、外国人の友達をつくって、その人と会話するために学ぶのが速いらしいです。
映画や海外ドラマが好きな人は、それをネイティブに視聴するのを目的にするようです。

それと同じように、プログラミング言語を学ぶときも、

「これを作りたい」
「コンピューターをこう動かしたい」

という具体的な目標を立て、実際、すぐに作り始めるとよいでしょう。

目的と手段を分けよう

最後に、プログラミングを学ぶ上で、意外と見落としがちなポイントを1つ。
それは

「今のプログラムは手段の1つ」

ということです。

一般に、1つの目的を実現するために、取れる手段は複数あるものです。
プログラミングの方法もまた、何通りか考えられます。

答えは1つではありません。
また、今の答えが最善とも限りません。

そこが、これまで学校で学んできた5教科と決定的に違うところです。

目的を達成できれば、方法は違っていても良い!

それがプログラミングを学ぶ醍醐味と言えましょう。

そのため1度は完成したプログラムでも、

「他にも方法があるかも?」

と思案したり、他の生徒の方法を参考に、新しいアイデアを追加して改善したりできます。
それがまさに、

答えのない問題にチャレンジし、最適解を出す。
最適解を改善し、よりよい解にする。

という活動です。

もしもプログラミングの勉強が、

✖ テキストや模範解答を写すだけ

のような学びであれば、それ悲しいことです。

そのような勉強であれば、
これまで通り、5教科の勉強を頑張った方が良いでしょう。

ちょっと動かし、間違え、それを修正して、また動かしてみる。

プログラミングでは、そのようなトライ&エラーを多く経験することが、そのまま学びになります。
間違えたらバツではなく、「できるだけ前段階で多くの間違えを間違えを経験しておく」という発想に切り替えるとよいでしょう。

もっとも、これは試験対策や入試対策でも同じことですね。

あとがき

技術の世界は世代交代が速いです。

子供たちが社会に出る7年後や10年後。
その頃に、どんな技術がトレンドになっているのか、予想がつきません。

プログラミング言語も同様です。
「このプログラミング言語なら将来安心だ」というものはありません。

応用的な知識ほど、時代の流行に左右されます。

ですから就職が近いほど、その時に必要な知識を身に着けるのが良いです。

逆に言えば、まだまだ就職が遠い若い内は、流行に左右されない基礎学力を学ぶ方が良いでしょう。

それに、基礎学力のある人は、応用的な知識を独学で身に着けてしまいます。
大学生や社会人には学習塾がないでしょう。
不要だからです(不要なレベルでないと困ります)。

学校では基礎学力を学ぶのが良いと思います。

そしてプログラミングも同様です。

何の仕事に就くか分からない内から、特定の産業技術を学んでも、仕方ありません。
ですから、できるだけニュートラルなプログラミング言語で学ぶことをオススメしています。

もちろん趣味であれば、特定の産業技術でも大いに結構。
もっとも趣味であればプログラミングを「勉強する」とは言わないでしょう。

 


進学実績

卒塾生(進路が確定するまで在籍していた生徒)が入学した学校の一覧です。
ちなみに合格実績だけであれば更に多岐・多数にわたります。生徒が入学しなかった学校名は公開しておりません。

国公立大学

名古屋大学、千葉大学、滋賀大学、愛知県立大学、鹿児島大学

私立大学

中央大学、南山大学、名城大学、中京大学、中部大学、愛知淑徳大学、椙山女学園大学、愛知大学、愛知学院大学、愛知東邦大学、愛知工業大学、同朋大学、帝京大学、藤田保健衛生大学、日本福祉大学

公立高校

菊里高校、名東高校、昭和高校、松陰高校、天白高校、愛知教育大学附属高校、名古屋西高校、熱田高校、緑高校、日進西高校、豊明高校、東郷高校、山田高校、鳴海高校、三好高校、惟信高校、日進高校、守山高校、愛知総合工科高校、愛知商業高校、名古屋商業高校、若宮商業高校、名古屋市工芸高校、桜台高校、名南工業高校、菰野高校(三重)

私立高校

愛知高校、中京大中京高校、愛工大名電高校、星城高校、東邦高校、桜花学園高校、東海学園高校、名経高蔵高校、栄徳高校、名古屋女子高校、中部第一高校、名古屋大谷高校、至学館高校、聖カピタニオ高校、享栄高校、菊華高校、黎明高校、愛知みずほ高校、豊田大谷高校、杜若高校、大同高校、愛産大工業高校、愛知工業高校、名古屋工業高校、黎明高校、岡崎城西高校、大垣日大高校

(番外編)学年1位または成績優秀者を輩出した高校

天白高校、日進西高校、愛工大名電高校、名古屋大谷高校

※ 成績優秀者・・・成績が学年トップクラスで、なおかつ卒業生代表などに選ばれた生徒

 


名古屋市天白区の植田で塾を探すなら個別指導のヒーローズ!!

★ 直接のお問い合わせ ★
――――――――――――――――――――――
個別指導ヒーローズ 植田一本松校
〒468-0009
名古屋市天白区元植田1-202 金光ビル2F
TEL:052-893-9759
教室の様子(360度カメラ) http://urx.blue/HCgL

塾長が考える理想のプログラミング教室

塾長です。

うちの教室でやっているプログラミング教室「マイクラミング」。
私が開発したオリジナルのコンテンツですけれども、今や全国で使われています。

最初の開発から5年以上たちました。
でも、まだまだ、これからです。

ただ、忘れないうちに開発した理由を残しておこうと思います。

なぜ、マイクラミングが他のプログラミング教室とまったく違うのか。
そこを分かっていただけたら嬉しいです。

プログラミング教室「マイクラミング」の誕生秘話!

動画の内容

00:00:00 あいさつ
00:02:16 マイクラミング誕生秘話 序章
00:02:43 1.プログラミング教室を探したけれど・・・
00:05:18 2.どうしても譲れなかったこと
00:06:02 3.公正な教育
00:08:36 4.学校で習ったことを使う
00:10:48 5.キラーアプリ
00:13:23 6.簡単にし過ぎたらダメ
00:15:27 7.学校の勉強とつなげる
00:18:21 8.マインクラフトの使い方が違う
00:19:46 9.本物の基礎力とは!?
00:21:36 10.まとめ
00:22:28 エンドロール

 


進学実績

卒塾生(進路が確定するまで在籍していた生徒)が入学した学校の一覧です。
ちなみに合格実績だけであれば更に多岐・多数にわたります。生徒が入学しなかった学校名は公開しておりません。

国公立大学

名古屋大学、千葉大学、滋賀大学、愛知県立大学、鹿児島大学

私立大学

中央大学、南山大学、名城大学、中京大学、中部大学、愛知淑徳大学、椙山女学園大学、愛知大学、愛知学院大学、愛知東邦大学、同朋大学、帝京大学、藤田保健衛生大学、日本福祉大学

公立高校

菊里高校、名東高校、昭和高校、松陰高校、天白高校、名古屋西高校、熱田高校、緑高校、日進西高校、豊明高校、東郷高校、山田高校、鳴海高校、三好高校、惟信高校、日進高校、守山高校、愛知総合工科高校、愛知商業高校、名古屋商業高校、若宮商業高校、名古屋市工芸高校、桜台高校、名南工業高校、菰野高校(三重)

私立高校

愛知高校、中京大中京高校、愛工大名電高校、星城高校、東邦高校、桜花学園高校、東海学園高校、名経高蔵高校、栄徳高校、名古屋女子高校、中部第一高校、名古屋大谷高校、至学館高校、聖カピタニオ高校、享栄高校、菊華高校、黎明高校、愛知みずほ高校、豊田大谷高校、杜若高校、大同高校、愛産大工業高校、愛知工業高校、名古屋工業高校、黎明高校、岡崎城西高校、大垣日大高校

(番外編)学年1位または成績優秀者を輩出した高校

天白高校、日進西高校、愛工大名電高校、名古屋大谷高校

※ 成績優秀者・・・成績が学年トップクラスで、なおかつ卒業生代表などに選ばれた生徒

 


名古屋市天白区の植田で塾を探すなら個別指導のヒーローズ!!

★ 直接のお問い合わせ ★
――――――――――――――――――――――
個別指導ヒーローズ 植田一本松校
〒468-0009
名古屋市天白区元植田1-202 金光ビル2F
TEL:052-893-9759
教室の様子(360度カメラ) http://urx.blue/HCgL

「三角関数は本当に必要なのか?」問題とは!?

塾長です。

いやー、めっちゃ盛り上がってますね。

三角関数不要論の出どころは?

国会の中に「財政金融委員会」というのがあります。衆議院の常任委員会です。
予算委員会と同じように税制やお金の使い方について議論する場ですから、議論のネタは何でもアリです。

その会議で5月17日、藤巻健太議員(日本維新の会)が発言した内容が発端です。
中でも、ご本人のツイートがきっかけで盛り上がっているようです。

藤巻健太議員のツイート

三角関数は本当に必要なのか?
そんなことより、金融経済を教えるべきではないのか?

ソースはご本人のツイッターです。

三角関数よりも金融経済を学ぶべきではないか
藤巻健太議員のツイート(@Kenta_Fujimaki)

藤巻議員は大学受験で数学を使い、大学へ進学してからは経済を学ばれたとのこと。
それでも、大学受験を最後に三角関数は1回も使わなかったそうです。
そういうご経験から、

学校では三角関数を教えるよりも金融教育をすべき

との主張に至ったそうです。

世間の反応

リプライツイートやネットニュース、YouTubeなどで様々な反応があったようです。
賛否両論から感想文まで・・・

その中から主なものを紹介します。

ユーチューバーの反応例

人気ユーチューバー「はなおでんがん」さんの反応

理系を敵に回した衆議院議員へ。

さすが、積分サークルは言うことが違いますね!

放送局の反応例

YouTube上の報道番組「アベプラ」の反応

【三角関数】日常生活で使わない=学ぶ価値なし?人間の根源的な欲求を満たす?数学必修の意味

すぐ動画ネタにされています。
みなさん、仕事が速いですね。

何度も盛り上がる不要論

昔からこの手の話は少なからずありましたが「負け犬の愚痴だよね」と一蹴されてきました。
根強い「学歴信仰」のせいでしょう。

ところが最近は様子が変わってきました。
変化のきっかけはコロナ渦と働き方改革。そう考えて良いでしょう。

学校でもオンラインでも、どちらでも学べることが分かりました。
部活動の代わりに学外の民間クラブも活用できるようになりました。

同時に、コンピューターの活用が当たり前になりました。
YouTubeやアプリなどを使って、効率よく勉強できるようになりました。

「わざわざ学校に行く必要はないのでは?」
「自分の好きなものを好きな順番で学べばよいのでは?」

かつての愚痴は決して空想などではなくなり、三者三様に理想を語るようになりました。
かくして「教育の合理化」を議論する風潮が高まっているのだろうと思います。

何より、日本は30年間ずっと経済成長が止まっています。
この事実もまた、既存の仕組みをオワコン化したり老害化したりする理由なのでしょう。

探しやすいところで例を挙げると、こんな感じです。

教育経済学

学校についての例

教科ごとの例

受験についての例

このように、勃発している議論を上げればきりがありません。
三者三様の立場で、意見も十人十色。

もちろん、それぞれに正しいのだろうと思います。

ここは塾長のブログなので、最後に私の意見を2つほど書きたいと思います。

教育問題の本質から目を逸らしてはいけない

1つ目に言いたいことは、問題の本質を見失ってはいけない、ということです。

この種の議論は、きっと半分は炎上目的なのでしょう。
アクセス数を稼ぐために、話題の切り取り方が極端で、切り口がキレッキレになる傾向です。
少し用心しましょう。

さらに、次のような観点で、少し冷静になる必要があります。

時代遅れの二元論

AがダメならBだ!

このような議論のやり方を二元論と呼びますよね。
答えが1つに決まるような問題を考えるには便利ですが、SDGsの時代には役に立ちません。
10人いたら10通りの答えがあり、しかも、それらをできるだけ同時に満たさなければいけない・・・今はそういう時代です。

リツイートを見れば、いろいろな意見が出ています。
どれが正しいとは言い切れませんし、間違っているとも言い切れません。
それぞれに正しいのでしょう。

必ずイタチごっこの議論になる

ここで、もしも教科書から三角関数を外して、代わりに金融教育を入れたらどうなるでしょうか?

私は、また同じ問題が必ず起きると想像しています。

つまり、誰かがまた、

金融なんて学ぶ必要がありますか?
そんなことより、〇〇を学ぶべきです。

と言い出すことでしょう。

なぜなら、金融を学んでも、ほとんどの人にとって役に立たないからです。
知らなくても困らないからです。

確かに、金融経済の活用は、これから更に身近になるし重要になると思います。
個人で関わる機会がどんどん増えると思います。
もちろん、これには賛成です。

しかし「大多数の人」にとって見れば、やっぱり金融の知識は不要です。

なぜなら、分かりやすくて優しいサービスが登場するからです。
難しいことを知らなくても、便利に使えるアプリや、親切な代行サービスが登場するからです。
知らなくても金融サービスを受けられるのです。

三角関数の恩恵を多くの人が受けているにも関わらず、それを知らなくても生活できます。

それと全く同じ話になるからです。

ですから、何かにつけ「必要か?、不要か?」などと議論するのは、そろそろ体力の消耗でしかないなと思っています。

問題の本質は教育の不自由!

100人いたら100通りの解があり、できるだけ100通りの全てを満たすべき。

今はそういう時代です。
教育も例外ではありません。

5教科だけで生徒を評価しないこと。
みんなでオール5を目指すのは、多くの生徒にとって時間の浪費です。
また5教科だろうと9教科だろうと、それだけでは評価の視野が狭すぎます。

例えば、5段階評価(5点満点)で12とか100とかをゲットしても良い時代でしょう。
こういう柔軟な発想が問われているのです。

もちろん、どの分野もそこそこできる、というオールマイティも、それはそれで特別に評価されて良いです。

はたまた、教科の数を100教科とか5000教科とかに増やしてしまい、高い次元で評価するのもアリでしょう。

このように、教育のメタ情報科を過去から未来にわたって「いつでも再定義できる」というシステムの中で、
子供たちは何をどのような順番で学んでも良い!
という自由で人間的なシステムが理想であるはずです。

苦手なもので消耗するより、得意なものや好きなものから延ばせばよいです。

このような学びが「できない理由」を1つ1つ取り除いていくこと。
今後はそういう取り組みが必要でしょう。

これまでは不可能でした。

なぜなら、人間の手作業で、紙で、ハンコで、生徒の履修や成績を管理してきたからです。
人間の小さな脳みそと少ない体力では、理想が実現できなかったからです。

今はコンピューターが安くて当たり前ですから、本当は色々とできるようになっているはずです。
逆にコンピューターにできることを、現代でも相変わらず人間にやらせるから、ブラックになるのです。

もっと自由に学べる環境を、どんどん用意できるはず。

理想が分かり切っているのに、それに向けて現状を変えようとしない。
こうした大人側の怠慢や不勉強さの犠牲になるのは、いつも子供たち。

これが問題の本質です。

教育をもっと自由にしましょう。

補足

ちなみに「自由」は「自分勝手」や「無秩序」の意味ではありません。
この種の議論は、ペリーが黒船で日本にやってきた時代に、もう済んでいます。

何の役に立つかを人に聞いたら負け

2つ目に言いたいことは、

「美味しい話は、誰も教えてくれない。」

ということです。

GAFAが世界を牛耳ってしばらく経ちました。
彼らは人工知能や量子コンピューターで世界をリードしています。
さらに政治やエネルギー網にまで手を伸ばし始めています。

ロシア政府にアメリカの1企業の社長がケンカを吹っかけています。

彼らはどうして世界を支配できたのでしょうか?

答えは明白です。

みんなが

「こんな勉強、いったい何の役に立つんだい?」

と言うような知識や技術を、ひたすら集めたからですよ。

日本の企業はどうでしょうか?

大卒生を欲しがりますが、大学で学んだことを仕事に活用して来ませんでした。
学歴の無駄遣いです。

部下が大学で何を専攻し、どんな卒論や修論を書いたか?

日本のサラリーマンで、これを言える上司は全体の何割くらいでしょうか?

おそらく、ほとんどいないでしょう。
政治家だって「ITや経済に弱い」などと言われています。

だけど学歴や偏差値は気にする。
学歴や偏差値の無駄遣いです。

アメリカの企業は違います。少なくとも急成長を果たしてきた企業は。
大学の研究を企業が積極的に使うのです。
中国もです。インドもです。他の成長している国もです。

また、各分野の専門家を数万人規模で集めて、最先端の情報分析を国家を上げてやらせています。
日本にはそういう行政組織すらありません。

日本が勝てるわけがありません。

勉強を役立たせている人は「役に立ってるよ」なんて教えてはくれないのです。

なぜかって?

そんなの教えたら損だからです。
特許を取ったり、秘密にしたり、誰にも真似されない形にしたりするでしょう。

GAFAが成長している間、

「勉強の何が何の役に立つのか?」

なんてことをGAFAから教えてもらいましたっけ?
教えてもらったとして、同じように行動しましたっけ?

アカウントがバンされたり、検索で上位へ持ち上げられたりしますよね。
あれを判断している人工知能。
高校でやったベクトルを100次元とか200次元に拡張して計算処理をしています。

個人レベルでも違います。
世界で最も売れているゲーム「マインクラフト」は1人のプログラマーが作りました。

あれ、三角関数のお化けみたいなアプリです。

みんな大好き「三角関数」です。

基礎的な勉強ほど、新しいものを生み出す力を秘めています。
しかし普通は気が付きません。

だから、

「何の役に立つのですか?」

などと聞いているようでは負けです。
日本は30年間ずっと負け続けています。

リベンジに向けて

GAFAのような強者に支配されたくない・・・このようなアンチテーゼが Web3.0 構想の始まりです。

今や一部の人や企業だけが、中央集権的に情報や富を支配している世界です。

しかしそうではなく、みんなで少しずつ担保し、分かち合おうではないか!

ブロックチェーンという技術が登場して、このような理想が現実的になりつつあります。

とはいえ、まだ混とんとしています。
似たようなものが乱立しては消えていっています。

それでもWeb3.0の大枠は何となく見えてきています。

そういう意味では、リベンジに向けた流れが少し出て来ました。

勉強が何の役に立つのか?

あなたは、まだ聞いちゃいますか?

プログラミング教室で教えていること

先の「三角関数は本当に必要なのか?」問題がネット上でにぎわっていた時、
私はプログラミング教室の新しいテキストを作っていました。

プロコースのテキストです。

「マインクラフトを作れるようになろう!」

という単元です。

マイクラで作ろう、ではないですよ。
マイクラ「を」作ろう、です。

その一部がこれです。

あちゃー、やらかしてしまいました。

マイクラミングのプロコースのテキストの例1

マイクラミングのプロコースのテキストの例2

子供たちに三角関数を使わせてしまって、どうもスミマセン!
よりによって、sin(サイン)もcos(コサイン)も、両方とも使っちゃっています。

小学生も中学生も高校生も参加している授業だから、影響が大きいです。
どうしましょう。

うっかり三角関数の便利さを伝えるテキストを書いてしまいました。
どうしてもプログラミングには三角関数が必要だと思い込んでいます。
パイソン(Python)だから軽い気持ちで使っちゃったのです。

小学5年生でも三角関数を使える生徒がいるものですから、ちょっと調子に乗っていました。

たいへん、申し訳ありませんでした(笑)

教育を自由に!

冗談はこれくらいにして、

もしも教育が自由であれば、好きなものや得意なものをシェアする投稿が増えるでしょう。

この時、それを自慢話だとか、自分への圧力だとか、いちいちマイナスに捉えないことです。
人は人です。

良いものには素直に「良いね!」「スゴイね!」と言えばよいじゃないですか。

自分と人は違います。
それでOKです。

比較する必要はありません。
他人を妬んでも、自分が不幸になるだけです。

たいていの人は自分のことで精いっぱい。
別に私に向けた発信ではないし、ましてや他意など無いでしょう。

客観的な指標や数字を通じて自分の現状を知ることは大切ですが、それを他人との比較として解釈する必要はありません。
他人と自分を比較したら、どんどん心が不自由になります。

比較しないことが、学びや教育を自由にする第一歩だと思います。

 


進学実績

卒塾生(進路が確定するまで在籍していた生徒)が入学した学校の一覧です。
ちなみに合格実績だけであれば更に多岐・多数にわたります。生徒が入学しなかった学校名は公開しておりません。

国公立大学

名古屋大学、千葉大学、滋賀大学、愛知県立大学、鹿児島大学

私立大学

中央大学、南山大学、名城大学、中京大学、中部大学、愛知淑徳大学、椙山女学園大学、愛知大学、愛知学院大学、愛知東邦大学、同朋大学、帝京大学、藤田保健衛生大学、日本福祉大学

公立高校

菊里高校、名東高校、昭和高校、松陰高校、天白高校、名古屋西高校、熱田高校、緑高校、日進西高校、豊明高校、東郷高校、山田高校、鳴海高校、三好高校、惟信高校、日進高校、守山高校、愛知総合工科高校、愛知商業高校、名古屋商業高校、若宮商業高校、名古屋市工芸高校、桜台高校、名南工業高校、菰野高校(三重)

私立高校

愛知高校、中京大中京高校、愛工大名電高校、星城高校、東邦高校、桜花学園高校、東海学園高校、名経高蔵高校、栄徳高校、名古屋女子高校、中部第一高校、名古屋大谷高校、至学館高校、聖カピタニオ高校、享栄高校、菊華高校、黎明高校、愛知みずほ高校、豊田大谷高校、杜若高校、大同高校、愛産大工業高校、愛知工業高校、名古屋工業高校、黎明高校、岡崎城西高校、大垣日大高校

(番外編)学年1位または成績優秀者を輩出した高校

天白高校、日進西高校、愛工大名電高校、名古屋大谷高校

※ 成績優秀者・・・成績が学年トップクラスで、なおかつ卒業生代表などに選ばれた生徒

 


生徒・保護者様のお友達登録はこちら

LINE登録するとプレゼントがもらえます!
【会員限定】お子様の成績と可能性を伸ばす18個のノウハウ

友だち追加


塾関係者様のお友達登録はこちら

LINE登録するとプレゼントがもらえます!
「zoomで簡単。オンライン授業移行の教科書」
または個別対談も可

友だち追加

 


名古屋市天白区の植田で塾を探すなら個別指導のヒーローズ!!

★ 直接のお問い合わせ ★
――――――――――――――――――――――
個別指導ヒーローズ 植田一本松校
〒468-0009
名古屋市天白区元植田1-202 金光ビル2F
TEL:052-893-9759
教室の様子(360度カメラ) http://urx.blue/HCgL

高校生プログラミング「情報1」の教科書を徹底比較

情報1の教科書を並べた写真

塾長です。

今年の高校1年生から教科書と指導要領が新しくなりました。
その目玉の1つが「情報1」です。

情報1とは

端的に言うと、こんな教科です。

  • 必須科目です。
  • プログラミングを含んでいます。
  • 大学入学共通テストの受験科目です。
  • 情報処理について学びます。
  • 問題解決やプレゼンの手法も学びます。

実はこの教科書、ビジネスマンからも「欲しい」と話題なんです・・・

2022年11月9日に試作問題が発表されています。
出題傾向について知りたい方は、それをご覧いただくか、以下のブログYouTubeをご参照くださいませ。

【大学入試】情報1の試作問題2022を超解説

社会人も欲しがる教科書だった

もしも内容がコンピューターの仕組みや情報処理だけだったら、ビジネスマンの間でここまでパズらなかったでしょう。

この情報1の教科書は、めっちゃ実用的なんです。
読んでためになるだけでなく、仕事のスキル向上も期待できそうです。

大企業の新人研修みたいな内容

と言えば、分かりやすいでしょうか。
例えば「〇〇が問題だ」と言うときの「問題」の定義もしっかり載ってます。

「問題」=「理想と現実のギャップ」

この定義がいかに重大か。

「うん、めっちゃ大事だよねぇ。」

などと実感したフリをして、意識の高さをアピールするのがビジネスマンのたしなみというものです。
それが、学校の授業でも重視される時代になりましたよ。

さらに「ブレーンストーミング」や「KJ法」、「ペルソナ分析」やプレゼンテーション手法など、およそビジネスマンが体得したいものが載っています。これ読んだら意識の高い会話が得意になりそうです。

それだけ実用的な内容で、まさに「今日から使える」的な内容に仕上がっています。

もちろんプログラミングについても一通り載っています。

事前調査

情報1の教科書の比較について、興味深いサイトがあったので、事前に読んでみました。
こちらの2つのサイトがおすすめです。

  1. 「情報Ⅰ」の教科書とプログラミング言語に関するアンケート結果Monaca Education 2021/10/7)
  2. 情報Iの教科書におけるプログラミング分野の比較と分析河合塾 わくわく★キャッチ! 愛知県立小牧高校 井手広康先生)

上の1から、実教出版や東京都書の教科書に人気がありそうだと分かりました。

また2から、実践的でレベルの高い教科書は実教出版と日本文教出版だと分かりました。
数研出版は1冊の中で多くのプログラミング言語を紹介していることから、個人的に興味が湧きました。

実物を買って読んでみたくなりました。

本屋さんへGO!

新しくできた教科書であるため、3月までは入手が困難でした。高校への配布が優先ですからね。
4月になって購入しやすくなり、本屋さんでも在庫がそろってきました。
そこで、さっそく買いに行って来ました。

名古屋で教科書を買おうと思ったら、正文館本店ですよね。

名古屋市東片端町の通りの写真

実物を見て買いたいときは、リアルな本屋さんに限ります。こんな本屋さんが家の近くにあったら幸せでしょうね。

事前調査で興味のあった実教出版、日本文教出版、東京書籍の教科書は在庫がありました。
しかし数研出版のはありませんでした。

比較してみた!

ということで、この4冊を買ってきました。
それらを読んだ塾長の感想をまとめると・・・こうです!

比較表(あくまでも塾長の主観)

出版社名
教科書名
教科書コード
実教出版
最新情報1
情Ⅰ705
実教出版
高校情報1 Python
情Ⅰ703
日本文教出版
情報1
情Ⅰ710
東京書籍
-新編-情報1
情Ⅰ701
主なプログラミング言語 VBA Python Python
JavaScript (*2)
Python
Scratch3.0
問題解決の概念
問題解決の手法
モデル化の概念
モデル化の手法 ×
シミュレーション技法 ×
アルゴリズムと
プログラミングの基本
プログラムの設計手法 × × ×
オブジェクト指向 × × ×
統計や検定の技法
文章の読みやすさ
図解の分かりやすさ
資料ページの充実
総合点 (*1) 20

教科書の王道

23

実践的で技術者志向

20

ジェネラリスト志向

17

教養を深める用語集

(*1) ◎:3点、〇:2点、△:1点、×:0点
(*2) JavaScript の説明は3ページ程度です

 

全体的によかったところ

どの教科書も共通してよかった点は次の通りです。

  • 目次が見やすく、タイトルの意味が明確
  • プログラミングの説明が丁寧
    どの教科書もフローチャートを併記し、なおかつ1行1行の意味も載せてありました。
  • 全ページがカラー印刷で、とても図表が豊富
  • メインで取り扱わないプログラミング言語についても少し言及
  • 教科書のページ番号を10進数と2進数で併記

 

教科書ごとの感想

今回は教科書ごとに、とても個性を感じました。同じ出版社でもタイトルが変わると雰囲気が変わりました。

実教出版「最新情報1」

言葉の定義や使い方がとても丁寧で、教科書の王道という感じでした。
網羅度が高く、難易度も適切です。

文章と図表のバランスが良く、とても読みやすく仕上がっていました。
実教出版さんは、情報処理資格の書籍を多く取り扱っているだけに流石です。手慣れている感じがしました。

プログラミングは少し物足りなさを感じました。

実教出版「情報1 Python」

タイトルに「Python」と冠しているだけのことはあります。4冊の中でもっともプログラミングを専門的に学べる内容でした。

ただし問題解決や情報デザインについては、網羅はしているものの記述があっさり。他の教科書よりも内容が薄く感じました。
その代わり、モデル化やデータ解析、シミュレーション、ソフトウェア設計については肉厚でした。
タイトルのコンセプトどおり、章構成に強弱がついています。

特に「オブジェクト指向」や「データの分布と検定」についてしっかり載せていたのは、この教科書だけでした。
4冊の中で最もプログラミングを実践的に学べる教科書です。

問題解決やプレゼンテーションの実践については、自分でググりながら進める必要があります。

日本文教出版「情報1」

問題解決の取り組み方やプレゼンテーションの方法について、かなり詳しく取り扱っています。

またプログラミングは浅すぎず深すぎず、全体的にバランスよく学べるようになっていました。

全てを把握したうえで最終的にコンピューターのことは専門家に任せる・・・そんなジェネラリスト志向の教科書です。

バランスの良さで実教出版の「最新情報1」と迷いますが、こちらの方が難易度が高めです。
実際に手を動かしてプログラミングを実践できます。
JavaScriptやHTML、CSSについても説明があります。

すこし図がごちゃごちゃしている印象です。
「官僚が作るパワーポイントみたい」と言えば、雰囲気が伝わるでしょうか。

東京書籍「新編 情報1」

読みやすさで言えば、ダントツでこの1冊です。

多くの概念や知識を驚くほどコンパクトに分かりやすく説明しています。
しかも、ほとんどの用語にルビ(ふりがな)をつけています。それでいて内容は薄くありません。
巻末には、Python、JavaScript、VBA、Swift、ドリトル、Scratch3.0 といった6種類ものプログラミング言語について説明しています。

ほんとうに、よくこれだけキレイにまとめたものです。
一家に一冊は欲しいです。

コンピューターや理系科目に苦手意識のある人は、まず、この1冊から始めたらよいかと思います。

ただし「モデル化とは,対象を単純化して表現したものである。」としてしまうなど、用語の説明が雑に感じる所がありました。

おわりに

一般の書籍に比べると、教科書の組版の品質はとてもレベルが高いなぁ、とあらためて実感しました

値段は一律で、どれも1冊¥1100円くらいでした(細かい数字は忘れました)。

ちなみに、店頭では教科書を現金でしか販売していませんでした。カードは使えませんでした。
おそらく出版社から買い取りで在庫を置くのでしょう。
在庫は課税されますから、カード決済で在庫処分が遅れるのはお店としてはリスクが大きいです。

教科書は誰でも購入できるはずですが、いざ買うとなると不便です。
取扱店が限られている上に、一般向けにお店を構えるところが少ないです。

日本は教科書の購入が少し面倒ですよね。
良いものが多いだけに、もっと気軽に購入できるようにして欲しいものです。

 


進学実績

卒塾生(進路が確定するまで在籍していた生徒)が入学した学校の一覧です。
ちなみに合格実績だけであれば更に多岐・多数にわたります。生徒が入学しなかった学校名は公開しておりません。

国公立大学

名古屋大学、千葉大学、滋賀大学、愛知県立大学、鹿児島大学

私立大学

中央大学、南山大学、名城大学、中京大学、中部大学、愛知淑徳大学、椙山女学園大学、愛知大学、愛知学院大学、愛知東邦大学、同朋大学、帝京大学、藤田保健衛生大学、日本福祉大学

公立高校

菊里高校、名東高校、昭和高校、松陰高校、天白高校、名古屋西高校、熱田高校、緑高校、日進西高校、豊明高校、東郷高校、山田高校、鳴海高校、三好高校、惟信高校、日進高校、守山高校、愛知総合工科高校、愛知商業高校、名古屋商業高校、若宮商業高校、名古屋市工芸高校、桜台高校、名南工業高校、菰野高校(三重)

私立高校

愛知高校、中京大中京高校、愛工大名電高校、星城高校、東邦高校、桜花学園高校、東海学園高校、名経高蔵高校、栄徳高校、名古屋女子高校、中部第一高校、名古屋大谷高校、至学館高校、聖カピタニオ高校、享栄高校、菊華高校、黎明高校、愛知みずほ高校、豊田大谷高校、杜若高校、大同高校、愛産大工業高校、愛知工業高校、名古屋工業高校、黎明高校、岡崎城西高校、大垣日大高校

(番外編)学年1位または成績優秀者を輩出した高校

天白高校、日進西高校、愛工大名電高校、名古屋大谷高校

※ 成績優秀者・・・成績が学年トップクラスで、なおかつ卒業生代表などに選ばれた生徒

 


生徒・保護者様のお友達登録はこちら

LINE登録するとプレゼントがもらえます!
【会員限定】お子様の成績と可能性を伸ばす18個のノウハウ

友だち追加


塾関係者様のお友達登録はこちら

LINE登録するとプレゼントがもらえます!
「zoomで簡単。オンライン授業移行の教科書」
または個別対談も可

友だち追加

 


名古屋市天白区の植田で塾を探すなら個別指導のヒーローズ!!

★ 直接のお問い合わせ ★
――――――――――――――――――――――
個別指導ヒーローズ 植田一本松校
〒468-0009
名古屋市天白区元植田1-202 金光ビル2F
TEL:052-893-9759
教室の様子(360度カメラ) http://urx.blue/HCgL

受験を終えたらプログラミングや3Dモデリングを学ぼう

コンピューターを使うイメージ

塾長です。

受験生のみなさん、受験勉強お疲れさまでした。

さて、卒業も受験も終え、きっと今は時間を持て余していることでしょう。
教室では早くも高校の予習を始めておりますが、プライベートではいかがでしょう?

新型コロナの蔓延防止や花粉症で外出を控えているのであれば、読書やコンピューターがおすすめですよ。
ネットをやるなら、情報リテラシーを意識しましょう。

そこで今回は、情報リテラシーとプログラミングの関係について、1つの例を書いてみましょう。

情報リテラシーと数学の関係

最近、ちょっと話題になった有名な話があります。
次のニュースを見たとき、あなたならワクチンの効果をどう評価しますか?

問1:効果なし?

ウィルスに新規感染した人の約6割がワクチンを2回接種していたことが判明。

この調査から、ワクチンの効果が無いと判断するのは正しいでしょうか?

ソース:「オミクロン株感染で入院の6割は2回接種済み 国立感染研の分析で判明」Science Portal(2022/02/01)など

もう1つの事例です。こちらは、ここ数日間で話題に上ってきました。

問2:逆も言える?

東大の鳥海教授がツイッターの投稿をクラスター分析したところ、次のことが判明。
ロシアのウクライナ侵攻を正当化する主張「ウクライナ政府はネオナチ政権だ」などを拡散している人たちの88%は、ワクチン接種に反対する投稿も拡散していた。

それでは逆に、ワクチン接種に反対する人の多くは、ロシアの主張を拡散している人だと言えるでしょうか?

ソース:「ツイッター上でウクライナ政府をネオナチ政権だと拡散しているのは誰か」YHAHOO!ニュース(2022/3/7)

このようなニュースは毎日のようにネット上に流れていますが、よく考えないと勘違いを起こしてしまいます。
もしかしたら印象操作に載せられてしまうリスクさえあります。

それでは答え合わせです。

答え

問1

ワクチンの効果はあったと言える。

この種のニュースの秘密は、ワクチンを「接種した人」と「接種していない人」の人数比にあります。
ワクチンの2回接種まで完了した人の割合は、日本の総人口の79%を上回っています。
対象者約1億2千700万人のうち、約1億人が2回接種済みで、残り2千700万人がそれ未満の接種です。
ソース:「チャートで見る日本の接種状況 コロナワクチン」日本経済新聞や首相官邸の発表など)。

例えば問1のニュースの例では、オミクロン株の新規感染者122人が対象でした(昨年の感染者はまだ少なかったです)。
うち77人が2回接種済みで、40人が未接種、他は3回接種や1回接種だったそうです。
これを母数も合わせてみれば、

接種済みの感染率 77÷1億=0.000077%
未接種での感染率 40÷2700万=0.0001481%

両者を割れば、未接種の人の方が1.9倍も感染していることになりました。
あくまでも当時での数字でしかありませんが、少なくとも当時はワクチン接種で感染リスクが半減していたと言えます。

問2

逆は言えない。ワクチン接種に反対していることとウクライナ戦争の話はもともと関係ない。

何より上のソース記事を最後までよく読めば、ちゃんと「ワクチン接種に反対する人のわずか4%」と書かれています。
これについては後で計算してみますが、何はともあれ、よく読むことが大切ですね。
もしも書かれていない場合は、別の情報ソースなども合わせて、ちゃんと母集団の数や相対度数などを確かめる必要があります。

ちなみに、この種の問題は小学6年生の3学期「なかまに分けて」で習います。
あるいは、高校1年生の数1「集合と論理」でも習います。

いわゆる「りんごが好きな人」「みかんが好きな人」「両方とも好きな人」の問題です。

「りんごが好きな人」は40人で、「みかんが好きな人」は80人でした。
このとき「りんごが好きな人」の約88%はみかんも好きでした。
さて「みかんが好きな人」はりんごも好きだと言えるでしょうか?

40人の88%=35人ですから「両方とも好きな人」が35人です。
つまり「みかんが好きな人」の80人のうち35人がリンゴも好きということになり、半数未満でした。
よって、「みかんが好きな人」はりんごも好きだとは言えません。

このような話しと同じですね。
そもそも、この分析は

「特定の主張が特定の集団によって、繰り返し意図的に拡散されているのではないかないか?」

という疑いをデータ分析の観点から明らかにしようという試みでした。

このソース記事の中では、

Dクラスタは「ウクライナ政府はネオナチである」というロシアの主張を拡散しているツイート群で,228ツイートが10,907アカウントによって30,342回拡散していました.(中略)クラスタDだけ2.8と大きいようです

という分析もされています。
つまり、特定の集団が「ウクライナ政府はネオナチである」という同様のツイートを1人当たり平均2.8回も繰り返し拡散していたことになります。
これは「意図的な拡散」であったと言えるでしょう。
とても興味深いですね。

ですが、こんな素敵な調査でも、その読み方や解釈を間違えてしまったら、自分も意図せず陰謀論を担いでいる側になってしまいます。

話がそれましたが、今回は「逆は成り立たない」が正解でした。

ワクチンを接種しない自由も認められています。
ワクチンを接種するか否かという選択の話と、陰謀論でワクチンを反対している人の話は、別の話です。
両者は分けてとらえるべきでしょう。

このように情報は気を付けて読む必要がありますね。

ところで、算数や数学に置き換えることができるということは、プログラミングでも話ができます。

数学ならばプログラミングにできる

数学の式で関係を表す

そこで問2の話題について、数学の集合で表してみましょう。

$N=${ロシアの主張を拡散する人の集合}(ロシアによるウクライナ侵攻を正当化する人)
$V=${ワクチン接種に反対する人の集合}

すると

$N \cap V=${ロシアの主張を拡散し、かつ、ワクチン接種に反対する人の集合}

$ V – (N \cap V) =${ワクチン接種に反対する人の中で、ロシアの主張を拡散する人の集合}

などと表せますから、$V$ と $N \cap V $ を比較すれば良いということになります。

ここから数学の慣例で、集合の要素の数を$n(集合)$と表すことにします。
あくまでも今回は思考の練習ですから、値は適当にデフォルメします。

いま、適当に $n(N)=10$とします。
本当の数は10,907アカウントですが、面倒なので全体的に $ \frac{1}{1000} $ 程度に規模を縮小しました。

すると $n( N \cap V )$ はその88%ですから、$n( N \cap V )=10 \times 0.88 \risingdotseq 9$ と設定すればよいでしょう。

さらに、その9人は $V$の4%ですから、$n(V) = n(N \cap V) \div 0.04 = 225$ と設定します。

これで練習用の数字がそろいました。

プログラミングで表現する

それでは、上記の関係をプログラミングで実験してみましょう。

なおプログラミング言語は Python(パイソン)を使います。
Python は無料で使えるプログラミング言語です。人気ランキングで上位にいることでも有名です。
使ってみたい方は、Pythonの公式ホームページからダウンロードしてインストールしてみてください。

さて、Python は集合の計算もプログラミングできます。

Python では $n(U)$ を $len(U)$ とし、$N \cap V$ を $N \& V$ と書きます。

それでは集合Nや集合Vを具体的に定義していきましょう。
本当なら集合の要素はツイッターのアカウント名なのですが、プログラミングの都合で、今回は簡易的に整数の番号を使うことにします。

V = set( [ i for i in range(255) ] )
len(V)
-> 225 (ワクチン反対)

N = set( [ i for i in range(216,226) ] )
len(N)
-> 10 (ロシアの主張を拡散)

len( V – (N & V) )
-> 216 (ワクチン反対だが、ロシアの主張を拡散していない)

len( N & V )
-> 9 (ワクチン反対、かつ、ロシアの主張を拡散)

len( N – (N & V) )
-> 1 (ワクチンに反対していない、かつ、ロシアの主張を拡散)

それでは、それぞれの相対的な大小関係を視覚的に確認してみましょう。
それぞれの集合に含まれる要素を並べて比較します。

V – (V & N) ・・・(ワクチン反対だが、ロシアの主張を拡散していない)
-> {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215}

V & N ・・・(ワクチン反対、かつ、ロシアの主張を拡散)
-> {224, 216, 217, 218, 219, 220, 221, 222, 223}

N – (V & N) ・・・(ワクチンに反対していない、かつ、ロシアの主張を拡散)
-> {225}

はい、ワクチン反対派の多くはイデオロギーや政治的な思想などとは関係ないことが明らかですね。

算数ではVの帯グラフとNの帯グラフが重なったような図を描いて、この種の問題を解きます。
数1ではベン図を使います。
そしてPythonのプログラムでは上のようになります。

これらのどれを使って表現するにしても、必ず2つのグループの大きさ(人数)や、その重なり領域の大きさ、といった具体的な情報が必要です。
それらの1つでも分からなければ、情報を正確に網羅できないことが分かるでしょう。

このように数学やプログラミングに慣れていれば、情報の欠落に気が付きやすく、それだけダマされにくいと言えます。

補足:pythonの文法について

上のプログラムでは Python の「リスト内包表記」という文法を使って記述している部分があります。
例えば以下の行です。

V = set( [ i for i in range(255) ] )

特に、

[ i for i in range(255) ]

の部分がリスト内包表記です。
配列を表すカッコ “[ ]” の中に、繰り返し構文を1行のスタイル書いて、配列の要素を定義しています。
そして、この意味は、

「0から始まる255個の整数を並べて配列をつくりなさい」

となります。つまり1行全体としての意味は、

「0から始まる255個の整数を並べて配列をつくり、それを配列型から集合型へ変換してから、変数Vに入れなさい」

となります。
その結果として変数Vには整数0~254が並んだ集合{0,1,2,3,…253,254 }が入っていることになります。

リスト内包表記を使えば、配列の定義を簡潔に書くことができます。
ただし全てのプログラミング言語で使えるわけではありませんので、要注意です。

Python、Haskell、Scheme、Common Lisp、F#などでは使えます。
しかし古くからあるメジャーな言語、Java、JavaScript、C、C#、Objective C、BASIC、VB や、人気の Ruby や PHP などでは使えません。

論理国語の限界

今年の4月から高校も教科書改訂です。
この教科書改訂をもって10年の教育改革「高大接続教育改革」が一通り出そろうことになります。

なかでも国語は論理性が重視され、説明文や論説文の比重が非常に大きくなった一方、小説や物語文は縮小しました。一部では「文化軽視」と批判もされています。

国語の教育を通じて「論理的な思考力」を強化しようという改革の趣旨が色濃く反映されています。

一見すると正しいように思いますが、数式やプログラミング言語に比べると、やや首をかしげたくなる部分があります。

まず、実用性という意味で疑問です。
難しい文章は誰からも読まれないし、読みたくもない、というのが社会の実情です。

論理的に難解な文章を読み書きできる能力を身に着けました。
でも、その人のコミュニケーションは言葉が難しくて、誰も耳を傾けません。

それって、社会的に価値のある能力を身に着けたと言えるのでしょうか?
大いに疑問です。

次に言語の機能という意味で疑問です。
そもそも日本語のような自然言語は、正確な論理の記述には向いていません。
それを無理やり論理的にやろうとすれば、色々なローカルルールが発生し、もはや国語ではなくなるでしょう。

例えば、第1段落の主張が文章全体の結論に含まれれないような文章があったとします。
このとき、第1段落の主張を「本文に即している」と見なすのか否か、という問題があります。
この判断について世間一般では特にルールは無いでしょう。
ある人は見なさないと言うし、また別の人は見なすと言うでしょう。

ところがテストでは「即していると見なす」を正答とするものが多いです。
これは選択問題で難解な出題をしようとするあまり「消去法でしか解けない問題」を作りがちになるからです。

つまり「否定要素が無ければ正解として残す」という「解法のテクニック」が正解の理由です。
もちろん、こうした判断の基準は受験国語だけに通用するローカルルールです。

これは論理であるかのように見せかけているだけで、国語力や論理力と関係ないでしょう。
特定のゲームにだけ通用する単なるボス攻略です。

世間でこんな主張をしたら、屁理屈と言われます。
時に屁理屈は社会的な混乱を招きますので、ローカルルールはむしろ弊害とさえ言えます。

このように実際の入試問題は、世間の常識から離れたローカルルールに支えられています。

ところで、論理的な思考の記述には、日本語よりももっと適した方法があります。

数式や論理記号、プログラミング言語などです。
こうした、より形式的な言語(フォーマルメソッド)を使うべきでしょう。

私の感覚では、高校受験の問題で、すでに論理国語の難易度は上限に達しています。
それ以上に難解な論理構造を記述したいのであれば、自然言語ではなく、もっと形式的な言語を使うべきです。

論理国語のやりすぎには要注意だと思います。
論理国語で学生を消耗させている間に、また日本が衰退してしまいます。

芸術も大切です

コンピューターを使った環境として、最近はVRやメタバースが注目されています。
もちろん、マインクラフトも。
これらはみんな

「3Dのバーチャル空間で時を過ごす」

という特徴があります。

ファイナルファンタジーやフォートナイト。
こうした人気のゲームも、みんなバーチャル空間の中で遊びますよね。

これからは多くの人が3D空間で過ごすのが当たり前になります。
すると、その中で表現する絵やマークなども3Dにする必要があります。

コンピューターで絵を描くことをCGと呼びますが、これからは3DのCGを普通に描ける必要が、きっと出てくるでしょう。

それでは、コンピューターで3Dの絵を描く方法。
皆さんはご存じですか?

きっと、ほとんどの人が想像もできないと思います。

残念ながら、まだ小学校の図画工作や中学校の美術では習わないからです。
指導要領には無いため、教えられる先生が学校にはほとんどいません。

しかし時代の方が先に進みます。
自分で少しずつ調べて、簡単なものを描けるようにしておくと良いでしょう。

そして、3DのCGを描くためのフリーソフトが存在します。

Blender

おすすめは Blender というソフトです。

公式ホームページ(https://www.blender.org/)からダウンロードすることができます。

無料ですが、高機能でプロも使っています。
このソフトでアニメ映画も作られています。

WindowsでもMacでもLinuxでも動きます。
しかも、Pythonで自動化もできます。

無料で使おうと思ったら、ほぼこれ一択でしょう。

もしも新学期が始まるまで、すこし暇を持て余しているなら、挑戦してみてはいかがでしょうか。

充実した新生活を!

何はともあれ、受験お疲れさまでした。

羽を伸ばして体を休め、新学期に向けて今は十分に養生してくださいませ。

新年度はきっとステキな生活になるでしょう。
そうなるように祈っております。

そうそう、言い忘れていました。

卒業おめでとう!

いつでも教室へ遊びにおいで。

 


進学実績

卒塾生(進路が確定するまで在籍していた生徒)が入学した学校の一覧です。
ちなみに合格実績だけであれば更に多岐・多数にわたります。生徒が入学しなかった学校名は公開しておりません。

国公立大学

名古屋大学、千葉大学、滋賀大学、愛知県立大学、鹿児島大学

私立大学

中央大学、南山大学、名城大学、中京大学、中部大学、愛知淑徳大学、椙山女学園大学、愛知大学、愛知学院大学、愛知東邦大学、同朋大学、帝京大学、藤田保健衛生大学、日本福祉大学

公立高校

菊里高校、名東高校、昭和高校、松陰高校、天白高校、名古屋西高校、熱田高校、緑高校、日進西高校、豊明高校、東郷高校、山田高校、鳴海高校、三好高校、惟信高校、日進高校、守山高校、愛知総合工科高校、愛知商業高校、名古屋商業高校、若宮商業高校、名古屋市工芸高校、桜台高校、名南工業高校

私立高校

中京大中京高校、愛工大名電高校、星城高校、東邦高校、桜花学園高校、東海学園高校、名経高蔵高校、栄徳高校、名古屋女子高校、中部第一高校、名古屋大谷高校、至学館高校、聖カピタニオ高校、享栄高校、菊華高校、黎明高校、愛知みずほ高校、豊田大谷高校、杜若高校、大同高校、愛産大工業高校、愛知工業高校、名古屋工業高校、黎明高校、岡崎城西高校、大垣日大高校

(番外編)学年1位または成績優秀者を輩出した高校

天白高校、日進西高校、愛工大名電高校、名古屋大谷高校

※ 成績優秀者・・・成績が学年トップクラスで、なおかつ卒業生代表などに選ばれた生徒

 


生徒・保護者様のお友達登録はこちら

LINE登録するとプレゼントがもらえます!
【会員限定】お子様の成績と可能性を伸ばす18個のノウハウ

友だち追加


塾関係者様のお友達登録はこちら

LINE登録するとプレゼントがもらえます!
「zoomで簡単。オンライン授業移行の教科書」
または個別対談も可

友だち追加

 


名古屋市天白区の植田で塾を探すなら個別指導のヒーローズ!!

★ 直接のお問い合わせ ★
――――――――――――――――――――――
個別指導ヒーローズ 植田一本松校
〒468-0009
名古屋市天白区元植田1-202 金光ビル2F
TEL:052-893-9759
教室の様子(360度カメラ) http://urx.blue/HCgL

ついに大学全入!偏差値よりもコンピュータースキル!

入試が中止になって全員合格

塾長です。

大学の定員割れが止まりません。
愛知県では公立高校の定員割れが続いていますが、大学は逆です。

私立大学から定員割れが起こり、地方の公立大学へ広がっていきます。
しかもその状況は、高校よりもずっと激しいです。

昨年とうとう私立大学の全体の定員に対して、入学者数が下回ってしまいました。
なんと私大の半数が定員割れです。

定員割れしている中には、あの有名な大学もあります・・・

ソースはこちら。

大学の定員割れが止まらない

私大ほぼ半数が定員割れ、経営難の恐れも…今春「充足率」初めて100%下回る
2021年09月28日 19時14分 読売新聞 @niftyニュース
https://news.nifty.com/topics/yomiuri/210928507383/

私立大学の今春の入学定員充足率が全体で初めて100%を下回ったことが28日、日本私立学校振興・共済事業団の調査でわかった。

100%を切ったのは、調査開始以降の23年間で初めて。

こんな記事もあります。

都内私大の3割以上が「定員割れ」の衝撃 早慶上理・MARCHの入試難易度は今後どうなる?
9/29(水) 17:40 Yahoo!ニュース
https://news.yahoo.co.jp/articles/f2ce983333b67acd998130591b082cfe4cca581c?page=1

大学入試は入試ではなくなる

私大が定員割れしてしまうと、いったい何が起こるのでしょうか?

学生が集まらなければ、大学は経営ができません。
学生を集めることが、まず第一の仕事です。

そう考えれば、これから起こることは自明です。

大学入試が簡単になります。いや、もうなってます。

そもそも入学試験が機能しません。
選別できるほど、受験者が集まらないのですから。

「ぜひ、うちの大学へ来てください」

むしろ学生の取り合いです。

学生は自分に合う大学を求めます。
大学は環境の良さをアピールします。

入試は「試験」ではなく「お見合い」になります。

専門学校の人気が上昇し、さらに厳しい

日本では若い世代の所得が低迷しており、大学の学費は大きな負担です。

こういう時代は、堅実な考え方をする人が増えます。
つまり、ただ「学歴」を買うために大学へ進学する人は減ります。
代わりに国家資格が取れたり、専門技術が身につくような進学が好まれます。

そのため、専門学校や、資格系の学部のある大学や人気となります。

しかし少子化で学生の数には限りがあります。
専門学校と大学の間で学生の取り合いになるでしょう。

つまり大学の定員割れは、少子化だけが原因ではありません。
専門学校の人気も反映して、さらに加速していくだろうと思います。

偏差値を上げる労力を何に回すべきか?

もちろん、大学でやっていけるだけの基礎学力は必要です。

あたり前の話ですが、本来、学力と大学の定員とは関係のない話しです。

しかし日本の受験システムは、学力のレベルを競争原理で担保しようという考え方で長らくやってきました。
そのため「競争倍率が高い」と「学力が高い」を同一にしてしまう短絡思考が蔓延しています。
大雑把には成り立つ考え方ですが、これが少子化で通用しなくなりました。

何はともあれ、競争が無くなったことにより、受験で不要になる能力とは、

偏差値競争で勝つためのクイズ王的な能力

です。
これが受験では不要になっていきます。

つまり、

  • 大学らしい研究ができる基礎学力 → 相変わらず必要
  • 入試で定員に入るための即答力 → もう不要

こんな感じです。

例えば、得意科目で偏差値60くらいが基礎学力だとしましょう。

「基礎」のレベルが高すぎますか?
しかし、大学は自分の好きな科目、得意な分野を志望する人が多いでしょうから、そう考えれば偏差値60くらいでも普通なんじゃないかと思います。
しかしのしかし、だからと言って、これは全く悲観することにはなりません。

半数の大学が定員割れならば「総合で」最終的に偏差値50もあれば過半数の大学へ合格できます。
ということは、得意科目が60あれば、得意でない科目は平均点未満でもぜんぜんOKということです。

どんぶり勘定かもしれませんが、話を簡単にするために、そんな想定としましょう。

そして大切なことは、

得意科目の偏差値60を、無理くり70まで上げる必要は、もうないということです。
逆に、不得意科目を、無理くり克服する必要は、もうないということです。

それでは、

  • 偏差値60を70にする分の労力
  • 苦手科目で消耗していた分の労力

これらは、どこに傾けたらよいでしょう?

そういう話になります。

コンピューターの使い方を学ぼう!

偏差値70の人が、クイズに答えて「スゲー」とか言われています。

塾長は思います。

そんなの、ググればすぐに答えが分かる話じゃん・・・

3桁の掛け算を暗算でやってのける人が「スゲー」とか言われています。

塾長は思います。

そんなの、電卓で良いじゃん・・・

どちらもスマホ1台で解決できます。

しかも社会に出てから、クイズや計算問題みたいな出題なんてありません。
0.1秒でも知識を早く答えられるような問題解決なんて、最初から発生しません。
計算結果を1問ずつ聞かれるようなことはなく、1000回とか10万回とかの計算について結果が問われるのが普通です。

つまりコンピューターを使えば、偏差値70の人にも簡単に勝てるでしょう。

偏差値を60から70にしている暇があったら、
さっさとコンピューターを学べ!

そういう価値観に頭を変えておかないと、10年後に泣きを見ることになります。

人工知能に職を奪われる!

極端に言えば、まぁ、そういう話です。

人工知能を「使う側の人間」に、早くなっておきましょう。

遅い・ミス・苦手はコンピューターで克服せよ!

漢字が苦手でも、パソコンで打てればOKです。
世の中の多くの大人たちが、漢字が苦手でも仕事に困ることは、ほとんどありません。

英単語のスペルミスが多くても、パソコンが自動的に指摘してくれます。
計算ミスが多くても、パソコンにやらせれば間違えません。

正確に、大量に、暗記する・・・
正確に、速く、処理する・・・

学校で、テストで、入試で、あれほど要求されてきたスキルです。

しかし、多くの人が苦手なはずです。
家族の電話番号ですら、みんな覚えていません。

人間は機械じゃないですから。
それを機械のように正確に速くできるようにする訓練。
それが偏差値競争。

しかし、機械が得意なことは、生身の人間では勝てません。
最初からコンピューターの方が得意です。

だったら、コンピューターを使いこなせた方が、手っ取り早く偏差値70の人に勝てます。

コンピューターの性能が低かった時代
コンピューターが高価だった時代
コンピューターが大きくて重かった時代

そういう時代に人に求められてきた能力です。
もう、無理やり身に着ける必要はないですよ。

安価なコンピューターでも偏差値70の生身の人間よりも、

速く、正確に、大量に、文句も言わず、休むこともなく、

暗記や計算をやってくれます。

コンピューターを使った方が早いです。

すでに偏差値70の人はどうすべきか?

意外かもしれませんが、偏差値80を目指すのもアリです。
得意なのですから、さらに伸ばせばよいのです。

むしろ好きで没頭していれば、勝手に偏差値が上がるかもしれません。

何の問題もないです。
人から何か言われる筋合いもないでしょう。

さらに言えば、

なんか知らないけれど、好きでやってたら結果が後から着いてきた・・・

こういう人は無双状態です。
誰も勝てません(そもそも勝負してませんが)。

話を戻しますが、

実はコンピューターが発達しても、

人に聞いた方が早い!

という場面がいくつもあります。
生き字引みたいな人が近くにいると、とても助かることが多いです。

ただし、生き字引の代わりになるような便利なアプリが必ずいつかは出て来ます。

偏差値の高い人をモデルにアプリを作る場合もあります。
あるいは自分の思考過程をアプリにしてしまう人もいます。

ということで、

その鍛えた頭で、コンピューターを学びましょう。
きっと爆速でマスターできます。
爆速でコンピューターを使いこなし、問題解決に取り組んでいきましょう。

あるいは

「コンピューターが苦手そうなこと」

これに努力を傾けてもよいでしょう。

まとめ

受験競争は緩くなっていきます。
人によっては、もうすでに無くなったと感じるでしょう。

そのため、受験のために苦手な科目をガマンして克服する必要がなくなってきました。
好きなことや得意なことを伸ばすことに、もっと集中できるようになります。

苦手なことで消耗していた労力を、これからはコンピューターを使うことに回した方が良いでしょう。
速く、正確に、たくさん・・・こういう種類の問題は、できるだけコンピューターに任せた方が人間らしい生活を送れます。

何はともあれ、本当にやりたかったことに、もっと時間と労力を傾けたら良いではありませんか。

やりたいように、やったらよろしいと思います。

 

以上

 


生徒・保護者様のお友達登録はこちら

LINE登録するとプレゼントがもらえます!
【会員限定】お子様の成績と可能性を伸ばす18個のノウハウ

友だち追加


塾関係者様のお友達登録はこちら

LINE登録するとプレゼントがもらえます!
「zoomで簡単。オンライン授業移行の教科書」
または個別対談も可

友だち追加

 


名古屋市天白区の植田で塾を探すなら個別指導のヒーローズ!!

★ 直接のお問い合わせ ★
――――――――――――――――――――――
個別指導ヒーローズ 植田一本松校
〒468-0009
名古屋市天白区元植田1-202 金光ビル2F
TEL:052-893-9759
教室の様子(360度カメラ) http://urx.blue/HCgL

【中3理科】遺伝の規則性をプログラミングで学ぼう

中3理科「遺伝の規則性」とプログラミング

塾長です。

テスト期間に突入しました。

みなさん、テスト対策は万全ですか?
学校からのプリントや宿題も増える頃ですよね?

そんな中、とある中3生。

「なかなか解けない!」

と悩んでいました。
「遺伝の規則性」・・・学校から出された理科の課題だそうです。

遺伝の組み合わせの全パターンを、もれなく書き出して数える・・・見るからに大変そう。

さて、皆さんは、こんな時どうしますか?

めんどうな事はコンピューターにやらせる!

ということで、本日のタイトルが答えです。

そう、コンピューターの出番です。
サックっとプログラミングした方が早いです。

プログラミングは多少の練習が必要です。
しかし慣れてしまうと、色々な作業が楽になります。

最初の1回目の作業は、規則性を理解するため、自分が成長するために必要です。
しかし、2回も3回も同じ苦労をするのが良いとは限りません。

2回目、3回目について、

全く同じ苦労をしますか?
何か工夫をして効率を上げますか?

こういうときの瞬間、瞬間の工夫の積み重ねで、人生が大きく変わっていくように思います。

その工夫のためには、プログラミングは必須アイテムと言えましょう。

それでは、コンピューターにやってもらいましょう。

遺伝の規則性についての例題

その前に、まず今回の問題について説明します。

中3理科の遺伝です。エンドウ豆の種子が「丸い」のか「しわ」なのか、という問題。
毎年の恒例です。

「丸い」種子をつける純系のエンドウ豆があります。
「しわ」の種子をつける純系のエンドウ豆があります。
それぞれから1株ずつ対応させて交配させると、子の世代の種子はどのような形状になるでしょう?
丸い種子のエンドウ豆の株と、しわの種子のエンドウ豆の株の数を、簡単な整数比で示せ。
また「丸い」形質の遺伝子をAとし、「しわ」の形質の遺伝子を「a」として、そうなる理由を説明せよ。

このように遺伝の問題は、組み合わせの全パターンで考えて解くのでした。

エンドウ豆の遺伝 交配

中3数学で習う多項式の分配法則 (A+A)(a+a) = Aa+Aa+Aa+Aa に似ています。

そして回答の例はこんな感じです。

純系の「丸い」種子をつける親の体細胞の遺伝子を(A, A)、「しわ」のそれを( a, a )とする。

子の世代は(A, A)と( a, a )の掛け合わせが(A, a )(A, a )(A, a )(A, a )となる。ここでAは「顕性の形質」で、a は「潜性の形質」だから(A, a )は「丸い」種子となる(※)。よって、子の世代の種子は、全て「丸い」形状になる。

孫の世代は、子の(A, a )と(A, a )の掛け合わせが(A, A)(A, a )(A, a )( a, a )となるから、「丸い」:「しわ」が3:1の比率であらわれる。

(※)教科書改訂により古い用語の「優性」「劣性」は廃止され、「顕性」「潜性」に統一されました。

詳細は教科書を見てくださいませ。

やっとれん

これが「ひ孫の世代」以降になると厄介です。組み合わせが指数関数的に増えてしまい、調べるのが煩雑になります。
例えば、こんな問題です。

純系の「丸い」種子の株と「しわ」の種子の株を掛け合わせて子の世代をつくる。
その子の世代どうしを掛け合わせて、孫の世代をつくる。
その上で、次の各問いに答えなさい。

(問1)孫の世代を互いに掛け合わせたとき、次の世代の「丸い」:「しわ」の比はどうなるか?
(問2)孫の世代の中から「丸い」種子の株だけを選んで、互いに掛け合わせたとき、次の世代の「丸い」:「しわ」の比はどうなるか?

こんな問題が出たら、やってられません。
他の問題をやる時間が無くなってしまいます。飛ばしてください。
出るのが明白なら、事前に答えを丸暗記して流しましょう(出ないと思いますが)。

コンピューターにやってもらいました

しかしコンピューターなら、あっという間です。
親の世代から、上の問1と問2にある「ひ孫の世代」まで、コンピューターに聞きました。

実行結果

エンドウ豆の遺伝についてパイソンのプログラムで組み合わせを計算させた結果

問1の方は、孫の世代も、ひ孫の世代も、「丸い」種子の株と「しわ」の種子の株の比率は同じでした。
ガチで数えると64通りの組み合わせですが、同じものをまとめていくと3:1になりました。
つまり何も操作をしなければ、エンドウ豆は「丸い」:「しわ」=3:1の出現比率に落ち着くと言えます。

問2の方は「丸い」種子だけを選択する操作をした場合です。当然ですが、次の世代で「しわ」の割合が減ります。
なんと8:1になりました。

何世代目で純系になる?

ちなみに、さらに「丸い」株だけを選択して次の世代「玄孫(やしゃご)」を生むと、15:1になります。
さらに「丸い」株だけを選択して次の世代・・・と繰り返していくと、いつかは「丸い」種子の株だけになるというワケです。

こうして純系の株が作られていくワケですね。すると

何世代の後に「丸い」の純系を得られるか?

が気にってきます。確率ですから「しわ」を完全に0にすることは難しいので、ここでは仮に「純系」の基準を

「しわ」の出る確率が1万分の1以下

としましょう。
そこで、この基準を満たすまで世代交代を繰り返す実験をやってみました。
もちろん、コンピューターの中で・・・。

エンドウ豆の遺伝シミュレーション 純系

ということで、第100世代目で「ほぼ純系」の子孫ができました。

狙ったワケではありませんが、ちょうど100でした。

シミュレーションですから、交配の全パターンを計算しています。
結果が出るのに4時間くらいかかりました。
メモリは20ギガくらい使いましたが、塾長のパソコンは16ギガしか積んでいなかったのでメモリ不足になり、途中から計算が遅くなりました。

確率漸化式をつくって計算すれば、もっと早く回数を求められるとは思いますが、それでは高校数学の話になってしまいます。
今回は、あくまでも「中3理科の遺伝の実験」としてプログラミングしました。

ただ今回は(A, a )と(a, A )を別のものとして処理しました。
これらを一緒と見なすプログラムを追加すれば、組み合わせの数を何割か減らせたので、もう少し高速にシミュレーションできたかもしれません。

何はともあれ、やってみた感想は・・・

そもそも、純系の株を作るのが、ものすごく大変だ!

ということでした。

シミュレーションではなく、これが本当にエンドウ豆を交配していくことを考えてみてください。
成長を待って、種を採取し、分類し、また植えて、花が咲く前におしべを切り・・・ということを延々と続けていくわけです。

1000株育てて100株に選定などとすれば、もっと早く純系を得られるとは思いますが、それでも大変でしょう。

実験は準備が9割と言われますが、むしろ99%くらいに感じます。

これが今日の結論と言っても良いでしょう。

作業が大変なのか、理科として難しいのか?

組み合わせのパターンを全て考える。
組み合わせの組み合わせを全て考える。
組み合わせの組み合わせの、そのまた組み合わせを全て考える。

どんどん煩雑になって、数え上げるのに苦労します
解けない理由が、理科として難しいからではありません。

「作業がたいへん!」

という意味で難しい。

リアル世界の実験では、乗り越えなければいけない困難でしょう。

しかし学校の勉強やテストとなれば話は別です。

例えば、制限時間の厳しいテストや入試が、このような作業量を手早くこなせるか否かで合否が決まるものであったら、ちょっと意味不明です。
教科を分ける意味がほとんどありません。

機械が無かった時代は「機械みたいな人間」が重宝されたかもしれませんが、今はスマホでさえ高速に処理できます。

大変と思う時こそ、コンピューターの使い方お教えるべきなんです。
時には根性論も大切ですが、それだけは良くありません。
もっと積極的にコンピューターを活用すべきだと思います。

あらゆる勉強にコンピューターを活用!

遺伝の組み合わせを計算させるプログラムをつくる過程で、遺伝の性質を深く理解できるでしょう。

手作業で組み合わせを書き出すのも無駄ではありませんが、それが大変過ぎる作業では、先に心が折れてしまいます。
それに作業の制約が勉強の制約になってしまうと、むしろ視野が狭くなります。

コンピューターの計算は、失敗してもやり直しが楽です。
何度もチャレンジできるし、視野も広がるでしょう。

また多様なメディアを扱えるというメリットもあります。
子供たち自身でコンテンツを作ることもできます。

数学や理科、技術だけで活用というのでは寂しいです。
美術、音楽、体育、社会、英語・・・あらゆる科目で使いこなすことができます。

今回は理科の勉強にコンピューターを活用する例を考えました。

コンピューターを活用するセンス

これを子供たちに身に着けてもらうことが大切です。

そのためには、あらゆる学びの場でコンピューターを活用しましょう。

たとえば今回のように、「ワーク」にあたる作業訓練的な学びの部分には、コンピューターを活用できるところが多くあるはずです。

速く、正確に、たくさん・・・

このような意味で能力を伸ばすような訓練系の学習時間は、今後、見直されていくべきでしょう。
今後は、コンピューターを活用した試行錯誤の時間に置き換わっていくべきだと思います。

このような視点に立つと、日本の教育は世界から遅れています。
創造性やイノベーション力が足りないと、今でも言われています。

少ない知識をトリッキーに組み合わせて「速く、正確に、たくさん」できるような訓練ばかりして、消耗しているからです。

そういう作業こそ、コンピューターにやらせるのです。
それが当たり前の時代です。

やらなければ、日本が沈没します。

パイソンでプログラミング

今回のプログラムは次の通りです。

パイソンのバージョンは3.9以降です。
最大公約数を求める関数 math.gcd() に3つ以上の引数を渡せるのが、そのバージョン以降だからです。

データ構造としては、タプル、配列、辞書を理解しておく必要があります。

パイソンはタプルを辞書のキーとして使えることを利用しています。
また、パイソンは配列やタプルに自然数をかけると、それらを複製できることも利用しています。
(A, A)×3 → [(A, A),(A, A),(A, A)]
これらの機能は他のプログラミング言語でも使えるとは限らないので要注意です。

なお、純系を何世代目で得られるかを求めるプログラムの部分は省略してあります。
興味のある人は考えてみてください。

エンドウ豆の遺伝 Pythonプログラム

現場からは以上です!

 


生徒・保護者様のお友達登録はこちら

LINE登録するとプレゼントがもらえます!
【会員限定】お子様の成績と可能性を伸ばす18個のノウハウ

友だち追加


塾関係者様のお友達登録はこちら

LINE登録するとプレゼントがもらえます!
「zoomで簡単。オンライン授業移行の教科書」
または個別対談も可

友だち追加

 


名古屋市天白区の植田で塾を探すなら個別指導のヒーローズ!!

★ 直接のお問い合わせ ★
――――――――――――――――――――――
個別指導ヒーローズ 植田一本松校
〒468-0009
名古屋市天白区元植田1-202 金光ビル2F
TEL:052-893-9759
教室の様子(360度カメラ) http://urx.blue/HCgL

2次関数の虚数解をパイソンのグラフで見える化してみた

塾長です。

今回は高校生からよく出る質問、というか疑問

虚数 $ i = \sqrt{-1} $ は実在しない数なのか?

について考えてみます。

2次方程式と2次関数のおさらい

解の公式

まず中学3年生が1学期で習う「2次方程式の解の公式」を思い出してみましょう。

2次方程式$ ax^2+bx+c=0 $の解の公式

$$ x = \frac{ -b \pm \sqrt{b^2-4ac} }{ 2a } $$

判別式

高校1年生になると、さらに「判別式」を習います。
1学期の後半または2学期の初めくらいです。

実数$x$について、2次方程式$ ax^2+bx+c=0 $の判別式をDとすると、

  • $D < 0$ のとき、解は0個(解なし)
  • $D = 0$ のとき、解は1個(重解)
  • $D > 0$ のとき、解は2個

続いて、2次関数$ y=ax^2+bx+c $のグラフと判別式Dとの関係について習います。

2次方程式$ ax^2+bx+c=0 $の解を、次の連立方程式の解とします。

$$ \begin{cases}
y=ax^2+bx+c \\
y=0
\end{cases} $$

$x-y$平面上で2式それぞれのグラフを描くと、その交点が解になっているのでした。
つまり、

2次方程式$ ax^2+bx+c=0 $の判別式をDとする。
$ y=ax^2+bx+c $と$x$軸との共有点は、

  • $D < 0$ のとき、0個
  • $D = 0$ のとき、1個(接する)
  • $D > 0$ のとき、2個(交わる)

この様子を直感的なグラフで表すと、次のようになります。

複素数

高校2年生では、虚数単位 $ i = \sqrt{-1} $ を導入して、$x$を実数から複素数へ拡張します。
すると方程式の解を必ず求めることができるようになります。

2次方程式$ ax^2+bx+c=0 $の判別式をDとすると、

  • $D < 0$ のとき、解は複素数で2個
  • $D = 0$ のとき、解は実数で1個(重解)
  • $D > 0$ のとき、解は実数で2個

であり、どの場合でも解は、

$$ x = \frac{ -b \pm \sqrt{b^2-4ac} }{ 2a } $$

と表すことができる。
特に$D < 0$ のときは$ i = \sqrt{-1} $ として、

$$ x = \frac{ -b \pm \sqrt{|D|} i }{ 2a } $$

である。

ざっと、ここまでが中3、高1、高2の二次方程式と二次関数のおさらいです。

複素数の世界では必ず共有点がある?

素朴な疑問

さて、ここで塾長は、ふと疑問に思いました・・・

せっかく複素数まで拡張して、判別式$D<0$の場合でも解が求まるようになったのに、対応するグラフの共有点が無いままって、寂しくない?

寂しいですよね!?

疑問です。というか、不満です。
なんとかして、このモヤモヤを解消する必要があります。

問題解決というヤツです。

仮説を立ててみる

そこで、

もしかしたら、グラフを複素数まで拡張すれば、共有点が2つに見えるのではないか?

という仮説を立ててみました。

本当にそうなるのでしょうか?

コンピューターの力を借りて、そのグラフを描くことにチャレンジすることにしました。

仮説を立てて確かめるってヤツです。

4次元のグラフは描けない!!

コンピューターは具体的な数値しか扱うことができません。
そこで今回は、つぎの関数を例に、グラフを描いてみることにします。

$$y=x^2-2x+2 $$

もちろん、これの判別式Dは負です。

$$D=(-2)^2 – 4 \times 1 \times 2 = 4-8 = -4 < 0$$

そして方程式$x^2-2x+2=0$の解は

$$x=1 \pm i$$

という虚数解です。

今回の目的

今回の目的を次のように設定します。

xを複素数としたときに、
$$ \begin{cases}
y=x^2-2x+2 \\
y=0
\end{cases} $$
の共有点が2つあることをグラフで示す!

実数と複素数で何がどう変わる?

高校1年生までは、$x$も$y$も実数ですから、これは、

実数$x$ を与えると、実数$y$ が1つに定まる関数のグラフ
つまり、
数直線上の1つの実数$x$を、また別の数直線上の1つの実数$y$へ移し変える関数のグラフ

ということになります。
つまり「2本の数直線」があれば、話ができます。
よって、

$x$ が実数ならば、
$y=x^2-2x+2 $ のグラフは、x軸とy軸で構成される「平面(2次元空間)」の上に描くことができる

ということです。
直線は「1次元」ですから、2本の直線で表現できる空間は、せいぜい「2次元空間」となります。

さて、

ここで$x$を複素数に拡張します。
そこで2つの実数$a,b$を使って$x=a+bi$としましょう。

$$ \begin{cases}
y=x^2-2x+2 \\
x=a+bi \\
i = \sqrt{-1}
\end{cases} $$

すると、式の計算結果$y$も複素数になります。
そこで2つの実数$c,d$を使って$y=c+di$としましょう。
すると、これは、

複素数$x=a+bi$ を与えると、複素数$y=c+di$ が1つに定まる関数のグラフ
つまり、
実数平面上の座標$(a,b)$を別の実数平面上の座標$(c,d)$に移し変える関数のグラフ

ということになります。
つまり「2つの平面」があれば、話ができます。
よって、

$x$ が複素数ならば、
$y=x^2-2x+2 $ のグラフは、平面a-bと平面c-dで構成される「4次元空間」の中で描くことができる

ということです。
平面は「2次元」ですから、2つの平面で表現できる空間は、せいぜい「4次元空間」となります。

拡張し過ぎた

上の考察から、コンピューターで「4次元のグラフ」を描けば、今回はミッションクリアできそうです。

・・・ん?

無理です!

私たちはどんなに精神を研ぎ澄ませても、3次元までしか空間の広がりを認識することができません。
ましてやグラフを描くことも見ることもできません。

これはコンピューターでも表示できません。

(計算だけならできます。表示が無理ということです)

グラフを3次元にまとめる!

ということで、何とかして3次元で済ませる方法を考えなければいけません。

グラフを3次元で描けるようにする

という「課題」が生まれてしまいました。

どうしたらよいでしょうか?

【豆知識】
問題解決の世界では、最終的に解決する「目的」のことを「問題」と呼びます。
そして、問題を解決する過程(途中)で乗り越えるべき「目標」のことを「課題」と呼びます。

そもそも何がしたかったのか?

道に迷ったら、目的の再確認です。

目的さえ達成すればよいのです。
もしかしたら「やらなくても良いこと」で悩んでいたりするかもしれません。

今回は、$y=x^2-2x+2 $ と $y=0 $ の共有点が2つあることをグラフで描きたかったのでした。

あ、な~るほど!

次元を減らす

目的の式をじーっと眺めていたら、思いつきました。

$ y=0 $なのですから、$y$の方は2次元も必要ありませんね。

だって0(ゼロ)の時だけ考えればよいのですから。そこで、

yの次元を2次元から1次元に減らす!

ことを考えましょう。

グラフ表示の方針

ということで、グラフに表示する方針をまとめましょう。

実数の世界のグラフは、横軸がx軸、縦軸がy軸です。

今回は$x$を複素数$a+bi$へ拡張したのですから、そのグラフは、

  • $x軸$を複素平面$a+bi$へ拡張(平面:2次元)
  • $y軸$も複素平面$c+di$へ拡張(平面:2次元)

としたかったのですが、無理でした。
これではグラフの座標が (a,b,c,d) の4次元になってしまい、描けないからです。
そこで次の方針としたのでした。

  • $x軸$を複素平面$a+bi$へ拡張(平面:2次元)
  • $y軸$は1次元に落とした値(直線:1次元)

つまり、

  • 横軸だったx軸は、横に広がる複素平面に拡張
  • 縦軸だったy軸は、実数の数直線のまま

これなら3次元の立体的なグラフで表すことができます。

あとは、縦軸のyをどのような値に決めるか、ですね!

案1:yの実数だけを縦軸にとる → 失敗!

そもそもグラフは実数しか描けません。
そのため、1つの複素数を2つの実数の組に対応させ、それを平面上に表すのでした。

であるならば、安直ではありますが、yの実部だけをグラフに採用すればよいかもしれません。

  • 横軸:複素数$ x=a+bi $(平面:2次元)
  • 縦軸:$y=c+di $の実部$c$(直線:1次元)

それでは、この案でグラフを描いてみましょう。
こうなりました。

馬の鞍みたいな形のグラフになりました。
最後の考察で、このグラフも少し使いますから、とりあえず「馬の鞍型」のグラフとでも呼んでおきましょう。

ちなみに、赤い線が、実数の$x-y$平面上のグラフ(平面 $ b=0 $ で切った切り口)です。

さて、これで目的は果たせたでしょうか・・・?

うーん、何だかよく分かりません。

$x$を複素数に拡張したおかげで、確かに平面$y=0$との共有点は存在しそうです。
しかし「共有点が2つ」である様子が、これでは分かりません。

よく考えてみたら、これはダメです。

もしも4次元のグラフが描けるとすれば、本来のグラフは、

(a,b,c,d) の4次元でグラフを描き、それを平面$c=0$でカットした切り口が、求める3次元のグラフ

が本当のグラフです(※)。
4次元のグラフは描けませんが、本来はそんな感じです。

そう考えると、無条件に$y$の虚部を捨ててしまったのがダメでした。

(※)【豆知識】
4次元の立体を平面で切ると、その切り口が3次元の立体になります。
私たちの世界は3次元です。私たちの世界で立体は3次元です。
例えば、スイカを包丁で切った時の断面を想像してみてください。
スイカは3次元の球です。それを2次元の平面でスパッと切ると、切り口が2次元の円になります。
4次元の世界は、私たちの世界よりも1つ次元が上ですから、上の考察をすべて1つずつランクアップして考えます。
つまり、4次元の中で球体を切ると、切り口が3次元の球になります。

案2:yの絶対値を縦軸にとる → 成功!

そこで、数学的に条件を壊さないことを考えます。

$y=c+di=0$

すなわち、

$c=0$かつ$d=0$の場合

を考えたグラフであれば目的を達成できるわけです。

ところで、

$|y|=0$も同様に$c=0$かつ$d=0$です。

ですから縦軸を$|y|$とすれば、これは実数ですから、うまく1次元に収まります。

  • 横軸:複素数$ x=a+bi $(平面:2次元)
  • 縦軸:$|y|$すなわち$\sqrt{c^2+d^2} $(直線:1次元)

それでは、この案でグラフを描いてみましょう。
こうなりました。

うまくいきました!

グラフの2カ所が尖っていて、2つの虚数解

$$x=1 \pm i$$

の所で平面$y=0$に突き刺さっていそうです。
共有点は「2だけ」ですから、平面$y=0$上で、それぞれ1点ずつ、チョン、チョンと、くっ付いているはずです。

グラフの解像度の問題で「点」まで鋭利に描き切れていません。
念のため、100倍に拡大してみましょう。

$x=1 + i$の付近を100倍に拡大してあります。
この倍率で$x=1 – i$も同時に描くのは不可能なので、1つだけで確認します。

どうです?

共有点の1つ$x=1 + i$の位置へ、グラフが突き刺さっている感じがしますよね。
このグラフを1000倍にしても、10000倍にしても、ずっとこんなグラフになります。

「1点に突き刺さ差っている!」

のですから、倍率をどこまで上げても、こんな感じです。
もちろん、$x=1 – i$ についても同様です。

これで本当に

「たった2点」だけの共有点を持つ!

ことが、グラフで表示できたのではないかと思います。

思ったより大変でした。

教えてエライ人!

上のような考察をFacebookにアップしていたら、色々な人からご意見をいただきました。
なかでも吉田先生には色々と教えていただきました。

ということで、今回のエライ人は、吉田信夫先生です!

吉田先生はあの「大学への数学」で原稿を書かれていた先生の内の1人です。
超すごくないっすか!

先生のブログ「yoshidanobuo’s diaryー高校数学の“思考・判断・表現力”を磨こう!」はこちらです。

グラフで虚数解を見える化するにあたり、いろいろとご指導をいただきました。
また数学的におかしな用語の使い方についてもご指摘いただき、修正することができました。

用語の誤用

今回やってしまった用語の誤用を2つ紹介します。

どこが間違っているのか、考えてみてください。

  • 誤用1:「$y=x^2-2x+2$の判別式の値は負です。」
  • 誤用2:「複素数$x=a+bi$と実数$y$において、$y=|x^2-2x+2|$のグラフ(a,b,y)は、平面$y=0$と2点で接しています。」

わかりますか?

私は吉田先生に指摘されるまで気づかなかったです。まさに

「それは違反です」

という感じで、用とあいなりました。

大学入試の2次試験で記述回答を予定している人は、気を付けてくださいね。

さて、上のものは次の点で間違っていました。

  • 誤用1:関数に対して判別式を語ったところがアウト。判別式は方程式「$0=x^2-2x+2$」に対して定義されるもの。
  • 誤用2:「接する」は「微分可能な領域」で定義されるもの。今回は尖っていて微分不可(微分する向きによって微分係数が異なる)。

さぁ、どうでしたか?

滑らかに「接する」グラフにする

さらに誤用2に関連して、グラフが2つの$x=1 \pm i$で「接する」ようなyの取り方も教えていただきました。

みなさん、分かります?

  • 横軸:複素数$ x=a+bi $(平面:2次元)
  • 縦軸:$|y|^2$すなわち$ c^2+d^2 $(直線:1次元)

それでは、この案でグラフを描いてみましょう。
こうなりました。

yの値が2乗されているので、グラフが大きくなりすぎて「2点」どころではなくなってしまいました。
そこで例によって、$x=1 + i$の付近を100倍に拡大してみましょう。

おお、本当に滑らかに接してそうですね!

例によって「1点」で接しているので、このグラフを1000倍にしても、10000倍にしても、ずっとこんなグラフになります。

次元を減らすもう1つの方法

さらにさらに、吉田先生からもう1つのグラフ表示の方法を教えていただきました。
$x=a+bi$ としたときに$y=0$を満たすような

$y=0$ を (a,b) だけで描く!

です。

つまり、(a,b)に色々な実数を当てはめて $x=a+bi$ を動かしたときに、$y$ がどのように動くかを図示します。
もう少し正確に言うと、$y=0$ を満たすような「yの実部」と「yの虚部」をそれぞれ平面(a,b)上に図示します。

$y$ の値もまた (a,b) の関係式として表現されるため、グラフの次元は(a,b)の2次元だけで済みます。
1つの複素平面だけで示すやり方です。

やってみましょう。まず、

$$ \begin{cases}
y=x^2-2x+2 \\
x=a+bi \\
y=c+di
\end{cases} $$

について、

$x=a+bi$ を $y=x^2-2x+2$ に代入して整理すれば、

$$ y=a^2-b^2-2a+2+2b(a-1)i $$

です。

$y=c+di=0$ すなわち $c=0$かつ$d=0$ の場合を考えるわけですから、

$$ \begin{cases}
a^2-b^2-2a+2=0 \\
かつ\\
2b(a-1)=0
\end{cases} $$

すなわち、

$$ \begin{cases}
b = \pm \sqrt{(a-1)^2+1} \\
かつ \\
a=1 または b=0
\end{cases} $$

です。
これらの交点が求める解になります。

あらためて、実部の$a$を$x$とし、虚部の$b$を$y$として、複素平面$x-y$にグラフを図示したのが下です。
これは吉田先生からいただいたグラフです(軸が$x-y$になっていますが、$a-b$に読み替えてください)。

$a^2-b^2-2a+2=0$のグラフが青で、$a=1$と$b=0$のグラフが赤です。

確かに複素平面の世界では、2点の共有点がありました。
そしてグラフの交点はそれぞれ、$ 1+i $ と $ 1-i $ です。

これは感動です!

考察とまとめ

もしも

$$ \begin{cases}
y=x^2-2x+2 \\
x=a+bi \\
y=c+di=0
\end{cases} $$

のグラフを4次元 $(a,b,c,d)$ の空間上に描けたとしましょう。

すると、上の吉田先生からいただいた平面グラフは、その4次元グラフを $y=0$ で切った切り口であるといえます。

やってみました。それが下のグラフです。

緑の実線が、実数の世界での2次関数のグラフです。
赤の実線と青の実線は、それぞれ上の平面グラフに対応しています。

このグラフをもとに、これまでの話を全て振り返ってみます。

まず青い曲面が、最初に描いた「馬の鞍型」のグラフです。
これは4次元グラフを平面 $ d=0 $ で切ったときにできる立体です。
そして、この青い曲面をさらにy=0で切ると、青い実線の双曲線になります。

次に、4次元グラフを平面 $ c=0 $ で切ったときにできる立体も考えます。
それが、上のグラフの赤い曲面です。
そして、その赤い曲面をさらにy=0で切ると、赤い実線の2直線になります。

そして青い双曲線と赤い直線の交点が、まさに $ 1 \pm i $ となっています。

これらの様子を総合すると、2次方程式の虚数解 $ 1 \pm i $ は、

  • 3次元空間 (a, b, c) の曲面(縦軸をyの実部としたグラフ)
  • 3次元空間 (a, b, d) の曲面(縦軸をyの虚部としたグラフ)
  • y=0の水平な平面

の3つを重ねた時にできる共有点

であることがグラフで確認できました。

グラフ表示に使ったPythonプログラム

今回、グラフを描くのにプログラミング言語の「パイソン(Python)」を使いました。
以下が、そのプログラムです。
Jupyterという環境を使いました。

ちなみに、パイソンのプログラミングを学ぶなら、無料で使える Google Colaboratory がオススメです。
もちろん下のプログラムも Google Colaboratory で動作します(動作確認済)。

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
%matplotlib inline
fig = plt.figure(figsize = (8, 8))

# Axes3D
ax = Axes3D(fig)

# タイトルを設定
ax.set_title(“$y=|x^2-2x+2|$”, size = 20)
#ax.set_title(“$ y = |x^2-2x+2|^2 *100 $”, size = 20)

# 軸ラベルを設定
ax.set_xlabel(“x-Real”, size = 14)
ax.set_ylabel(“x-Image”, size = 14)
ax.set_zlabel(“y”, size = 14)

# 表示角度の設定
ax.view_init(elev=10, azim=35)

# 座標のメッシュ
rr = np.linspace(-1.5, 3.5, 200)
ii = np.linspace(-1.5, 3.5, 200)
#rr = np.linspace(0.9, 1.1, 200)
#ii = np.linspace(0.9, 1.1, 200)
i0 = np.zeros(200)
r,i = np.meshgrid(rr, ii)
z = r + i*1j

# 曲線・曲面を描画
y0 = r*r-2*r+2
ax.plot_wireframe(rr, i0, y0, color = “red”)
y = np.abs( z*z-2*z+2 )
#y = ( np.abs( z*z-2*z+2 ) )**2 *100
ax.plot_surface(r, i, y, color = “yellow”, alpha=0.4)
plt.show()

あとがき

どの学年も文字式と関数の季節になりました。

今年から中学生は教科書改訂で「主体的な学び」が重視され、プログラミング教育も強化されました。
来年からは高校生でもそうなります。

そういう流れの中で、今回は、

高校生のレベルで数学を題材に「主体的な学び」を「プログラミング」も活用して行ったらどうなるか?

を実践してみました。

さらに今後の常識というか、新しい価値観である

「集合知」で「問題解決を加速する」という姿勢

も取り入れてみました。
ですから、問題解決の用語や流れも、それとなく意識してあります。

これが次世代型の教育であり、同時に、いま日本で遅れてしまっている教育でもあります。

今のところ私はそのように思っております。

教育者も間違えます。
先生が何でも知っていて間違いを起こさない聖人君子である、なんていう時代は終わっています。
そもそも非科学的で不合理です。

もう、1人の聖人君子や、優れたリーダー、1部の天才に問題の解決を任せるよな時代では、ありません。
というか、そんな人はいません。
幻想です。

今や、世界中の人たちがコンピューターでつながっているのです。
みんなが意見や知恵を出し合う「集合知」で、いち早く問題を解決していこう!
そのように考える方が大切です。

このような価値観でコンピューターを活用しながら問題解決を実践できる人。

それが、これから日本で、いや世界で多く必要とされる人たちなのだと思います。

現場からは以上です。

 


生徒・保護者様のお友達登録はこちら

LINE登録するとプレゼントがもらえます!
【会員限定】お子様の成績と可能性を伸ばす18個のノウハウ

友だち追加


塾関係者様のお友達登録はこちら

LINE登録するとプレゼントがもらえます!
「zoomで簡単。オンライン授業移行の教科書」
または個別対談も可

友だち追加

 


名古屋市天白区の植田で塾を探すなら個別指導のヒーローズ!!

★ 直接のお問い合わせ ★
――――――――――――――――――――――
個別指導ヒーローズ 植田一本松校
〒468-0009
名古屋市天白区元植田1-202 金光ビル2F
TEL:052-893-9759
教室の様子(360度カメラ) http://urx.blue/HCgL

夏休みの自由研究 かけ算とわり算の原理をプログラミング

塾長です。

いよいよ夏休みも後半です。

学生のキミたち、そろそろ読書感想文や自由研究に着手しましょう。

ということで、自由研究ネタを1つご提供します。

算数の研究です。

しかし、内容が深くてプログラミングもありますから、きっと中学生でも使えるでしょう。

算数や数学で「文章問題が苦手」という人には、特にチャレンジして欲しいです。

そもそも「かけ算」や「わり算」の意味とは?

もしも小学1年生や2年生から、次のように質問されたら、どのように答えますか?

  • 「かけ算」とは何ですか?
  • 「わり算」とは何ですか?

塾長は、次のように答えます。

  • 「かけ算」とは「たし算の繰り返し」です
  • 「わり算」とは「ひき算の繰り返し」です

なぜなら、

人類で初めて「かけ算」や「わり算」を発明した人は、きっと上のように考えたに違いない!

塾長は、そうに思うからです。

これをプログラミングで確かめていきたいと思います。

「たし算」で「かけ算」をプログラミングする

もしも「かけ算」が「たし算の繰り返し」なら、その通りに計算ができるはずです。
やってみましょう。

具体的な例から「かけ算」のパターンを考える

5×3の場合

例えば、5×3の計算を考えましょう。

5×3=5+5+5=「5を3個たす」=15(積)
ここで「たし算」の「+」記号は2個です。

つまり、

5を「3個」たすときは、たし算を「2回」使います。
たし算の回数は3-1=2回です。

7×6の場合

もう1つの例、7×6の計算ではどうでしょう。

7×6=7+7+7+7+7+7=「7を6個たす」=42(積)
ここで「たし算」の「+」記号は5個です。

つまり、

7を「6個」たすときは、たし算を「5回」使います。
たし算の回数は6-1=5回です。

「かける数」は「たした個数」

まとめます。

m×nの場合

一般化して、m×nの積を計算する方法を考えます。

上の2つの例から、これは「mをn個たす」です。
そして、たし算を使う回数は(n-1)回です。

つまり、

m×nとは、mに(nー1)回だけmをたし算すること

まとまりました。

スクラッチでプログラミング

それでは上のm×nの手順をプログラムにしてみましょう。

mにmをnー1回たす

これをプログラミングしたのが次です。

たし算でかけ算をプログラミングした図

  1. 「積」という変数を用意して、それにmを代入
  2. 「積にmをたす」という処理を(nー1)回くりかえす
  3. 「積」を表示

試しに、4×9でプログラムを実行しました。結果は36で正しいです。

つまり「たし算」を繰り返せば、確かに「かけ算」を計算できることが分かりました。

そしてこのプログラムは、どんな自然数どうしのかけ算でも計算できます。

プログラムのカイゼン

ところで、このプログラムは1つ分かりにくい所があります。

「×n」なのに、繰り返す回数が「n-1回」です。
「かける数」と「回数」が1つズレています。

これを同じにできれば、もっとプログラムが分かり易くなります。

そこで、こう考えたらどうでしょうか。

変更前: 最初に「積」という変数を用意して、それにmを代入します。
変更後: 最初に「積」という変数を用意して、それに0を代入します。

こうすれば、繰り返し回数もnになります。
つまりプログラムがこうなります。

プログラムがシンプルで見やすくなりました。

「かける数」は「0にたした回数」だった!?

プログラムを見やすくするために、上のように改善しました。

逆に、このプログラムが行っている処理を式で表すと、どうなるでしょうか。

例えば、7×6の場合に戻れば、こうなります。

変更前: 7×6=  7+7+7+7+7+7+7
変更後: 7×6=0+7+7+7+7+7+7+7

単に「かける数」と「たす回数」が同じになるように工夫しただけですが、実は、こうした方が数学的にも良いことが分かっています。

それは「かける数」を3、2、1、0と小さくしていけば分かります。
変更前の考え方では、

7×3=「7に7を2回たす」
7×2=「7に7を1回たす」
7×1=「7に7を0回たす」
7×0=「7に7を?回たす」

となってしまい、7×0を考えることができません。
一方、変更後の考え方ならば、

7×3=「0に7を3回たす」
7×2=「0に7を2回たす」
7×1=「0に7を1回たす」
7×0=「0に7を0回たす」

となりますから、ちゃんと7×0=0も計算できます。

ちなみに0という数も人類が「発明」した数なのだそうです。

「ひき算」で「わり算」をプログラミングする

たし算と同じように、わり算についても考えてみましょう。

もしも「わり算」が「ひき算の繰り返し」なら、その通りに計算ができるはずです。

やってみましょう。

具体的な例から計算のパターンを考える

9÷3の場合

例えば、9÷3の計算を考えましょう。

9÷3=「9の中に3がいくつあるか?」=「9-3-3-3=0だから9から3を3回ひけた」=3(商)
ここで「ひき算」の「-」記号は3個です。

つまり、

9から3を「3回」ひき算できたから、商は3です。

12÷5の場合

もう1つの例、12÷5の計算ではどうでしょう。

14÷5=「14の中に5はいくつ?」=14-5-5=2だから2回ひけて4あまった」=2(商)あまり4
ここで「ひき算」の「-」記号は2個です。
まだ4余っていますが、3回目の引き算まではできません。

つまり、

14から5を「2回」ひき算できて4余るから、商は2あまりは4です。

「商」とは「引くことができた回数」

まとめます。

m÷nの場合

一般化して、m÷nの商とあまりを計算する方法を考えます。

上の2つの例から、商は「mからnを引ける回数」です。
しかし、ひき算できる回数は、計算してみなければ分かりません。
1回引いてみて、まだ引けそうならもう1回引いてみて・・・という計算を繰り返します。

m-n=〇 もしも 〇>n ならば もう1回引ける・・・

という判断を繰り返してい良く計算です。
ですから、

わり算で商と余りを求めるとは、

m-n-n・・・-n=△ かつ 0≦△<n
k回引けたので商がk、余りが△

という処理をすること

まとまりました。

スクラッチでプログラミング

それでは上のm÷nの手順をプログラムにしてみましょう。
それが次です。

ひき算でわり算をプログラミングした例

  1. 商(引けた回数)を0回に設定、余り(引き算の残り)をmに設定
  2. 余り に 余り―n を代入し、商に1をたす(引いた回数を数える)
    これを 余り<n になるまで繰り返す
  3. 商と余りを表示

「あまり」は文字通り「余りもの」だった!?

上の処理からわかるように、余りは文字通りの余りでね。

mからnを何度もひき算して、もうこれ以上はひき算できない。
けれども中途半端に数が残っている。

それが余りです。

「わり算」を「お茶くみ」の手順で考えれば、商が小数でも解ける!?

ところで、これまで「わり算」の意味を

m÷n=「mの中にnがいくつあるか?」

としていました。
しかし、m÷mの意味は、もう1つあります。

m÷n=「mをn当分したら、1つあたりいくつになるか?」

これは、お茶くみの手順で考えれば、解くことができます。

mミリリットルのお茶をn個のコップに入れていくと、1人あたり何ミリリットル?

mミリリットルを全て急須にいれて、n個のコップを並べます。
急須から少しずつn個のコップへお茶を注いでいき、均等になるようにしますよね。

そして、急須の中の量が少なくなるにつれて、分配するお茶の量も少なくしていきますよね。
最後の1周は1滴ずつとか(そこまでやらないか)。

この手順をプログラムにすればよいのです。

  • まず、1ミリリットルずつ順番にn個のコップに入れていきます。
  • そして、余りが1×nミリリットル未満になったら、今度は0.1ミリリットルずつ入れていきます。
  • そして、余りが0.1×nミリリットル未満になったら、今度は0.01ミリリットルずつ入れていきます。
  • そして、余りが0.01×nミリリットル未満になったら、今度は0.001ミリリットルずつ入れていきます。

・・・これを繰り返していき、最後に1つのコップに入っているお茶の量が商になります。

このようにすると、商が小数になるようなわり算でも「ひき算」の繰り返しで計算できることが分かるでしょう。

プログラミングは、みなさんの宿題にしたいと思います。

たし算の記号「+」と、かけ算の記号「×」が似ている理由

上で見たように、かけ算はたし算で計算できます。

そう考えると、かけ算の記号「×」と、たし算の「+」が似ているのも納得ですよね。

「+」を少しだけ変えて「×」が作られています。
というか、角度を45度かたむけただけですね。

似ているどころか、形は何も変わっていません。

よく考えられていますね。

ひき算の記号「-」と、わり算の記号「÷」が似ている理由

わり算は、ひき算の繰り返しでしたから、

わり算の記号「÷」と、ひき算の「-」が似ているのも納得です。

ただ、形も変わっています。
真ん中の横線は共通ですが、それに上下の「・」マークが追加されています。

これは「わり算」=「分数」だからでしょう。

m÷n=$ \frac{n}{m} $

と書けることは、小学5年生の算数の単元「等しい分数」で習います。
分数の形をデフォルメすれば、正に「÷」というピクトグラムになりますね。

よく考えられています。

わり算のもう1つの記号「/」

ところで、エクセルやプログラミングの計算式では、わり算の記号を「/」で表しています。

たし算の記号「+」を傾けて、かけ算の記号を「×」としたように、
ひき算の記号「-」を傾けて、わり算の記号を「/」とした方が、統一感があります。

グーグル検索で調べてみると、海外の学校や教科書では、むしろ「/」を採用している方が普通のようです。

さらにコロン「:」を使っている国もあるそうですよ。
なるほど、その手もありますね。

これからコンピューターの利用が進んでくると、わざわざキーボードにない「÷」を使うのはめんどうですね。
もしかしたら日本も将来は「/」になるのかもしれません。

ちなみにプログラミング言語 Pythonでは、

  • m/n ・・・ m÷nの商(小数)
  • m//n ・・・ m÷nの商(整数)
  • m%n ・・・ m÷nの余り(整数)

という使い分けをしています。

コンピューターは「たし算」と「ひき算」しかできない!?

今から10年以上前に、塾長は趣味で望遠鏡を動かすプログラミングをしていました。

乾電池で動くような、とても小さなコンピューターを動かすプログラムでした。
このような小さなコンピューターは「マイコン」と呼ばれています。

マイコンにも色々ありますが、指先に載るような小さなものになると、使える命令がとても少ないです。

そのとき使っのは、PIC16Fなんちゃら、というマイコンでした。
それには四則計算の命令が「たし算」と「ひき算」の2つしかありませんでした。

「かけ算」と「わり算」が無いのです。

電卓を買ったら「×」と「÷」のボタンがなかった・・・というくらい衝撃でした。

「かけ算」や「わり算」が1回で計算できるコンピューターは高級品なのだと、そのとき知りました。
逆に、そのような高性能なコンピューターでも、中身は「たし算」と「ひき算」の組み合わせだけで作られているのだと実感しました。

考えてもみれば、これは当然です。

コンピューターはデジタルですから、0と1の数字をたくさん並べて計算しています。

0に1をたしたら1で、1から1を引いたら0です。
そのような処理を、膨大な数だけこなして、結果的にたくさん複雑な処理をしています。

だから究極的には、たし算とひき算しかしていません。

そう考えると今回は、

コンピューターの原理だけを使って「かけ算」や「わり算」をプログラミングした

とも言えます。
ちょっと大袈裟ですかね。

何はともあれ、計算には意味があります。
上のように「かけ算」や「わり算」の意味を深く理解してしまえば、文章題も怖くはありません。

あとがき

教科書が分かりやすくなり、一部はデジタル化しました。
無料で多くの分かりやすい解説動画が視聴できるようになりました。

分かりやすい教材があふれている今日ですが、だからといって、昔に比べて優秀な生徒が増えたという印象はありません。
つまり今も昔も、相変わらず

計算はできるけど文章題ができない

というのが、多くの生徒たちの悩みです。

計算の「やり方」はドリルで訓練しやすいです。
早く計算する「テクニック」も指導の良いネタです。

その一方で、

計算の「意味」や本質を考えさせるようなコンテンツは、なかなかウケません。
むしろ眠くなります。

しかし、それらにこだわって勉強しなければ、なかなか文章問題が得意にはならないでしょう。
そこが腕の見せどころ、と言ったところでしょうか。
きっとベテランの先生は、そういうのが得意なのだと思います。

ですから、より本質をつくようで、なおかつ面白くて飽きさせないようなコンテンツが、
きっとこれから先、どんどん登場してくることでしょう。

もしもプログラミングを活用した上のような事例が、その好例になるのなら幸いです。

 


生徒・保護者様のお友達登録はこちら

LINE登録するとプレゼントがもらえます!
【会員限定】お子様の成績と可能性を伸ばす18個のノウハウ

友だち追加


塾関係者様のお友達登録はこちら

LINE登録するとプレゼントがもらえます!
「zoomで簡単。オンライン授業移行の教科書」
または個別対談も可

友だち追加

 


名古屋市天白区の植田で塾を探すなら個別指導のヒーローズ!!

★ 直接のお問い合わせ ★
――――――――――――――――――――――
個別指導ヒーローズ 植田一本松校
〒468-0009
名古屋市天白区元植田1-202 金光ビル2F
TEL:052-893-9759
教室の様子(360度カメラ) http://urx.blue/HCgL