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

パイソン

定期テスト対策で時事問題の富岳からのプログラミング教室

マイクラミング プロコース 事例

塾長です。

今回の定期テストでは、さすがに出ないだろうと思っていました。

この大変な時期にも時事問題!?

しかし出るみたいです、時事問題。
一部の学校、一部の学年です。

子供の環境格差を反映してしまうテスト範囲の1つが時事問題です。
貧困家庭、保護者が政治や経済に無関心、保護者がニュースを見ない・・・こうしたご家庭の子供たちには解けない問題です。

それを是正するなら、授業中にニュース解説をしたり、授業中にニュースを調べさせる主体的な取り組みを実践するしかありません。
要は公教育かつ義務教育の機関である学校で、いかにして社会格差を吸収できるか。
しかし、授業時間が切迫している今の状況では、それができないから困っているはず。

さすがに今年度は出さないだろうと思っていました。

それなのに、また無茶をしますね。
何かの間違いでしょう。上司がチェックし忘れたとか。

子供たちがかわいそう・・・。

学校の先生には99%感謝と尊敬をしておりますけれども、
「ちゃんと組織として動いて欲しい」
という改善はお願いしたいです。

ということで、夜なべして時事問題対策の用語解説集をつくりました。

ふー。目が痛い。腰も痛い・・・

昨日から今日にかけて、必要な生徒たち全員に配り終えました。

富岳と不老

その用語解説集。
もちろん理化学研究所のスーパーコンピューター「富岳」も載せました。
8年ぶりの世界ランク1位ですからね。
名前の由来は「富士山」。

そして名古屋大学の「不老」も忘れてはいけません。
富岳と同じCPUのコンピューターで世界ランク36位
名前の由来は、大学のある「不老町」。
コンピューター処理の流れを表す「フロー」が読み方です。

計算スピードは富岳の方が60倍ほど高速ですが、人工知能や大規模記憶などが強化されています。
富岳の弟みたいなものですね。
ただ、不老は富岳より一足早く7月1日から運用を開始しています。

もちろん、不老も用語解説に載せました。

スーパーコンピューターでも使えるパイソン

その富岳や不老で、最もお手軽にプログラミングできるのがパイソン(Python)です。

  • シミュレーション
  • 人工知能
  • データサイエンス

などの研究をするのにパイソンがとっても便利なんです。
数学や物理を扱う機能がそろっているからです。
しかも無料で。

パイソンは科学技術に強い!

というワケです。

パイソンは8月開校の「プロコース」で

塾長のプログラミング教室で、この8月からプロコースを開講します。
実は、そこで使うのがパイソンです。

ハイコースを卒業する生徒がそろそろ出てくるからです。
彼らが言うのです。

もっと高度なことをやりたい!

と。

そのような生徒を対象に8月から限定的にサービスを開始します。

パイソンを選んだ理由は3つあります。

  1. 研究と就職の両面で将来まで役に立ちそうだから
  2. ジュニア、ミドル、ハイの環境に最初からインストールされているから
  3. 文法がシンプルでモダンだから

もちろん塾長が楽しんで使っているから(4つめ?)というのもあります。
教える本人が楽しいと思わなければ、教材を開発するまでに至りませんからね。

プロコースの方針として考えていること

一言でカッコつけて言いますと、

「次の世代に求められるコンピューターの使い方を教える。」

ということを常に考えています。

パイソンが人気とは言え、プログラミング言語には流行り廃りがあります。
ですから流行に左右されない芯の部分が生徒たちの中に残るように教えたいです。

何と言いましょうか、

プログラミングのエッセンス?
プログラミングのエキス?
プログラミング汁?

みたいな、10年や20年では変わらないプログラミングのセンスや勘所のようなものを教えていく方針です。
つまり生徒たちを、

「細かいことは自分で調べながらプログラミングできる」

という状態にしてあげたいと思っています。

そのために、例えば、あえて部分的にHTMLやJavaScriptを登場させたりします。
あるいは古い開発手法と新しい開発手法の両方を試してもらったりもします。

もちろんジュニア、ミドル、ハイの方針と変わらない部分もあります。

学校で習ってきた数学や理科、美術や技術などの知識もどんどん活用する!

この方針は変わりません。
塾ですから普遍的な教養とは何かを考えたいです。

プロコースでやること

スクラッチに比べると、パイソンはかなり高度なことができます。
しかもスクラッチに比べると超高速に処理ができます。

章の名前や構成は後で考えますが、ざっとこんな感じです。

  1. 導入
    ・スクラッチとパイソンを比較しながらプログラミングのスタイルを学びます。
    ・また概念の拡張として、整数、小数、文字列、配列や辞書、集合なども学びます。
  2. 計算力を体感する
    ・マインクラフトで学んできた3次元のベクトル空間を抽象化します
    マインクラフトは座標を(x,y,z)≡(横、高さ、縦)に対応させた空間です。
    これを(R,G,B)という色の空間に置き換えてお絵描きソフトを作ります。
    ・このように空間という概念を抽象化し、ハードウェアとソフトウェアの違いを体験します。
  3. 自動化を体感する
    ・ウェブスクレイピングを体験します。
    マインクラフトのプログラミングでは、よくブロックIDをインターネットで調べました。
    これを自動化します。
    ・調べた情報をCSVファイルという汎用的な形式で保存します。
    ・またパイソンで読み込める形式でファイルに保存して再利用性を考えます。
  4. データーベース
    ・スクレイピングしたデータをデーターベースにして管理します(RDBモデル)。
    ・SQLを簡単に紹介し、目的に応じてプログラミング言語が変わることを体験します。
  5. Webサーバーおよびアプリの開発
    ・データーベースを検索するアプリを3種類ほど作ります。
    ・コマンドラインのアプリ
    ・ブラウザで調べるアプリ(クライアント-サーバーモデル)
    ・Web-APIを使って調べるアプリ(REST-APIモデル)
  6. 人工知能
    ・詳細は企画中です。ここまで来るのに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

プログラミング言語って何? お勧めはどれ?

プログラミングに夢中な生徒の写真

こんにちは!塾長の松下です。

昨日の午前中は、ヒーローズ西春校に行ってきました!

この夏から西春校さんもプログラミング教室を始めます。その準備を手伝ってきました。いよいよ北名古屋市のみなさんもマインクラフトでプログラミングを学べるようになりますよ!
乞うご期待です!!

午後からは植田一本松校でいつも通りプログラミング教室をしました。生徒がミッションを早くクリアしたので、残り時間を自由にしました。やっぱり子供たちは溶岩とかTNTが大好き。「数千個のTNTを爆発させる」というプログラムを作って遊んでいました。

プログラミングに関係する国家資格

IT系の国家資格と言えば、次の3つを押さえておく必要があります。この順番にレベルアップします。

  1. ITパスポート
  2. 基本情報技術者
  3. 応用情報技術者

中でもプログラミングの技能を問われるのが「基本情報技術者」です。毎年多くの人が受験します。

基本情報技術者とは?

主にプログラムの設計、開発を行う技術者の知識や技量を証明する資格です。国家試験に合格するともらえます。英検で言えば2級くらいに相当します。

商業高校や工業高校では、高校2年生くらいから学校で受験を勧められます。普通科でも科学部やデータサイエンス部など、IT系に興味のある人ならチェレンジすることがあるでしょう。もちろん、通信系やIT系に就職したら、会社から受験を勧めらることが多いです。

【悲報】COBOLが消えました。今後はPythonで。

これに関して、少し前、今年1月24日に衝撃的なニュースがありました。

2019年秋期の試験を最後にCOBOL(コボル)が廃止されるというのでます。代わりに2020年春期からはPython(パイソン)になるそうです。情報ソースは情報処理推進機構によるコチラの発表です。

え、コボル?、パイソン?

という人も多いでしょう。COBOLやPythonはプログラミング言語の種類です。

プログラミング言語とは?

例えば、ブログは日本語で書きます。曲は音符で書きます。計算は数式で書きます。化学変化は化学反応式で書きます。このように、何かを書き表すとき、それに合った表現方法(言語)が存在します。

コンピューターも同じで、コンピューターを使う目的ごとに表現方法や文法があります。それがプログラミング言語です。たくさんの種類があり、目的に応じて使い分けられています。

ところが国家資格で使えるプログラミング言語は、たったの4つしかありません。

国家試験で使えるプログラミング言語

基本情報技術者の資格試験では、プログラミングの技能が問われます。自分の得意なプログラム言語を選択して受験することができます。ただし、その選択肢が4つしかありません。しかも来年からそれが変わります。

これまでは次の4種類でした。

COBOL、Java、C言語、アセンブラ言語(CASL II)から1つ選択

それが2020年の春から

Python、Java、C言語、アセンブラ言語(CASL II)から1つ選択

に変更されます。国家資格を取れる4つのプログラミング言語から、COBOLが姿を消し、Pythonが登場したのです。こえれは事実上、

「COBOLはもう古い。」「Pythonがメジャーになった。」

と国が認めたに等しいです。だからニュースなんですね!

上で挙げた5つのプログラミング言語について、それぞれの特徴を簡単に説明します。

  • COBOL: 大型コンピュータで経理や成績管理といった事務処理をするのが得意
  • Python: どのパソコンでも動き、科学技術計算や人工知能による情報処理が得意
  • Java: どのパソコンでも動き、操作画面やゲームを作るのが得意
  • C言語: OSの開発、機械操作のアプリ、高機能で高速なアプリの開発が得意
  • CASL: ハードウェア本来の性能を引き出すのが得意

私が大学生のころまでは、COBOLを使えれば就職に有利でした。大企業の多くが大型コンピューターを持っていて、それを使うために必要だったからです。ところが、ここ数十年でデーターベースの技術が一般化し、同時にパソコンの性能が飛躍的に良くなってしまい、大型コンピューターが不要になってしまいました。今ではCOBOLで仕事をしている人を、ほとんど見かけません。

プログラミング言語にも栄枯盛衰があるのですね。

マイクラミングを支えるプログラミング言語たち

ちなみに、私たちのプログラミング教室「マイクラミング」を支えるプログラミング言語たちは、次のようになっています。

  • JavaScript: スクラッチの機能を拡張する部分と、生徒がログインする画面の開発に使いました
  • Python: スクラッチとマインクラフトをつなげる機能の開発に使いました
  • PHP: 生徒がログインする画面のサーバー開発に使いました
  • SQL: 生徒情報などを管理する機能の開発に使いました

JavaScriptはJavaの縮小版です。ブラウザの中だけで動作します。PHPやSQLなど国家資格には関係ないプログラム言語が出てきましたね。プログラム言語はとても種類が多いのです。私はマイクラミングを開発するために、これら全てのプログラミング言語を勉強しました。勉強は一生続くのです。

ちなみにマインクラフトそのものはJavaで作られているそうですよ。

そして生徒の皆さんが使うプログラミング言語はScratch(スクラッチ)です。

Scratchの次はPythonかJavaを学ぼう

来年度から小学校で、更に年度から中学校でプログラミング教育が必須化されます。

おそらく多くの小学校では Scratch(スクラッチ)というプログラミング言語が使われるでしょう。今まで色々な学校現場で使われてきた実績がありますし、何より無償で使えるからです。

もちろん私たちのプログラミング教室「マイクラミング」もスクラッチです。小学2年生から高校生まで通っています。

しかし、残念ながら、この Scratch(スクラッチ)では国家試験を受験できません。国家試験はプロの能力試験なので、プロが使わない言語では受験できないのです。
ただし、民間の試験ならあります。Scratchで能力を試したければ民間試験でチャレンジしましょう。

スクラッチが得意なのは、あくまでも学校教育や趣味の領域です。ですから、スクラッチでプログラミングを練習したら「次のステップ」へ進みましょう。

Scratchの次のステップとしてお勧めなのは、Python(パイソン)またはJava(ジャバ)です。

どちらも無料で始めることができます。また解説書やインターネット上の情報が豊富で調べやすいです。

どちらかというと、理系の学生はPython、ゲーム制作などクリエイターになりたい人はJavaを学んでみるとよいでしょう。

ただし就職してからPythonやJavaを使うかどうかは分かりません。しかし1つのプログラミング言語に精通しておけば、他のプログラミング言語を学ぶのが簡単になります。プログラミング言語には共通する考え方が多いからです。

C言語やCASLはお勧めじゃないの?

C言語は文法が多くて細かいです。難しいというよりは、めんどくさいです。ちょっとした処理を実現するにも、何十行ものプログラミングが必要になります。
「こういう時はこう作れ」的な定石をたくさん覚える必要があります。そして後述する「オブジェクト指向」に対応するためにC++言語という拡張版も学ぶ必要があります。
歴史の長い言語なので学びが多い一方、書籍が多すぎてピンキリです。良書を探すのに苦労します。身近に知見者がいれば、聞くのが一番でしょう。
そんなこんなで、マスターするまでの道のりが長いです。
その代わり、マスターしたら超強力なプログラミング言語になります。その道のプロになると決めたら取り組んでみてください。

CASLはマイコンなどのハードウェアを使うためのプログラミング言語です。ハードウェアの知識が必要になりますから、これも初学者にはお勧めしません。また実際に何かを作ろうとするとCASLは使えません。ハードウェアのメーカーごとにプログラミング言語が違うからです。CASLは練習用の言語と割り切った方が良いでしょう。

オブジェクト指向を学べ

それから、プログラミング言語とは別に、「オブジェクト指向」という考え方を、しっかり学んでおくことをおすすめします。

オブジェクト指向は、人間が物事の構造や関係をとらえる様子を、整理したり正確に記述したりするための技術です。

現代のプログラミング言語のほとんどは、その根底にオブジェクト指向があります。大きなプログラムや複雑なプログラムを考える時ほど、オブジェクト指向が必須になってきます。ぜに学んでみてください。きっと頭の中がすっきりするでしょう。

まとめ

国家資格の「基本情報処理技術者」を受験できるプログラミング言語は4つしかありません。そして今年でCOBOLが廃止され、来年からPythonが追加されます。

来年から小学校で必須化されるプログラミング教育ではScratchが大活躍します。

しかし仕事でScratchは使えません。ステップアップにはPythonかJavaが塾長のおすすめです。

プログラミング言語と並行して「オブジェクト指向」を学ぶと良いでしょう。頭を整理するのに役立つ技術です。

 


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

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

なぜ小学生のプログラミングはスクラッチが主流なのか?

小学生にはスクラッチが良い理由

こんばんは!塾長の松下です。

プログラミング教室の認知度が高まってきました。
あと1年ですからね、小学校でプログラミング教育が必須化されるまで。

ところでお母さん、お父さん、「プログラミング教育」と聞いて、どんなイメージが思い浮かびますか?

もしも次のようなイメージだったら大きな誤解です。
それは10年以上も前の話しで、今は違います。

続きを読む

プログラミング教室のデモムービー

ヒーローズ植田一本松校と赤池校で開校したプログラミング教室!
デモの動画を作ってみました。

本日は赤池校で中学生の体験生が来てくれます。
明日は植田一本松校で高校生のプログラミング教室です。

スクラッチでマインクラフトがこんな風になっちゃいます。
ここまで発展できるプログラミング教室は、なかなか他にはないですよ。

楽しく!
高度に!!
クリエイティブに!!!

そんな教室の雰囲気が伝わればうれしいです。

小学生、中学生、高校生、オールOKです。

Scratch!
Minecraft!

そして

Python!

論理的思考力、数学的思考力、空間把握力・・・

教育用語で言うと難しそうですが、楽しく自然に身につきます。
個別指導の学習塾だからプログラミング教育必須化のツボも押さえてますよ。

ぜひどうぞ!