塾長です。
今回の定期テストでは、さすがに出ないだろうと思っていました。
この大変な時期にも時事問題!?
しかし出るみたいです、時事問題。
一部の学校、一部の学年です。
子供の環境格差を反映してしまうテスト範囲の1つが時事問題です。
貧困家庭、保護者が政治や経済に無関心、保護者がニュースを見ない・・・こうしたご家庭の子供たちには解けない問題です。
それを是正するなら、授業中にニュース解説をしたり、授業中にニュースを調べさせる主体的な取り組みを実践するしかありません。
要は公教育かつ義務教育の機関である学校で、いかにして社会格差を吸収できるか。
しかし、授業時間が切迫している今の状況では、それができないから困っているはず。
さすがに今年度は出さないだろうと思っていました。
それなのに、また無茶をしますね。
何かの間違いでしょう。上司がチェックし忘れたとか。
子供たちがかわいそう・・・。
学校の先生には99%感謝と尊敬をしておりますけれども、
「ちゃんと組織として動いて欲しい」
という改善はお願いしたいです。
ということで、夜なべして時事問題対策の用語解説集をつくりました。
ふー。目が痛い。腰も痛い・・・
昨日から今日にかけて、必要な生徒たち全員に配り終えました。
富岳と不老
その用語解説集。
もちろん理化学研究所のスーパーコンピューター「富岳」も載せました。
8年ぶりの世界ランク1位ですからね。
名前の由来は「富士山」。
そして名古屋大学の「不老」も忘れてはいけません。
富岳と同じCPUのコンピューターで世界ランク36位。
名前の由来は、大学のある「不老町」。
コンピューター処理の流れを表す「フロー」が読み方です。
計算スピードは富岳の方が60倍ほど高速ですが、人工知能や大規模記憶などが強化されています。
富岳の弟みたいなものですね。
ただ、不老は富岳より一足早く7月1日から運用を開始しています。
もちろん、不老も用語解説に載せました。
スーパーコンピューターでも使えるパイソン
その富岳や不老で、最もお手軽にプログラミングできるのがパイソン(Python)です。
などの研究をするのにパイソンがとっても便利なんです。
数学や物理を扱う機能がそろっているからです。
しかも無料で。
パイソンは科学技術に強い!
というワケです。
パイソンは8月開校の「プロコース」で
塾長のプログラミング教室で、この8月からプロコースを開講します。
実は、そこで使うのがパイソンです。
ハイコースを卒業する生徒がそろそろ出てくるからです。
彼らが言うのです。
もっと高度なことをやりたい!
と。
そのような生徒を対象に8月から限定的にサービスを開始します。
パイソンを選んだ理由は3つあります。
- 研究と就職の両面で将来まで役に立ちそうだから
- ジュニア、ミドル、ハイの環境に最初からインストールされているから
- 文法がシンプルでモダンだから
もちろん塾長が楽しんで使っているから(4つめ?)というのもあります。
教える本人が楽しいと思わなければ、教材を開発するまでに至りませんからね。
プロコースの方針として考えていること
一言でカッコつけて言いますと、
「次の世代に求められるコンピューターの使い方を教える。」
ということを常に考えています。
パイソンが人気とは言え、プログラミング言語には流行り廃りがあります。
ですから流行に左右されない芯の部分が生徒たちの中に残るように教えたいです。
何と言いましょうか、
プログラミングのエッセンス?
プログラミングのエキス?
プログラミング汁?
みたいな、10年や20年では変わらないプログラミングのセンスや勘所のようなものを教えていく方針です。
つまり生徒たちを、
「細かいことは自分で調べながらプログラミングできる」
という状態にしてあげたいと思っています。
そのために、例えば、あえて部分的にHTMLやJavaScriptを登場させたりします。
あるいは古い開発手法と新しい開発手法の両方を試してもらったりもします。
もちろんジュニア、ミドル、ハイの方針と変わらない部分もあります。
学校で習ってきた数学や理科、美術や技術などの知識もどんどん活用する!
この方針は変わりません。
塾ですから普遍的な教養とは何かを考えたいです。
プロコースでやること
スクラッチに比べると、パイソンはかなり高度なことができます。
しかもスクラッチに比べると超高速に処理ができます。
章の名前や構成は後で考えますが、ざっとこんな感じです。
- 導入
・スクラッチとパイソンを比較しながらプログラミングのスタイルを学びます。
・また概念の拡張として、整数、小数、文字列、配列や辞書、集合なども学びます。
- 計算力を体感する
・マインクラフトで学んできた3次元のベクトル空間を抽象化します
マインクラフトは座標を(x,y,z)≡(横、高さ、縦)に対応させた空間です。
これを(R,G,B)という色の空間に置き換えてお絵描きソフトを作ります。
・このように空間という概念を抽象化し、ハードウェアとソフトウェアの違いを体験します。
- 自動化を体感する
・ウェブスクレイピングを体験します。
マインクラフトのプログラミングでは、よくブロックIDをインターネットで調べました。
これを自動化します。
・調べた情報をCSVファイルという汎用的な形式で保存します。
・またパイソンで読み込める形式でファイルに保存して再利用性を考えます。
- データーベース
・スクレイピングしたデータをデーターベースにして管理します(RDBモデル)。
・SQLを簡単に紹介し、目的に応じてプログラミング言語が変わることを体験します。
- Webサーバーおよびアプリの開発
・データーベースを検索するアプリを3種類ほど作ります。
・コマンドラインのアプリ
・ブラウザで調べるアプリ(クライアント-サーバーモデル)
・Web-APIを使って調べるアプリ(REST-APIモデル)
- 人工知能
・詳細は企画中です。ここまで来るのに1年以上かかるでしょうから、ゆっくり準備します。
人工知能の紹介程度になりますが2種類ほどやろうと思います。
・皮肉にも高校の教科書から削除された行列が人工知能では必須です。
数学の基礎からどうやって教え直すのかが最大の課題でしょう。
ちょうどブログのサムネイルにある写真が、お絵かきソフトの完成図です。
画面上で絵を描くと、マインクラフトの世界でそれが実現されます。
背景を白紙にすればホワイトボードにもなります。
ところで、夏休みの宿題で「写し絵」(フロッタージュ)に取り組んだ人もいるでしょう。
10円玉に紙をかぶせて、鉛筆でこすると10円玉の模様を写し取れるという、あれです。
それと同じようなこともできます。
背景の画像をマウスでこすっていくと、マインクラフトの世界に、背景の絵が写し出されていきます。
そんなお絵かきソフトです。
学校で習った数学や美術(図画工作)のアイデアを使っています。
楽しそうでしょ!
そして頭が良くなりそうでしょ!!
こういうプログラミング教室って、他にはないと思います。
学校の学習指導要領に全て目を通してから作りました。
ソフトウェアの価値を理解できるという教養
空間座標の縦、横、高さを数字にすれば、どんな場所でも表せます。
色の三原色の赤、緑、青を使えば、どんな色でも表せます。
これをベクトルの(x,y,z)に当てはめて使うと、どちらも同じ数学の式になります。
例えば、場所の近さも色の近さも「距離」ととらえれば、どちらも三平方の定理で計算できます。
このように、ソフトウェアというのは、数学のような抽象化された概念を色々なものに当てはめて、新しい道具にしたものです。
学校で習う勉強は、とても抽象度が高いので、一見すると、何の役にも立たないことのように思えます。
しかしソフトウェアの世界では、その抽象度の高さが逆に大きな利用価値を生んでいます。
その価値を理解している投資家や政治家が多い国が、いち早く発展しているというワケです。
それは Google、Apple、Amazon、Facebook、Microsoft、Adbe、ZOOM などの歴史を見れば明らかですね。
残念ながら今までの日本には、抽象的な学問の価値やソフトウェアの価値を理解している人間が、ほとんどいなかったです。
いたとしても、そのような人材は、みな日本を出て海外に行ってしまいます。
スーパーコンピューターで世界一をとれるのは、ハードウェアだからです。
ソフトウェアについては、今後の日本の変化に期待したいですね。
ですから若い人にも大きな期待がかかっています。
高度の意味を取り違えたくない
逆に、機械の仕組みやコンピューターの仕組みなどは省略します。
プロコースではマイコンボード、LEDやモーターの基盤、ロボットなどは一切使いません。
ゲーム制作もしないです。
ロボットやゲームを作れば、いかにもプログラミング教室っぽいですかね?
塾長は、そのようなことを子供たちにやらせるのは反対です。
「職業に近い」という意味で「高度」なことを、いきなり子供たちにやらせるのは間違いだと思います。
子供たちが大きくなる頃には、今の職業の過半数は無くなっています。
ですから私の教室では、特定のマイコンや特定の機械を詳細に説明することはないです。
子供たちが大きくなる頃に廃れてしまうような流行りの技術は、教えても仕方がありません。
つまり、ただ単に大人向けの技術研修を簡単にしただけ、みたいな教育は、子供の将来には何の役にも立たないということです。
ロボット教室、ゲームプログラミング・・・
これらは教育というよりは「趣味」と割り切って楽しむ方が幸せでしょう。
学校や学習塾としてやるなら、イベントに使うくらいですかね。
客寄せパンダとしては良いかもしれません。
自分の子供に習わせたいかと言われたら、やらせたくはないです。
趣味としてやりたいと言われたら、それはそれで良いですよ。
おもちゃを買い与えるのと同じ意味で。
中学生や普通科の高校生に教えるべきことは、職業訓練ではありません。
学校で学んでいることを開発や発明につなげる発想方法だと思います。
学校で学んできた抽象的な概念を、身の回りの色々なことに当てはめてみる、モノや機械を抽象化して考える、というソフトウェア的な発想だと思います。
今時のプログラミングでよく登場するデータの構造や情報の扱い方でもよいでしょう。
モダンなプログラミング言語で扱われるデータ構造もまた、ものごとを抽象的にとらえるための器です。
それが分野を問わずコンピューターの持つパワーを使いこなすことに直結します。
ソフトウェア的な発想は、今の日本人の多くが苦手です。
今の日本人は、誰にでもハッキリ見えるものや流行のもの、保証されたものばかりに目が行きます。
しかし何かを創造していくには、それとは逆の視点や発想が必要です。
0から1を作り出す創造性をこれから強化しなければいけないと思います。
だから重視して教えようと思います。
ついついコンピューターというと、
「どんな技術を身に着ければよいか」
という話になりがちです。
就職活動中の人がそうなるのは正しいと思いますが、子供たちにとっては違うと思います。
目の前にいる大人たちが
「Javaを覚えた方が良いよ。」
「ロボットを作れた方が良いよ。」
などとアドバイスしたとしても、子供たちの未来では全く違う話になっているでしょう。
「何の役に立つのか」
という問いかけは、子供たちにとっては役に立たないのです。
僕らの先輩の世代は、相対性理論や量子力学、整数論などを全く役に立たない学問だと信じていました。
しかしカーナビや量子コンピューター、暗号によるセキュリティーなどは、これらが活用されまくっています。
先の教科書改訂で削除されてしまった高校数学の「行列」も、人工知能をプログラミングするのに必須の数学でした。
大人が言う「○○が将来の役に立つ」などというアドバイスなんて、所詮はそんなものです。
だれも未来について分かりません。
ですから今の流行に右往左往するよりも、
コンピューターで世の中をどう良くしていくか。
どんなものを作れば多くの人から喜ばれるのか。
という社会との関わりや希望について考えさせて、
それを実現させていく道具立てとしてプログラミングがある、
という順番で話をした方が、結局は近道になると思います。
そしてもちろん、職人が良い道具を切れる技で使いこなすように、プログラミングにも良い道具と技があります。
テスト対策や受験対策で暗記していた公式が、実はそうした良い道具なのです。
これから日本が豊かになるのか否かは、それが分かる人をどれだけ増やせるかにかかっています。
そのような話をした方が子供たちの将来のためになるでしょう。
生徒・保護者様のお友達登録はこちら
LINE登録するとプレゼントがもらえます!
【会員限定】お子様の成績と可能性を伸ばす18個のノウハウ
塾関係者様のお友達登録はこちら
LINE登録するとプレゼントがもらえます!
「zoomで簡単。オンライン授業移行の教科書」
または個別対談も可
名古屋市天白区の植田で塾を探すなら個別指導のヒーローズ!!
★ 直接のお問い合わせ ★
――――――――――――――――――――――
個別指導ヒーローズ 植田一本松校
〒468-0009
名古屋市天白区元植田1-202 金光ビル2F
TEL:052-893-9759
教室の様子(360度カメラ) http://urx.blue/HCgL