うちの教室でやっているプログラミング教室「マイクラミング」。私が開発したオリジナルのコンテンツですけれども、今や全国で使われています。最初の開発から5年以上たちました。忘れないうちに開発した理由を残しておこうと思います。マイクラミングが他のプログラミング教室とまったく違うのか。そこを分かっていただけたら嬉しいです。卒塾生(進路が確定するまで在籍していた生徒)が入学した学校の一覧です。ちなみに合格実績だけであれば更に多岐・多数にわたります。http://urx.blue/HCgL2021.03.25マインクラフト「プログラム」と「コマンド」の違いとは?宇宙とコンピューターが好きな塾長です。マインクラフトのプログラミング教室をやってきて、今年で4年目くらいです。プログラミングとは何か?まだまだ、これを説明する必要性があるのですが、ちょっとした課題も感じています。言えますか?作業頭になっている危険性マイクラのコマンド。プロンプトのコマンド。何かのゲームで裏技的に使うコマンド。そのようなコマンドを「打つ」ことが「プログラミング」なのだと思い込んでいる人たちがいるのです。プログラミング経験が無くて何だかわからずにそう思うのは仕方がありません。知らないで、あてずっぽうに想像しているだけならば問題ないです。問題なのは、プログラミングを経験してもなお、そう思い続けている人たちです。「作業頭」になってしまっていることです。「作業」は必要なことですが、多くの場合は工夫して、減らしたり無くしたりできます。それをせずに、ただ同じ作業を繰り返すだけ、つまり考えることを放棄している状態を「作業頭」と私は呼んでいます。創造力を発揮するのとは逆の意味です。なっている危険性があります。ゲーム依存症の人たちに多いです。「めんどくさい」が口癖です。傍から見ると、面倒な行動をわざわざ好んでやっているように見えます。いう人たちに「プログラミングの良さ」を伝えるのって、すごく難しいんですよね。それが最近感じている課題です。コマンドとプログラムの区別がつかない子供や大人たち私のプログラミング教室ではマインクラフトを使っています。プリンターやディスプレイの代わりです。プログラミングの結果が真っ黒な画面に表示されても、何も面白くありません。結果の表示先をマインクラフトにしているワケです。そのマインクラフトには「コマンド」と呼ばれる機能があります。詳細はあとで説明しますが、そのコマンドをプログラムだと勘違いしている人をたまに見かけます。お子さんだけではなくて、大人でも勘違いしている人がいます。区別できないとマズイのか?初めての人なら、この勘違いは仕方がありません。勘違いしたままではマズイです。社会人でこの区別がつかないのは、かなり深刻です。「作業」と「仕組み」の区別がついていないってことです。マイクラの豆腐建築で考えてみるここでマインクラフトのコマンドについて少し説明します。下のような豆腐建築を考えてみます。1辺が5ブロックの立方体で、中をくり抜いただけ。(マイクラの世界では直方体の単純な建て物のことを豆腐建築と呼ぶそうです)普通に作業するなら、プレイヤーはブロックを1つ1つ置いて建築します。1辺が5ブロックの大きさなら、必要なブロックの数は82個です。これを1つ1つ置いて建築を進めます・・・めんどうですね。そこでコマンドを使えば、たった3行です。airこの例ではマイクラの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)おやまぁ。コマンドとプログラム。1も2も3も、確かに似ています。コマンドもプログラムも形が似ている手数も同じコマンドも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回しかやらないゲーム操作をプログラミングしても、面白くないし、価値がありません。それでコマンドとプログラムの区別がつかなくなるなら、なお悪いです。ゲームはゲームで楽しみましょう。プログラムをつくるなら、ぜひ「仕組み」をつくりましょう。普通では味わえないようなマインクラフトの世界をどんどん創造して欲しいと思います。(進路が確定するまで在籍していた生徒)が入学した学校の一覧です。お友達登録はこちらLINE登録するとプレゼントがもらえます!【会員限定】お子様の成績と可能性を伸ばす18個のノウハウ塾関係者様のお友達登録はこちらLINE登録するとプレゼントがもらえます!「zoomで簡単。めは教室で合格だるまの「目入れ」から塾長です。今日から教室が再開です。2020年も引き続き、よろしくお願い致します!!仕事初めはもちろん「合格だるま」の「目入れ」からです。いっても、塾長が教室で秘かに行う儀式みたいな感じです。生徒たちの学業成績のアップと受験生の合格祈願を念じながら、新鮮な気持ちと引き締まる思いで目入れを行いました。高校受験も大学受験も、まだまだこれからです!さて、これで生徒たちが教室に来る準備が整いました。本日の受業は17時から。その前に、自習とプログラミング教室の生徒たちが教室にやってくる予定です。お、もうそろそろですね。それでは、2020年もヒーローズ植田一本松校スタート!!そうそう、合格祈願と言えば菅原神社ですね。菅原道真を祭っている神社は、この近辺では上野天満宮になりますね。距離がありますので、車で行く必要があります。近隣の生徒さんたちで、合格祈願がまだの方は参拝されてはいかがでしょうか。上野天満宮のリンクを下につけておきますね。国公立大学の二次試験は部分点を狙え!塾長です。国公立大学を目指している受験生に質問です。記述試験とマーク試験、どちらの方が点を取りやすいですか?嫌煙されがちな「記述試験」ですが、理系科目に関しては、実は「記述の方が実力を発揮しやすい」です。今回はその理由と記述の対策について書きます。国公立大学の理系を志望する受験生の話しです。続きを読む2019.08.02プログラミング教室では、どんなことをしているのですか?こんにちは、塾長です。今年は冷夏と言われていたはずなのに、この暑さ。皆様くれぐれもご無理をされないようにお願いします。プログラミング教室へのお問い合わせが増えてきました。「学校でも始まると聞きました。「子供がやりたいと言ってます。体験できますか?」はい、ぜひ、来て見て体験してください。お待ちしております!一方、プログラミング教育が良く分からない方もまだまだ多いはず。そこでお電話をいただく前に読んでいただけるよう、少し説明を綴ってみたいと思います。続きを読む2019.05.09プログラミング教室のパソコンをパワーアップしたよマイクラミング開発者で元エンジニアの塾長です。エンジニアだったのは、もうかなり昔の話ですが。このゴールデンウィーク前後で、プログラミング教室の環境をパワーアップしました。生徒にとって、より使いやすい環境にしました。それで今年の連休は半分仕事でした。「部活ばっかりで連休はありませんでした。