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

Scratch

プログラミング教育 なぜパイソンが人気でオススメなのか?

pythonって知ってる?

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

学校の先生や塾の先生が知っておくべき3大プログラミング言語といえば、

  1. Scratch(スクラッチ)
  2. python(パイソン)
  3. JavaScript(ジャバスクリプト)

ですね!(塾長の偏見です)。

冗談を抜きにしても名前くらいは知っておくべきで、けっこう重要なキーワードだとは思います。

中でもpythonの人気はずっと上昇傾向ですね。

先日はプロコースの生徒たちを指導しましたが、python(パイソン)を使っています。プログラミング教室「マイクラミング」の話です。
そして先週、新規面談をした中学生も独学でpythonを学び始めたと言っていました。なぜかドヤ顔。最近は単に「プログラミングを勉強している」というより「pythonをやっている」という方がマウントをとれるのでしょうか。
また別の会議では、とあるプロバイダーのとある技術者さんが「python本格的にやりたいなー」とおっしゃってました。

そんな感じで私の身の回りでもpythonが盛り上がってきています。

ということで、今回は

  • なぜ、python は人気上昇中なのか?
  • なぜ、python がおすすめなのか?

について書きます。

ただし、どうしても塾長の感想を含んでしまうので、そこはごめんなさい。

pythonの対象年齢(対象レベル)とは

人気があるとはいえ、pythonは「テキストプログラム」のプログラミング言語です。そのため、どうしても次のハードルが出てきます。

  • 英単語をたくさん使う
  • 1文字でもタイプミスをしたら動かない

確かにpythonの文法はシンプルですが、それでも直ちに「小学生にもわかりやすい」とはなりません。少なくとも上の2つのハードルをクリアできる精神年齢が必要です。

もしも上の2点が心配ならば、スクラッチ(Scratch)から始めるのが無難だと思います。

例えば、1文字でもタイプミスをすれば動きません。カンマとピリオドを間違えただけでもエラーです。次の2つの例を見比べてみてください。

name = "太郎"
print( "私の名前は{}です。",format( name ) )
name = "太郎"
print( "私の名前は{}です。".format( name ) )

上のプログラムは間違っていて動きませんが、下のは正しいです。

たったの1文字の差です。

こうした1文字の間違えでも冷静かつ前向きに対処できる精神年齢(IQ的な能力)が必要です。

学年や年齢ではなく、次のような感覚で判断した方が無難だと思います。

プログラミングが初めての場合

  • 学力が平均点くらいの中学1年生
  • ミスに対して前向きで、ミスの原因を調べたり予想したりするのが得意な小学5年生
  • 英語で作文が得意な小学3年生

くらいが対象の下限になると思います。

プログラミング経験がある場合

  • マイクラミングのハイコース卒業者
  • スクラッチで「自分で考えて」一通りのプログラミングができる人
  • 他のテキストプログラミング言語で「自分で考えて」一通りの制御構文をプログラミングできる人

必ずしも文法の詳細を暗記している必要はなく、調べながらでも良いですが、「自分で考えて」プログラミングしてきたことが必須です。

考えなしに教科書やネットからコピー&ペーストしただけでは、たとえそれが動いたとしても、プログラミングを経験したことにはなりません。
たまにそういう人がいるので注意してください。

pythonが人気の理由

ネット上でpythonが人気だーと話題になるのは主に2つです。

  1. 人気ランキングでpythonが上位
  2. pythonの求人は年収が高い

ランキング上位について

人気ランキングというのは、プログラマーからの人気投票の結果です。どんな理由でも1票は1票ですから「なんとなく人気があって上位」ということです。
とにかく大雑把に「pythonが好き」という人の割合が高いよ、ということくらいしか分かりません。

後半で塾長がpythonを使ってみた感想を書いておきますので、参考にしてみてください。

年収が高い件について

これは人材の人数が少ないという意味で、確かに高収入になりやすいです。

pythonの求人内容は、主に情報解析や人工知能を使ったプログラミングです。

  • 情報処理や人工知能を扱える高度な数学を身に着けている!
    なおかつ、
  • pythonでプログラミングができる!

そんな高い能力を持った人なんて、そもそも人数が少ないです。
人にできないことができるのですから給料が高くなります。

今のところ、その種の仕事は数が少ないです。
しかし今後は増えていくと見込まれていますから、学生の皆さんは希望を持って良いと思います。

とはいえ、3年後、5年後にどうなるかは分かりません。
工業的なニーズや商業的なニーズは、就職する時が来たら、その時に流行っているもので考えた方が実用的です。

もしも就職がずっと先であるならば、

「できるだけ学校の勉強をプログラミングに生かす」

という姿勢で「基礎」をしっかり鍛えておくのが良いと思います。
そういう意味では業界色の薄いpythonやScratchが無難ですね。

プログラミング言語 python の特徴

次にプログラミング言語としての特徴を挙げてみました。

pythonの特長

  1. 文法がシンプルかつ十分(短い文で済む、カッコ不要など)
  2. 高機能(高度な技術、トレンドば技術にすぐ対応)
  3. マルチプラットフォーム(WindowsでもMacでもLinuxでも富岳でも)
  4. 書いたらすぐ実行できる(コンパイル不要)
  5. 基本的に全て無料
  6. すぐに調べられる(解説ページやサンプルプログラムが多い)

pythonの得意分野

  1. 統計の全般
  2. 科学シミュレーション
  3. 人工知能の利用や開発
  4. 画像処理
  5. Webサーバー
  6. ゲーム(遅くても良い分野)

およそ何でもOKです。
日本のスーパーコンピューター「富岳」でも、ちゃんとpythonでプログラミングができますよ。

pythonの苦手分野

  1. 高速処理が必要なゲームプログラム
  2. 高速で高スループットな処理が必要なサーバープログラム

書いたらすぐに実行できる「インタープリター言語」であるため、どうしても計算スピードが犠牲になります。
そのため極端に計算スピードを要求されてしまうような処理には向きません。

フォートナイトやファイナルファンタジーのような本格的なCGのゲーム開発は無理です。
また動画編集ソフトや高度な画像編集ソフトも、pythonで開発するには無理があるでしょう。
pythonでは性能不足です。

CPUやGPUの性能を限界まで使いきるような超高速処理のプログラムを作るなら、C言語やC++、あるいはそのWindows版であるC#がおすすめです。
ほんの少しだけ性能を妥協する代わりに、マルチプラットフォームで動くアプリを作るならJavaがおすすめです。マルチプラットフォームの中ではJavaが最速です。

ただし、そのようなアプりの中で「作業を自動化するためのプログラミング言語」としてpythonが採用されている場合もあります。例えばBlenderというCGを作るアプリです。

性能を抜きにすれば、pythonはトップレベルに強力なプログラミング言語と言えます。

実際にpythonを使ってみた感想

塾長はこれまで、仕事やバイトなどで、C言語、C++、Objective C、Visual C++、Visual Basic、BASIC、Java、JavaScript、PHP、python、SQL(どこまでプログラミング言語とみなすか悩ましいですが)などを使ってきました。

結論から言えば、それらの中で pythonがダントツに良かったです。

書きやすいし、読みやすいし、思ったことがすぐできる!

という意味で、とにかく使いやすいです。初めてpythonを使ってみたときは、本当に衝撃でしたよ。

プログラマーの視点で優れていること

まず「プログラマーの視点」から見て、使いやすいです。

簡潔で読みやすくて無駄がない。それなのに、奥が深い!

そんな文法です。

きっと、プログラミングに関する「先人の知恵」が、ふんだんに組み込まれているから、そんなエレガントな文法になったのでしょう。

例えば「デザインパターン」研究されてきた知恵の一部が、言語の仕様として最初から組み込まれています。デコレーターやイテレーションなどです。
他にも、標準で用意されているオブジェクトの型の種類がちょうど良いです。細かすぎず、粗すぎず、それでいて、順序付けできるか否か、イテレーティブか否か、変更できるか否か、というカテゴライズの全てを網羅しているラインナップです。

ちょっと細かい話になってしまいましたが、要するに、本当によく考えこまれた言語だなぁと思います。

こうした言語仕様の何がすごいかと言えば、pythonで良いプログラムを書くだけで、良い設計をしたのと同じ価値が生まれるということです。
コーディングと設計の区別が、もはや無くなってきたということです。
優れた言語仕様と読みやすさが相まって、pythonのプログラムは仕様書としての価値も高いと言えます。

実際 pythonには、プログラムから仕様書を自動生成してしまうツールがいくつか用意されています。

とはいえ、こうした「プログラマーの視点」から見たエレガントさは、他の新しいプログラミング言語も負けてはいません。いろいろなプログラミング言語がタケノコのように、あちこちで生まれている時代です。

しかし、それでもなお、pythonが凄いと言いたいです。その理由は次の通りです。

科学技術の視点で優れていること

pythonは、なんと「数学や物理の視点」から見ても使いやすいのです!

他のプログラミング言語と一線を画す理由が、正にこれだと塾長は思います。

これまでのプログラミング言語は、数学や物理を取るか、アプリを取るか、のどちらかでした。
数学や物理が得意になれば、アプリを作るのが苦手になります。
アプリを作るのが得意になれば、数学や物理が苦手になります。

ところがpythonは最初から両方できます。

数学や物理が使いやすいので、pythonは大学の研究室や企業の研究開発で、よく使われています。

かつて理系の研究室ではC言語やC++(以降、まとめて単にCと略記します)を使って、研究に使う数学や物理の公式をプログラミングしていました。Cは何でも作ることができて、しかもプログラムが爆速で動作する、という最強のプログラミング言語ですが、その代わりに、何でも自分たちで用意する必要があります。先輩から後輩へプログラムを引き継いで、改良したり機能を拡張したりして、多くのコストと時間をかけてプログラムをメンテナンスしていく必要がありました。

しかし今は pythonのおかげで、そんな苦労の大部分が不要になってしまいました。pythonではたいていのことが最初からできるからです。

よっぽど計算スピードが重要になる研究でもしない限り、もう研究室でCをやる必要はありません。Pythonのお手軽さを1度でも味わってしまったら、もうCには戻れないでしょう。

そして実は、pythonはCと仲良しです。python自身がCで作られているからです。そのためスピードが重要な部分だけCで作り、残りをpythonでつくる、というハイブリッドな開発もできてしまいます。実際に高速なライブラリーも多く提供されています。

さて、数学や物理のプログラミングがしやすいということは、数学や理科の教科書の延長線上でpythonが利用しやすい、ということです。つまり、これからは高校生や大学1年生の教育でもPytnonの利用が増えると思います。

Pytnonのプログラミングに慣れてしまうと、もう他の言語が「めんどう」「ムダが多い」などと思えてしまいます。

人気の秘密はこうしたエレガントさにあるのだろうと勝手に想像しています。

忘れても問題ない文法とは?

誤解をしてほしくないので、最後にテキストプログラムの文法について補足しておきます。

今回のブログでは、pythonのメリットを語るために、文法や言語仕様について多く書きました。

でも誤解をしないでください。実際には文法を細かく「暗記」する必要はありません。しかも、これはpythonに限ったことではありません。

プロの世界でさえも、細かい文法は調べながらプログラミングしています。

意外でしょうか?

でも、これは常識です。例えば、

「C言語で仕事するのは2年ぶりだな。if 文の書き方はJavaとどう違うんだっけ?」

「PHPひさしぶり。文字と文字を連結する演算子は何だっけ?」

みたいなことは、プロでもよくあります。

プロの世界では1人が7~8種類のプログラミング言語を扱うのが普通です。C言語だけ、pythonだけ、というプログラマーなんて新人くらいです。
とはいえ1つのプロジェクトに使うプログラム言語は1~3種類くらいで済みます。ですから1つのプロジェクトに従事している間は、残りの使っていないプログラミング言語の細かいことは、忘れてしまいます。

たいていのプログラミング言語は似ていますが、細かいところで違います。そのような

プログラミング言語によって異なる部分

については、いちいち細かく覚えていられませんし、そこの暗記にこだわる必要もありません。
代わりに、

  • 標準で使えるオブジェクトの型は言語によって違う
  • 変数の初期化、参照、代入の作法が言語によって違う
  • 分岐は if – else が基本だが、細かいルールや switch を使えるかなどは言語によって違う
  • 繰り返しは for や while が基本だが、細かいルールは言語によって違う
    ・・・

みたいな勘所が、経験とともに蓄積していくものです。

「何を暗記しなければならないか」という項目は十分に知っておく必要はあります。
だからと言って、今すぐに暗記している必要があるか否かは別問題です。

細かいことは、必要になったら調べて暗記します。そしてプロジェクトが完了するまでは暗記の状態を保ちます。
しかしプロジェクトが終わって使わなくなれば、また忘れてしまうでしょう。

そんな感じで良いです。その方が、

「今回、また新しいプログラミング言語を使うことになった。」

と言われても、びっくりせずに済みます。
ほかの言語との違いを調べて使いこなすことには、変わりがないからです。

逆に、少しでも記憶があいまいなら、じゃんじゃん調べて確認します。
不確かな記憶のままプログラミングを進めてしまう人の方が信用できません。

プログラミングで大切なのは、

× 文法の知識が完璧であること
○ 全て説明できること

です。

プログラムの1行1行について、

「なぜ、そう書いたのか」

を1文字も漏らさず説明できる必要があります。
1文字でもあいまいだったら、すぐに調べる必要があります。

不明なことは、すぐ調べて確かめる!

これ、大切です。

勉強も同じ

細かい知識を忘れても、大した問題ではない。

これは数学や国語でも同じなのではないでしょうか?

社会や理科は、もっとそうですよね!

例えば歴史。

細かいことは、レポートを書いているときは覚えているかもしれません。
しかし、それが終われば忘れてしまいます。
相変わらず社会の定期テストや入試問題の多くは「暗記の詰込み」ですが、受験が終わったら忘れます(※)。

それでも、歴史の流れや国際関係の背景は、いつでも語ることができるだけの素養が身につくでしょう。

・・・みたいな感じですね。

よく、カリスマ的な人がプログラミングの実況動画を出しています。

すらすらと軽快にプログラムを書いて見せています。
そんな風にできるのは、たまたま業務でよく使っているか、リハーサルを十分にしているからです。

そういう人でも、違うプログラミング言語で同じものを作れと言われたり、違うジャンルのアプリを作れと言われたら、しばらくの間は、調べながらプログラミングしていくことになります。

だからといって、その人の能力が低いことにはなりません。

すらすらプログラムを書ける場面は、自分にとって、ある程度プロジェクトが乗ってきた時期です。

プログラミングの経験が蓄積できていれば、たとえ最初の数百行が遅くても、残りの数千行から数万行のプログラムはすらすら書けます。

逆にコンピューターを使いこなせるはずのプログラマーが、文法の暗記で消耗しているようでは先が思いやられます。
暗記で苦労する「暇」があったら、どんどん調べまくって仕事を先に進めましょう。そうするうちに勝手に頭に入ります。

※ 最近の入試問題は、理科や社会でも暗記の詰込み要素が無くなってきました。
多くの資料でヒントがたくさん与えられている問題形式が多くなってきました。そのため暗記がうろ覚えだとしても、今まで調べたり学んだりしてきた経験が十分にあれば、ちゃんと解けるように工夫されています。

まとめ

今回はpythonの魅力について書きました。

そのためにpythonの文法や言語仕様について少し詳しく書いたところもありました。だからと言って文法の詳細を覚えてほしいと言っているのではありません。

1つのプログラミング言語について、特徴をよく調べて使いこなすことが大切です。

そして少し時間がたって細かい文法を忘れたとしても、気にすることはありませ。細かい文法は、使う時に調べて確認すればよいです。

大切なことは、

「なぜ、そう書いたのか」

を1文字も漏らさず説明できることです。

あいまいなことや不明なことを放置せず、すぐに調べて確認する姿勢が大切です。

このことは勉強も同じだと思います。

 


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

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

国公立大学

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

私立大学

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

公立高校

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

私立高校

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

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

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

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

 


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

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

友だち追加


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

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

友だち追加

 


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

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

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

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

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

マインクラフトのプログラミング教室をやってきて、今年で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

【プログラミング教育】確率を使えば円の面積が求まる?

受験が終わったらプログラミングで遊んでみよう!

塾長です。

もう春ですね。
3月3日と言えば桃の節句ですが、ことしは中学の卒業式でもあります。そのあとすぐに愛知県公立高校入試が始まります。国公立大学は先週から始まっていますね。
もう、そういう季節です。

受験が終わったら何をする?

一方で、すでに受験を終えている生徒も多いです。教室では私立高校から届いた課題に取り組む生徒たちや、中学生の総復習にあらためて取り組む生徒たちがいます。

要するに放っておけば新学期まで暇です。そんなキミたちに、

ぜひ今こそ、自分なりの「本当の勉強」というものにチャレンジしてみたらいかが?

などと声をかけています。
たとえば、理系の子には「ブルーバックス」というシリーズの本をお勧めするとか、逆に哲学の変な本を読んでみたらどうかとか、そういう雑談もしています。
コロナ禍で卒業旅行が難しい、そんなご時世だからこそ、落ち着いて本を読んでみるのも一興です。

もちろんマンガやアニメでも良いと思います。

新しい本との出会いは、新しい自分との出会いになることがあります。

また最近ではパソコンで遊んでみることもお勧めです。

塾長が生まれて初めて目にした科学計算プログラム

そんな話を生徒たちにしていたせいか、自分が高校生になったばかりの頃を急に思い出しました。

塾長は高校生になってから直ぐに地学部に入りました。天文少年だったので迷わずストレートに行きました。
高校の屋上には1つ部屋があって、その上が天文台になっていました。地学部は屋上もその部屋も天文台も、すべて自由に使うことができました。そして屋上の部屋には1台のパソコンが置いてありました。
ある日、3年生の先輩がそのパソコンで自作のプログラムを披露してくれました。

衝撃でした。何のプログラムだったか、今でもハッキリと覚えています。

モンテカルロ法による円周率の計算プログラム

今から30年以上も前です。たしかSHARPのX1というパソコンで、BASICというプログラム言語でした。
もちろんプログラムの1行1行を覚えているわけではありません。覚えているのは先輩がしてくれた説明です。

どんな計算をしているプログラムか

その仕組みというか、考え方が面白くて、今でも覚えているのです。

「あー、コンピューターって、こんなことまでできるんだ。」

そんなことを初めて実感した瞬間でした。

どんな話だったか、ちょっと説明しますね。

確率で面積を求める!?

突然ですが、もしもこんな図形があったら、どうやって面積を求めますか?

いびつな形の面積の図

長方形の中に雲みたいな形があって、色が塗られています。その部分の面積です。

もちろん、こんな変な形の面積を出す公式なんて知りません。

こういう時に次のような発想で求められると言うのです。

確率で面積を求められる!

もう少し説明を続けます。

もしも次のことが分かれば面積が求められます。

長方形の中で雲の形が占める割合

たとえば仮に、雲の面積が長方形の面積の3分の2だとすれば、

$$ 10 \times 6 \times \frac{2}{3} = 40 cm^{2}$$

という具合に求まるわけです。つまり、

実際には何分の何なのか?

という「割合」を求められれば良いわけです。

この割合、どうやって求めましょうか?

そこで確率の登場です。

上から針を落とす実験

長方形の中で雲の形が占める「割合」を求めるために、この絵に対してランダムに点を描いていくことを考えます。

点を描く場所に偏りがあってはいけません。人間の意思が働くと偏りが出るかもしれないので、人間の意思が入らないように、でたらめにやる必要があります。例えば、この絵を地面に敷いて上から針を落とし、針の先端が止まった場所に点を描く方法などがあります。そういう方法ができたとしましょう。

試しに10本ほど針を落として、その先端に赤い印をつけてみた例が次の図です。

いびつな形にランダムに点を打った図

10本の針を落としたら7本が雲の図の中に入りました。つまり針が雲の中に落ちる確率が $\frac{7}{10}$ ということです。これは言い換えると、雲の面積が占める割合が長方形の $\frac{7}{10}$ だったと見なすことができます。だったら、

$$ 10 \times 6 \times \frac{7}{10} = 42 cm^{2}$$

ということで求めたことになりそうです。

良ろしいでしょうか?

けっこう良い線まで求められたとは思いますが、まだ不安ですよね。

たったの10本で決断してよいの?

そういう不安感があるからです。たまたま7本だったのかもしれません。もう1回実験したら $\frac{6}{10}$ になったり、 $\frac{8}{10}$ になったりするかもしれません。

10回では自信が持てないのなら回数を増やせばよいです。そこで1万回くらい実験しましょう。そしてその結果が、 $\frac{6711}{10000}$ になったとします。だったら、

$$ 10 \times 6 \times \frac{6711}{10000} = 40.266 cm^{2}$$

ということで良いでしょうか?

かなり良い線まで求められたとは思います。
しかし、まだ不安が0ではないですよね。1万回よりは10万回、いや100万回。いやいや1億回なら・・・などと増やしていけば、いつかは求まるだろうと思うワケです。

このようにランダムな行為で発生する確率を利用して、何かを計算していく方法を「モンテカルロ法」と呼びます。

この発想法、すごくないですか?

塾長は高1の春に感動した思い出があります。

ところで、円の面積も、これと同じ方法で求めることができます。そして円の面積が分かれば円周率も分かるというワケです。

確率で円の面積を求める!

それでは円の面積を求めていきましょう。

いま半径1の円を描きます。中心を座標の原点にすると下の図のようになります。

xy座標の中の円の図

ここでマイナスの座標を使うと計算が面倒です。そこでx座標もy座標も「正の数」だけ使うことにします。それが図で黄緑色の部分です。

つまり下図のように円の右上4分の1の扇形だけを実験に使います。

xy座標の中の扇形

この図で色のついた扇形は、1辺が1の正方形の中にピタリと納まっています。この正方形の中に針を落とす実験をしてランダムに点を打っていきましょう。すると

$$半径1の円の\frac{1}{4}の面積=1 \times 1 \times \frac{扇の中の点の数}{点の総数} =\frac{扇の中の点の数}{点の総数} $$

となりますね。
一方で円の面積の公式を使った式では、

$$半径1の円の\frac{1}{4}の面積=1 \times 1 \times \pi \times \frac{1}{4} = \frac{\pi}{4} $$

両者は同じはずですから、

$$ \frac{扇の中の点の数}{点の総数}=\frac{\pi}{4} $$

よって

$$ \pi = 4 \times \frac{扇の中の点の数}{点の総数}$$

となって円周率 $\pi$ が求まるわけです。

プログラミングで求める!

それでは上の考えをプログラミングします。

ちなみに正しい円周率は、

$$\pi=3.1415926535 \dots$$

だそうです。
今回はこれを模範解答として、プログラミングで得られた円周率の精度を評価してみましょう。

扇の中か外かの判定は?

プログラミングをする上で、あと1つ問題が残っています。それは

打たれた点が「扇の中か外かを判定する計算」をどう実現するか?

という問題です。
先に答えを言ってしまうと、これは中3の「三平方の定理」で解決します。

扇形の中か外か

例えば上のように点が打たれたとします。もしもその座標が $(a, b)$ だったとすれば、原点からその点までの距離は三平方の定理から $\sqrt{a^{2}+b^{2}}$ となります。これが円の半径1よりも小さければ扇形の内部というワケです。

ただし1は2乗してもしなくても1なので、 $\sqrt{a^{2}+b^{2}}$  の代わりに $a^{2}+b^{2}$ を使っても、1以上か未満かの判定には影響しません。少しでも計算を楽にしてあげた方がコンピューターから高速に結果を得られます。そこでプログラムではルートを取る前の $a^{2}+b^{2}$ と1を比べて判定します。

さぁ、今度こそプログラミングです。

まずは私が高校生の時に経験したBASICというプログラミング言語で再現してみます。

BASICのプログラミング

半径1の図をそのまま描くと小さすぎて何も見えなくなるので、400倍に拡大して描画するようにプログラミングしています。

10 CLS
20 DEFINT L
30 L=400:COUNT=0:R=0.0:X=0.0:Y=0.0
40 CIRCLE(0,0),L,1
50 LINE(L,0)-(L,L)
60 LINE(0,L)-(L,L)
70 INPUT N
80 FOR I=1 TO N
90 X=RND(1)
100 Y=RND(1)
110 PSET((L*x),(L*Y)),2
120 R=X*X+Y*Y
130 IF R <= 1.0 THEN COUNT=COUNT+1
140 NEXT I
150 PRINT (4*COUNT/N)

このプログラムを使って、針を落とす実験の回数を10000回まで実行したのが下の図です。この1万回の実験で、だいたい6秒くらいかかりました。
扇形は青い線で、針の落ちた場所が赤い点です。

モンテカルロ法で円周率を求める

円周率が3.132と出ています。
残念ながら1万回の実験をもってしても小数第1位くらいまでしか求まらなかったようです。

そこで10万回に増やしてみました。今度は60秒くらいかかりました。

BASIC_モンテカルロ法で円周率_10万回

10万個も点を打つと、かなり塗りつぶされている感じになります。
そして円周率が3.1404と出ています。
ようやく10万回でお馴染みの「3.14」つまり小数第2位まで求められました。

こりゃ、とてもじゃないけど、人間の手で実験なんてしていられませんね。

Pythonのプログラミング

今度は同じことを「Python(パイソン)」というプログラミング言語で実行しました。下がそのプログラムです。
BASICよりも高速に動作するので、10万回を超えるような計算はPythonの方で実験することにします。
グラフィックは面倒なので省略します。その代わり計算にかかった時間を表示するようにしました。

import random as r
import time as t

def cal_pai(n):

count_in  = 0
start = t.time()
for i in range(n):

x = r.random()
y = r.random()
if (x*x + y*y) <= 1:

count_in += 1

pai_n = 4*count_in/n
print(“n={}, pai={}, time={}[sec]”.format(n, pai_n, (t.time()-start)))

cal_pai(100)
cal_pai(1000)
cal_pai(10000)
cal_pai(100000)
cal_pai(1000000)
cal_pai(10000000)
cal_pai(100000000)
cal_pai(1000000000)

実行結果が下の図です。私のパソコンでは1億回の計算に21秒くらい、10億回の計算に4分12秒くらいかかりました。

Python_モンテカルロ法で円周率_10億回

なるほど、やっぱり10万回で「3.14」まで求まるようですね。
そして1億回で小数第3位の3.141まで求まっています。
しかし10億回に増やしても小数第4位まで出すことができませんでした。本当は3.1415…と表示されて欲しいのですが、3.1416…となっています。

そこで100億回にチャレンジしてみたいところですが、そうすると1時間くらいかかりそうなので止めておきます。

Scratch(スクラッチ)のプログラミング

最後にスクラッチのプログラミングです。
スクラッチは計算が遅いので、このように何千万回も計算をするような処理には向きません。ただしプログラムは読みやすいです。

Scratch_モンテカルロ法で円周率_100万回

実行してみると100万回で小数第2位の3.14まで求まりました。かかった時間は3秒弱でした。意外と速いですね!

同じ100万回で見ると、Pythonは約0.22秒、BASICは約600秒ですから、スクラッチの計算速度はBASICの200倍、Pythonの$\frac{1}{13}$くらいの速さということになりました。もっとも今回のBASICはエミュレーター上で動作し、なおかつグラフ表示もしているため遅いのは仕方がありません。

スクラッチは簡単にプログラミングできる環境でありながら、立派にアルゴリズムをプログラミングして実験できる環境だと言えます。

小学生が初めてプログラミングする環境として「スクラッチが最強」であることが、あらためて実感できました。

弱点を補うのもプログラミング

スクラッチにも弱点はあります。今回のプログラムに関しては次の2つです。

  1. 小数の乱数を生み出す命令が無い
  2. 「以上」「以下」を表す演算子が無い(「より大きい」「より小さい」しかない)

この2つの弱点を補うために、それぞれ次のような工夫しています。

  1. 「0~1000の範囲」で整数の乱数を生成し、それを1000で割って小数にした
  2. 「1以下のとき」の条件が作れないので、代わりに「「1より大きい」でないとき」とした

みなさんならどのように工夫しますか?

有るもので工夫するのもプログラミング的思考の大切なポイントです。

とても奥が深い分野

モンテカルロ法は奥がとても深くて、大学の卒業論文などでもよく取り上げられる問題です。

奥が深いとは、例えば、実際に実験することを想像すればわかります。

実際に実験するときには、先に実験の目的を決めますよね。今回なら

「円周率を小数第何位まで求めたいか?」

ということを決めます。
仮に、これが世界で初めての実験だったとしましょう。
すると逆に、

「その桁まで求めるには、何回くらい実験する必要があるのか?」

ということが分かっていなければ、実験を終わらせることができません。

世界で初めて実験するのですから、まだ誰も円周率の小数第4位の数を知りません。つまり正解が分かっていません。

答え合わせができない!

というのが、この実験の難しいところなのです。

そこで代わりに

「何回目の実験で正解にたどり着けるのか?」

を何らかの方法で求めておく必要があります。
それが分かっていなければ、いつまでもゴールできません。永遠に実験をし続ける羽目になってしまいますから。

この「実験を終えてよい回数」を求める方法は、実はとても難しい理論になります。大学の数学レベルの話になってしまいます。

上の実験では、Pythonで10億回やっても小数第4位を正しく出せんでした。しかし実際の実験では、そもそも「正しく出なかった」という判断ができません。今回は先に円周率の正解を表示するという「ズル」をしていたので「まだ求まっていない」という判断ができた、というワケです。

さて、円周率の小数第4位の数。

100億回なら出るのでしょうか?
もしかしたら1000億回なのでしょうか?

こういうたいへんな作業をやる前に、先に「何回やったら終わっていいよ。」という回数を知っておきたいですね。

大学受験の範囲を超えてしまいますが、興味のある人は調べてみてください。

暇な時間を上手に使える人に成ろう

高校受験や大学受験を終えた皆さんが、暇つぶしをするネタとして、今回はモンテカルロ法で円周率を求めるプログラミングを提供してみました。

塾長の過去の思い出から、たまたま思い出したので書いてみました。

コンピューターを使った遊び方は色々ですが、ゲームをするだけではもったいないです。

ぜひコンピューターが持つ本当の力を引き出してみてください。

もちろん、これは時間の使い方の1つの例です。

みなさんは暇な時間に何をしますか?

そういう時間を上手に使える人に成りたいものですね。

 


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

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

国公立大学

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

私立大学

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

公立高校

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

私立高校

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

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

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

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

 


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

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

友だち追加


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

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

友だち追加

 


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

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

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

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

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

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

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

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

続きを読む

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

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

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

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

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

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

続きを読む

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

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

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

本日も小学生向けにマイクラミングの体験会(定員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

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

マイクラミング_授業中

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

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

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

続きを読む

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

マイクラ×Scratch3.0

Scratch(スクラッチ)と言えば、NHKのEテレ「Why!? プログラミング」でおなじみです。
2020年度から始まる小中学校のプログラミング教育でも多くの学校で採用予定です。

そんなScratchが2019年1月3日にバージョンアップしました。
Scratch2.0からScratch3.0へのメジャーアップです!

期待を胸に、さっそく使ってみました・・・が、しかし・・・

バージョンアップしたScratchと言えども、マインクラフト機能がありませんでした。

チーン ・・・ LEGOはできるのに、なんでマイクラはできないの!?

ということで、塾長がマイクラのできるScratch3.0を用意しました!!

しかもフリーソフト!!
誰でも使えるようにしました。
みなさんもぜひ使ってみてください。

それではインストール方法の説明とチュートリアルを始めます!
※マインクラフトJava版(Minecraft Java-Edition)のみ対応。
※ Windows、Linux、Macで使えます。
※ フリーソフトには機能制限がありますが利用期限はありません。

続きを読む