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

マイクラ

マインクラフト「プログラム」と「コマンド」の違いとは?

プログラムとコマンドの区別

宇宙とコンピューターが好きな塾長です。

マインクラフトのプログラミング教室をやってきて、今年で4年目くらいです。

プログラミングとは何か?

まだまだ、これを説明する必要性があるのですが、ちょっとした課題も感じています。
みなさんは

「コマンド」と「プログラム」の区別

言えますか?

作業頭になっている危険性

マイクラのコマンド。
Windows のプロンプトのコマンド。
何かのゲームで裏技的に使うコマンド。

そのようなコマンドを「打つ」ことが「プログラミング」なのだと思い込んでいる人たちがいるのです。

もちろんプログラミング経験が無くて何だかわからずにそう思うのは仕方がありません。
知らないで、あてずっぽうに想像しているだけならば問題ないです。

問題なのは、プログラミングを経験してもなお、そう思い続けている人たちです。

何が問題かと言えば、

「作業頭」

になってしまっていることです。
「作業」は必要なことですが、多くの場合は工夫して、減らしたり無くしたりできます。
それをせずに、ただ同じ作業を繰り返すだけ、つまり考えることを放棄している状態を

「作業頭」

と私は呼んでいます。
創造力を発揮するのとは逆の意味です。そうなっている危険性があります。
ゲーム依存症の人たちに多いです。

「めんどくさい」

が口癖です。
工夫をしないし、考えることを拒むので、
傍から見ると、面倒な行動をわざわざ好んでやっているように見えます。

そういう人たちに「プログラミングの良さ」を伝えるのって、すごく難しいんですよね。

どうしたら伝わるのか。

それが最近感じている課題です。

コマンドとプログラムの区別がつかない子供や大人たち

私のプログラミング教室ではマインクラフトを使っています。
プリンターやディスプレイの代わりです。

プログラミングの結果が真っ黒な画面に表示されても、何も面白くありません。
だから結果の表示先をマインクラフトにしているワケです。

そのマインクラフトには「コマンド」と呼ばれる機能があります。

詳細はあとで説明しますが、そのコマンドをプログラムだと勘違いしている人をたまに見かけます。
お子さんだけではなくて、大人でも勘違いしている人がいます。

なぜ区別できないとマズイのか?

初めての人なら、この勘違いは仕方がありません。
「あるある」です。

しかし、ずっと勘違いしたままではマズイです。

特に、社会人でこの区別がつかないのは、かなり深刻です。
「作業」と「仕組み」の区別がついていないってことです。

生産性に直結します。

マイクラの豆腐建築で考えてみる

ここでマインクラフトのコマンドについて少し説明します。

例えば、下のような豆腐建築を考えてみます。
1辺が5ブロックの立方体で、中をくり抜いただけ。そういう単純な建築です。
(マイクラの世界では直方体の単純な建て物のことを豆腐建築と呼ぶそうです)

豆腐建築

普通に作業するなら、プレイヤーはブロックを1つ1つ置いて建築します。
1辺が5ブロックの大きさなら、必要なブロックの数は82個です。

これを1つ1つ置いて建築を進めます・・・めんどうですね。

そこでコマンドを使えば、たった3行です。

① コマンドで豆腐建築

/fill ~1 ~ ~1 ~5 ~4 ~5 stone
/fill ~2 ~ ~2 ~4 ~3 ~4 air
/fill ~3 ~ ~1 ~3 ~1 ~1 air

この例ではマイクラのfillコマンドを使っています。
fill コマンドは「2つの座標を対角とする直方体」を石や空気で埋めつくしてくれます。
(高校数学で習う立体空間の座標ですから、少し慣れが必要です。塾生は小学生でも理解しています。)

そして紛らわしいことに、プログラミングでも同様に3行です。

② プログラムで豆腐建築(スクラッチの場合)

マイクラ豆腐建築_スクラッチ

やっていることはfillコマンドと一緒です。
ちなみに、Pythonでプログラミングすると、こうなります。

③ プログラムで豆腐建築(Pythonの場合)

mc.setBlocks(1,0,1,5,4,5,1,0)
mc.setBlocks(2,0,2,4,3,4,0,0)
mc.setBlocks(3,0,1,3,1,1,0,0)

おやまぁ。

コマンドとプログラム。
①も②も③も、確かに似ています。
結果も同じ。

  • コマンドもプログラムも形が似ている
  • 手数も同じ
  • コマンドもPythonも英語で、なんか上級っぽい

これだけ共通していれば、勘違いしてしまうのも無理がありません。
でも口を酸っぱくして言わなければなりません。

全く違います!

コマンドは「作業」ですが、プログラムは「仕組み」です。

逆に、この2つの違いが言えるようになることが

プログラミングって何?

を理解する第一歩なのかもしれませんね。

コマンドとプログラムの違いを挙げてみよう!

コマンドもプログラムも、コンピューターに命令を与える点では同じです。
ですから、コマンドをいくつも実行していけば、プログラムと同じ結果を得られます。

しかし、コマンドは実行したら終わりです。
そこで消えてしまいます。

上の豆腐建築で考えてみましょう。

建物が壊れたり、ワールドを作り直したりした後で、また豆腐建築をやり直すとしましょう。
そうなると、また3行のコマンドを打ち直す必要があります。

コマンドは消耗品です。
同じことを10回するためには、同じコマンドを10回打ちなおす必要があります。
そして打ち直す回数が増えればミスの回数も増えますし、時間も体力も消耗します。

プログラムであれば、実行ボタンを押すだけです。
最初よりも2回目以降の方が、むしろ楽です。
回数が何回に増えようが、人間の行動は1回であることに変わりありません。

もっと複雑で大きな作業になったらどうでしょう。

豆腐建築を5軒×4列=20軒で並べて村を作りたい。

つまり、こんな村を作るならどうでしょうか。

豆腐建築の村

コマンドであれば1軒で3行ですから、3行×20軒=60行を打ち込む必要があります。
やってられません。

プログラミングならこうなります。

マイクラ豆腐建築の村_スクラッチ

やっぱり

豆腐建築を10軒×10列=100軒で並べて町を作りたい。

などと気が変わっても、プログラムならすぐ対応できます。

「4回繰り返す」「5回繰り返す」をともに「10回繰り返す」に変更するだけです。

あるいは、

建物の色を1軒1軒変えたい。

となったらどうでしょうか。

豆腐建築の村_カラー

コマンドの場合は、大量かつ複雑になります。
しかしプログラムならば1行の修正で済みます。

マイクラ豆腐建築の村_カラー_スクラッチ

このように、やることが複雑になるほど、大規模になるほど、プログラムは威力を発揮します。

プログラムがコマンドより優れている点

コマンドの限界はすぐに感じます。例えば

  • 「似たような作業をたくさんやる」
  • 「少しずつ変えて実行する」
  • 「他の人に同じことをやってもらう」
  • 「複雑な作業を組み立てる」
  • 「少しずつノウハウを蓄積する」
  • 「蓄積したノウハウを他の人に渡す」

などなど。
やるたびに消えてしまうコマンドでは、こうしたことができません。

そういう時こそプログラムの出番です。

プログラムがコマンドよりも優れている点をまとめるとこうなります。

  • 再利用できる
  • 複雑なこともできる
  • 大量の作業もできる
  • 速く正確にできる
  • 人に渡せる
  • 蓄積できる
  • 改良できる

これを一言でまとめると、

プログラムは「仕組み」

です。
一方、コマンドはその場その場で終わってしまいます。
結果を得ることはできますが、その場限りの成果です。

コマンドは「作業」

だと言えます。

仕組みを作れるプログラミングの方が、作業の効率化や発明につながるというワケです。

未来を考えるからプログラミングの価値が出る

マインクラフトはゲームですから、一瞬また一瞬を、刻々と楽しむものです。

今さえ良ければ満足

という感覚の連続です。
そもそもゲームってそういうものです。

ですから、ゲーム操作のほとんどは、その場限りの操作です。
その場限りの行動とその場限りの満足。
とても本能的です。

しかし、未来のことまで考え出したらどうでしょう。
マインクラフトの世界に「未来」を加えると、状況が変化してくるわけです。

  • もしかしたら、また同じことをやるかもしれない
  • もっと速く便利にしたい
  • 他の人もできるようにしたい

このような想像力を働かせたときに、初めてコマンドの限界を感じるようになります。
そこでプログラミングの出番になるワケです。

人間と動物の理性を区別する1つが「未来」を考えられるか否かだそうです。

  • 将来に備える
  • 複雑なことを簡単に実現する
  • 人と協力する
  • 社会に貢献する

こうした未来志向の欲求に応えるのがプログラミングです。

そして未来志向が強くなるほど、プログラミングの価値がよく分かるようになるでしょう。

ゲーム操作をプログラミングするのはムダ

逆に1回しかやらないことであれば、プログラミングのメリットはほとんどありません。
1回しかやらないのですから、コマンドを3行打つことも、プログラムを3行書いて実行することも、同じです。
むしろコマンドの方が楽かもしれません。

同じように、たとえば、

  • モンスターをスポーンさせる
  • プレイヤーを動かしてゲームを進める

などといったゲーム操作をプログラミングしたところで、何の価値もありません。
子供たちにとっても、何も面白くないでしょう。
そもそもゲーム操作の多くは1回1回の使い捨てだからです。

ゲーム操作をプログラミングするなんて、やらない方がましです。
純粋にゲームとして楽しんだ方が良いと思います。

ですから当然、マインクラフトのプログラミングを「ゲームの自動化」だと思っている限り、プログラミングの価値は理解できません。

マインクラフトに未来志向を持ち込むからこそ、プログラミングの必要性が発生します。

まとめ

未来志向が無ければ、コマンドとプログラムの区別がつきません。

  • 目の前の作業をこなすだけのコマンド
  • 未来の仕組みをつくるプログラム

この違いが本当に分かっていることが大切だと思います。

マインクラフトをプログラミングで使うなら、ぜひ仕組みを作りましょう。

1回しかやらないゲーム操作をプログラミングしても、面白くないし、価値がありません。
それでコマンドとプログラムの区別がつかなくなるなら、なお悪いです。

ゲームはゲームで楽しみましょう。
プログラムをつくるなら、ぜひ「仕組み」をつくりましょう。

そして普通では味わえないようなマインクラフトの世界をどんどん創造して欲しいと思います。

その経験は、やがて社会の仕組みをつくり変えたり、社会の問題を解決したりする力になるでしょう。

 


進学実績

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

国公立大学

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

私立大学

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

公立高校

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

私立高校

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

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

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

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

 


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

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

友だち追加


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

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

友だち追加

 


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

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

マイクラで土星と衛星タイタンをプログラミングしてみた

マイクラで土星をプログラミング

塾長です。

土曜日のプログラミング教室。
ある小学生のパソコンを見せてもらうと、マイクラの世界に土星が浮かんでいました。
自宅でプログラミングしてみたそうです。

何を作りたい?

昨年は名古屋市科学館のプラネタリウムをプログラミングした生徒もいました。建物に入ると、ちゃんと夏の大三角形が見えたりしましたっけ。

他にも、ポケモンの「ポットデス」やフォートナイトの「ラマ」。アニメやゲームのキャラは人気ですね。

プール付きの巨大なホテルを作った生徒もいました。海外の有名なホテルで、一度は行ってみたいそうです。

もちろん、世界のどこにも無いような空想の建築をする生徒だっています。

そして先週は土星でした。

「しまった、写真を撮るの忘れていた・・・」

ということで、ちょっと今からマイクラの世界に土星をプログラミングしてみましょう。

土星のプログラム

こんな感じで再現してみました。
マイクラの世界の夕日をバックに土星。ちょっとスターウォーズっぽいでしょ。
ついでに衛星タイタンも描きました(写真の左に浮く1ブロック)。

マイクラで土星と夕焼け

プログラムは小学生にもできます。
マイクラミングの「球を描く」命令と「円を描く」命令を使いました。
こんな感じです。

土星のプログラム

土星は本体も輪も茶色系なので、木材ブロックをつかいました。オーク、マツ、シラカバ、ジャングルの4種類の木材です。
それだけでは寂しいので、衛星タイタンもつくりました。

といっても、土星に比べてタイタンの直径は50分の1ちょっと。ほんとうは1ブロックにも満たないはずですが、今回は砂岩の1ブロックで表現しました。
タイタンの軌道も本当はもっと土星から遠いはずですが、これも写真映えするように近めに設定。

宇宙を本当の縮尺比で描いてしまうと、スカスカ過ぎて写真映えしませんし、紙に描くことも不可能になります。
このあたりは先のブログ「中3生の難問「理科の天体問題」を宇宙大好きな塾長が解説」をご参考にしてくださいませ。

衛星タイタンが土星の周りを公転するプログラム

さて、タイタンは土星の周りをぐるぐる回っています。
しかし上で作ったマイクラのタイタンは、静止しています。

このままでは土星に墜落してしまい、たいへんです!

ということで、ぐるぐる公転するように動きをシミュレーションしましょう。
と言っても、スピードの比率などは適当です。今回は雰囲気だけです。

土星の衛星タイタンのプログラム

こんなプログラムを作って実行すれば、土星の周りをタイタンがぐるぐる回り始めます。
今回は1秒間に3.3度ずつ進みます(1周に約108秒かかります)が、本当はもっともっとゆっくりです。これも実物の比率で作ると眠くなってしまうので、映えるスピードにしてあります。

さて、「円軌道で動かす」というプログラミングの部分で、とうとう悪名高きsinθとcosθが出てきてしまいました。

とはいえ、座標を理解している小学生であれば、そう極端に難しいプログラミングというワケではありません。なぜなら、

半径1の円について、

  • cosθ: 角度θからx座標を教えてくれる関数
  • sinθ: 角度θからy座標(今回はz座標)を教えてくれる関数

という使い方だけ分かればよいのですから。
そういう物だと受け入れて、道具として使ってしまえばプログラミングが可能になります。

中学生なら、さらにハードルが低く感じるでしょう。
そして高校生なら、sinθとcosθ を習っています。「単位円」の発想でそのままプログラミングができます。

土星

あらためて、土星について。

土星は皆さんご存じですよね。太陽系で6番目の惑星です。
直径が地球の9倍もある巨大なガス惑星です。

教科書では中学3年生の理科で習います。

そして望遠鏡で見せたとき、やっぱり土星が一番人気です。

なんといっても輪が印象的です。

「あ、本当に輪がある!」

模様ではなく形が違う。明らかに変な形。だから一目瞭然。

火星や木星を見せても、リアクションが薄いです。
星雲や星団に至っては「よく見えない」とちょっと残念そう。

そういう時は、土星を見せればリアクションがとれます。

※ 天体望遠鏡の観察には慣れが必要です。

大気のある衛星タイタン

12月はテスト対策期間中に

「衛星」って何ですか?

という質問を受けました。

  • 太陽(恒星)の周りを回っているのが惑星
  • 惑星の周りを回っているのが衛星

例えて言うなら、

  • おじいちゃんの子供がお父さん
  • お父さんの子供がキミ

みたいな階層。
はい、そこで「おばあちゃんは?」とか「お母さんは?」とか言わない。
宇宙のお話しってことで。

そしてタイタンは土星の衛星です。

土星には80個以上の衛星があります(発見されるたびに増えていきます)。
その中でタイタンが最大の衛星です。
大きさは水星と火星の間くらいです。サイズだけなら惑星でもおかしくないです。

しかも、

  • 大気がある
  • 雨が降る
  • 山や川や湖がある

という特徴があります。

しかし分厚い大気に隠されて、地上の様子がよく見えません。

宇宙生命体とか、いそうじゃないですか?

探査機カッシーニとホイヘンス

NASA(アメリカ航空宇宙局)は、1997年に探査機「カッシーニ」を打ち上げました。カッシーニは2004年に土星に到着しました。

カッシーニには小型の探査機「ホイヘンス」が搭載されていました。ホイヘンスはタイタン着陸船です。

土星に到着してから半年後、タイタンにホイヘンスが投下されました。
ホイヘンスはパラシュートを開き、タイタンの大気中をゆっくりと下降していきました。
そしてついに、人類は初めてタイタンの地上の様子を動画で見ることに成功したのです。

その映像がこちらです。

タイタンの大気は、地球よりも厚く、気圧は1.5倍もあります。
しかし、大気の主成分は窒素で、次にメタンや水素が含まれています。酸素はありません。

気温はマイナス179度。タイタンの世界では、メタンが水の代わりだそうです。
メタンの雲ができて、メタンの雨が降る。そしてメタンの川が流れてメタンの海ができる。

こんな極寒の世界に生命がいるとしたら、水の代わりにメタンを使う生き物なのかもしれないとか。

次にNASAは、タイタンにドローンを飛ばして調査する計画があるそうです。
それが次の動画です。

楽しみですね。

教科書は何ページまで厚くなり続けるのか?

マイクラを使ったプログラミングでは、次のようなことが日常的に起こります。

  • 中1で習う「マイナスの数」を小学1年生や2年生が使いこなす。
  • 高2で習う「空間座標」はマイクラでは常識。
  • sinθやcosθでさえも小学生や中学生が使ってしまう。

みんながそうなるとか、そうならなければいけないとか、そういうのは重要ではありません。
「それぞれが、成りたいようになる」
のが重要です。

パソコンなどコンピューターを使えば、理屈よりも体験が先に来ます。
それぞれがそれぞれに思いついたことから、学習がどんどん加速します。
みんな同じである必要はありません。

この先、まだまだ人類は多くの知識を獲得していきます。
そうすると学校の教科書も、どんどん厚くなっていきます。

そうなれば、いつか

「こんなにたくさん学校で教えられない!」

という状態がやってきます。
いや、すでに一部では、そうなり始めています。

ですから、コンピューターをどんどん活用して、中身を「ブラックボックス化」したり、授業を「圧縮」したりしていく必要があると思います。

  • 習ってないから使ってはいけない
  • 理解してないから使ってはいけない

そんな意地悪を言う必要はないはず。

実現したいから、そのために何をしたらよいかを、今すぐに知りたくなる。
その方が大事です。

  • 中身はよく分からないけど、使い方は知っている。
  • 理解は後からついてくる。

もともと勉強には、そういう順番で体得するものが多いですからね。

そうしなければ、本当に教育がパンクしてしまいますよね。

「まだ習ってない」とか「数学が難しい」とか、そういう平均的な感想は関係なくなっていくでしょう。

知識を「理解する」ことよりも先に、「使う」「体験する」ことの方が来てしまう逆転現象。
コンピューターの登場で、そういうケースがますます増えるでしょう。
そういうことが簡単にできるようになってきました。

何をどういう順番で学ぶかなんて、自由でOKです。
人と違うことは良いことだと、互いに認めていく必要があります。

 


ヒーローズ植田一本松校の進学実績

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

国公立大学

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

私立大学

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

公立高校

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

私立高校

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

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

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

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

 


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

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

友だち追加


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

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

友だち追加

 


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

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

【塾長の独り言2】小学生や中学生にプログラミングさせても無意味!?という誤解がなぜ日本には根強いのか?

なぜプログラミング教育は誤解だらけ?

塾長です。

2020年度から実施されるプログラミング教育が目の前に迫ってきました。それなのに、今だに「そんなの意味あるの?」という疑問の声を聞くことがあります。もちろん多くは「誤解」からくるご意見です。今回はその誤解の正体について語ります。

解説動画の方が良い方は下のYouTubeでどうぞ。

【塾長の独り言2】小学生や中学生にプログラミングさせても無意味!?という誤解がなぜ日本には根強いのか?

(※)動画を撮った後で気付いたのですが、「黒歴史」と「ブラック企業」の2つの「黒」で話しがまとまっている気がするのは偶然です。たまたまで、他意はありません。何はともあれ、誤解が解けて日本のプログラミング教育が正しい形で盛り上がることを願います。

 

子供にプログラミングなんて習わせてどうするの?

最初に政府がプログラミング教育をうたったとき、賛同の声よりも、むしろ批判の声が高まりました。多くの人が誤解し、そして混乱したからです。私が思うに、その混乱の原因は2つあります。

日本人の誤解

  1. 日本ではプログラミング教育で失敗した黒歴史があるから
  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位の数」 に 「小数」の小数第1位を代入しろ
もしも 「少数第1位の数 」が4以下 ならば
「整数部分」を表示しろ
そうでなければ
(「整数部分」+1)を表示しろ

しかし、もっと簡単な方法があります。

「整数部分」に(「小数」+ 0.50 )の整数部分を代入しろ
「整数部分」を表示しろ

これなら、たったの2行です。工夫すれば1行にもできます。注目すべきは小数第一位について「四捨」と「五入」で場合分けする必要がないところです。コンピューターで遅い処理の1つが場合分けです。これが無いのは大きいですね。

これがアルゴリズムを考えるということです。そして本来はアルゴリズムも「プログラミング教育」に入ります。むしろアルゴリズムの方が大切です。

「目的」と「手段」を分けて考える発想を養う

上で見たように、コンピューターを使いこなすということは、目的と手段を分けて考えることに他なりません。

「四捨五入を求める」という目的の実現方法は何通りも考える事ができます。視野を広げるほど、いろいろな手段が思いつきます。
そして上の例題では、たまたま「小数第1位を」四捨五入する条件だったので「0.5を足す」という短い計算方法が選択できたわけです。

プログラミング教育では、次のような取り組みを体験させる狙いがあります。

  • 答えが1つに定まらないような問題にチャレンジする。
  • 試行錯誤で最適解を見つける。

難問に対して「無理だ」と即答しては何も生まれません。正解が1つという発想を捨て、今できる最大限の答えを見つける発想を変えれば、できることが生まれます。そのように視野を広げて、手段を何通りも並べて、何度も試しながら、最適解を導いていくこと大切なのです。

またそのために、国語、算数、理科、社会、英語や美術、技術などの素養が必要です。逆に、勉強したことを使おうとするから身に着きやすくなる、という側面も出てくるでしょう。

今こそ理系的なプログラミング教室が必須!

ですから「ただ図面を見ながら組み立てるだけ」みたいなプログラミング教室には、絶対にしたくありませんでした。
また、時代や流行りに依存するような専門知識を詰め込んでも、価値がないと思いました。

かつて高校生がBASICというプログラミング言語を習わされて、それでセンター試験も受験しました。しかし今やBASICを使う最先端の仕事など、ほとんどありません。高校までの学校教育において、特定のプログラミング言語の用語や文法を覚えさせても意味がないのです。時代に合わせた職業訓練は専門学校の仕事です。
第一、みんながプログラマーになるわけではありません

そして実際のところ、「組み立てるだけ」とか「職業訓練の簡易版」のような小中学生向けのプログラミング教室が多いです。私はそういうプログラミング教室を教育とは見なしていません。もちろん趣味と割り切れば良いですが、私は少なくとも自分の子供にそれをやらせようとは思いません。

そうではなく、もっと根本的に、生徒たちの血肉になるような活動にしたいと思いました。
理数系の頭脳や論理的な思考力を、ちゃんと伸ばす活動にしたいと思いました。

知らないうちに、高度な数学的なセンスや図形のセンスが身に着いている。
知らないうちに、創造する喜びが体験できている。

そんなプログラミング教室にすべきだと思いました。

だから、もう自分でプログラミング教室を作るしかなかったのです。

マイクラミング

本来のプログラミング教育は、偏った専門知識を覚えさせたり、特定の技能を訓練するものではなく、子供たちが問題に立ち向かう基礎力を育てるものです。

マイクラミング」は、そんなプログラミング教室になっています。そうなるように教育改革後の学習指導要領をにらめっこしながら作りました。子供たちの頭を良くするために塾長が自ら開発!しました。

そして、テキストは本厚木校の髙橋先生にお願いして、小学生にも親しみやすい構成にしてもらいました。「プロボン」というキャラクターも生まれました。ありがとうございます。

生徒たちは、パソコンやプログラミングの専門用語なんて、ほとんど覚えません。いち早く課題を解決することやマインクラフトで建築を「創造」することに没頭できるようになっています。試行錯誤が大切なのであって、専門知識の暗記をしたいわけではないからです。

それでいながら、小学1年生がマイナスの数を理解し、計算もできるようになります。それどころか、高校2年生の空間ベクトルで習うはずのxyz座標を、小学生が理解して、使いこなしています。そのような数学の知識を活用してプログラミングを楽しんでいます。
そして、マインクラフトの世界に多くの魔法をもたらしています。

小学1年生でも取り組めるジュニアコースから、三角関数やデータ処理を扱うハイコースまで用意しました。実際ヒーローズ植田一本松校プログラミング教室には、小学1年生から高校3年生まで広い層が在籍しています。

日本人の「プログラミング」に対する誤解がちゃんと解けて、正しいプログラミング教育が、もっともっと盛り上がっていくことを願うばかりです。

まずは近隣の方から、ぜひお立ち寄りくださいませ。

 


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

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

塾の先生が作った頭が良くなるマイクラのプログラミング教室

マイクラ×Scratch3.0

塾長です。

私が開発したプログラミング教室の「マイクラミング」。PTA新聞に掲載するなどして本格的に生徒募集を始めてから約1年。色々な方から色々な形でご支援をいただきながら、お陰様でもうすぐ全国50教室になります。2020年度からプログラミング教育が必須化されますから、もっともっと広げていく必要があります。

なんでこんなに人気なのか。生徒たちや保護者さまたちにお聞きすると、やっぱりマインクラフトだそうです。マイクラミングでは、ForgeやModが利用できるフル機能のマインクラフトをそのままプログラミングすることができます。プログラミング専用のへぼいマインクラフトではなくて、Java版でできる。そんなディープな知識をどこで身に着けるのか分かりませんが、とにかく子供たちは、そういう拡張性が好きみたいです。しかも最新のスクラッチ3.0でプログラミングできるのは、今のところ世界で「マイクラミング」だけです。

ということでマイクラミングで実際にプログラミングをしている様子を、そのまま解説動画にしました。ご覧くださいませ。

【マイクラ】スクラッチ3.0でプログラミングってどうやるの!?実況中継でお見せします。教育改革対応!無料版で遊べます!

 

無料版で遊ぶ

無料版のインストール方法は、こちらのブログをご覧くださいませ。パソコンを設定するスキルが少し必要です。

スクラッチ3.0で始めるマインクラフトのプログラミング
https://mana-viva.jp/mana-viva/2019-01-08-scratch30-micraft

※ インストールや設定は全て自己責任でお願いします。
※ インターネットからソフトウェアをダウンロードして、指定のフォルダにインストールする作業が必要です。
※ 無料版についてのお問い合わせはお受けいたしませんので、あらかじめご了承くださいませ。

 

謝辞

SENSHIN社 EIJI KURAMOTO代表のブログ

マイクラミングのフリー版について、SENSHIN社さんのブログ内で詳細に取り上げていただきました。ありがとうございます。
インストールの仕方やプログラミングの実況動画まで、読みやすく親切に書かれています。お勧めです!

Scratch3.0【スクラッチ】マインクラフトを動かしてみた
https://ssit.jp/scratch3-minecraft/

 

T Umezawa さんの動画

動画の中で JavaプログラミングとScratchプログラムの違いを説明するために、T Umezawa さんの動画を紹介させていただきました。
Java でプログラミングを始めたい方は、こちらがお勧めです。

【Java】ゲームプログラミング超入門 Part01
https://youtu.be/FsRHdL_r0pE?list=PLJ86MSrhnFKVQPf-E8y0FZKv7uzR4L4Dt

 

 


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

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

なぜプログラミング教室は小学生からなのか?

幼稚園児のイラスト

塾長です。おはようございます。

夏期講習、面談、体験授業などで忙しくしていたら、すっかりブログを書かなくなっていました。先日の面談で、お母さまから「ブログ読みました」と言われて思い出しました。ありがとうございます。

さて「プログラミング教室は何歳から?」についてお答えします。よく聞かれます。

続きを読む

プログラミング教室のパソコンをパワーアップしたよ

ノートパソコンのメモリ増設をしている写真

マイクラミング開発者で元エンジニアの塾長です。エンジニアだったのは、もうかなり昔の話ですが。

さて、このゴールデンウィーク前後で、プログラミング教室の環境をパワーアップしました。
生徒にとって、より使いやすい環境にしました。
それで今年の連休は半分仕事でした。

「部活ばっかりで連休はありませんでした。全く楽しめませんでした。」
「僕と一緒だね。」

連休明けは、高校生の生徒とそんな会話で始まりました。

続きを読む

理系パパ・ママから子へ贈るプログラミング環境の構築講座!

マイクラ×Scratch3.0

ゴールデンウィークが始まりました。塾長です。

今日からオフ、普通のパパに戻ります。
ゴールデンウィークと言えば、2年前に息子のためにプログラミング環境を構築して、一緒に遊んだ記憶があります。同じようなことを考えている理系パパのために、実は、

スクラッチ3.0  + マインクラフト

という、子供にとって最強で無双の遊べる環境を無料で公開しています。パソコンが触れるパパ向けです。

「スクラッチ3.0で始めるマインクラフトのプログラミング」

https://mana-viva.jp/mana-viva/2019-01-08-scratch30-micraft

Googleで調べた限りでは、今のところ世界で初です。ここだけです。最新版の「スクラッチ3.0で」マインクラフトのプログラミングがここまでちゃんとできる環境は。しかも無料。

どんなものなのか、インストール方法からサンプルプログラムまで、ひととおり載せていますので、良ければご覧くださいませ。

続きを読む

プログラミング教室の体験会 今日も楽しかった!

マイクラミングのサムネイルです

木曜と土曜が満員になったので定員を増やします

本日も小学生向けにマイクラミングの体験会(定員2名)をしました。
わざわざ隣の学区から姉妹でお越しいただきました。

「マイクラはよく知っているけど、パソコン操作は初めて」

とのこと。
いざ体験してみるとパソコン操作は直ぐにこなせました。
高学年だけあって、のみ込みが早いです!

お父さまもお母さまも一緒になってプログラミングを楽しんでいただきました。
「僕もやりたいくらいです。」
とお父さまからお墨付きをいただいて、姉妹そろって2月から受講スタート!

これで土曜日の14時台が満員御礼になりました。
木曜日も満員です。

先週の体験会で「土曜日は午前中もやって欲しい」とご要望をいただきました。
ということで、そろそろ他の曜日や時間帯も拡大していきます!

マイクラミングの短いデモ動画を作りました

デモ用に動画を短くしました。

あと、YouTubeのカスタムサムネイルの使い方を覚えました。
やっとYouTubeの投稿の仕方が分かってきましたよ。
プログラミングの方が簡単に思えます・・・。

小学2年生が開眼し始めた!

木曜日に来ている小学2年生の男の子が急成長してきました。
最初のうちは、座標やマイナスの数を使いこなすのに苦労していました。

でも今では、自分で図面を描いて、座標を決めて、勝手にプログラミングしていきます。

スゴイ!

村人もびっくり

村人もビックリです。

最近では、繰り返し処理やタイマー処理も覚えてきました。

座標やマイナスの数をプログラミングで使いこなすうちに、物事を数字に置き換えて考えることができるようになってきたんですね。
将来が楽しみです。

 


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

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

――――――――――――――――――――――
個別指導ヒーローズ 赤池校
〒470-0125
日進市赤池1丁目3002 福岡ビル2F
TEL:052-808-0552

教室の様子(360度カメラ) http://urx.blue/HCge

なぜプログラミング教育で頭が良くなるのか

マイクラミング_授業中

プログラミングで論理的思考力、問題解決力が鍛えられると言われます。
どういうことかイメージするために、ちょっと次の問題を考えてみてください。

「ボタンが押された」を使って「ボタンが放された」を作ってください。

こんなことばかり考えるのがプログラミングです。
そしてこれが問題解決力につながる理由について考えます。

続きを読む