中学生マイクラプレイヤー、modの興味からJavaに挑戦@新宿

投稿 : 谷岡広樹  2015年7月24日

こんにちは。TENTOブログ管理人の神谷です。
今日のブログ執筆者は、一見クールそうに見えて、でも子供プログラミングに熱い講師・谷岡先生が書いてくれました!

ーーーーーーー

最近、マイクラばかりやってた中学生がmodに興味を持ったらしく、Javaを勉強しはじめました。

TENTOでは、ふだん、ビスケット、スクラッチ、マイクラと進んで、HTMLやJavaScriptを学び、さらにPythonやPHPでサーバを作るというパターンが多かったのですが、一部の生徒はJavaやC言語に挑戦する子もいるわけです。

minecraft

コンピュータクラフトに取り込む教室@さいたま

JavaやC言語は、他の言語とくらべると、プログラミングを開始するまでにひと手間かかります。 具体的には、JDKをインストールしたり(C言語ならコンパイラをインストールしたり)、環境設定をしたりといったことです。

最近は、マイクラのmodの開発もできるようにということで、TENTOのパソコンにはJDKをインストール済みです。 そのため、初学者の子どもたちにとって障壁となりがちな環境問題はある程度解消できました。

つぎに、PythonやJavaScriptとくらべると、JavaやC言語は、最初に書かないといけないおまじないがあるため、面倒くさく感じるかもしれません。

具体的には、class や main文、C言語なら #include も必要です。そのたあたりは、残念ながら、ある程度飲み込んでもらう必要がありますが、タイピングがある程度できれば、子どもたちは意外にすんなり受け入れてくれるようです。

HelloWorld

「Hello World」の画面

そして、肝心のカリキュラムですが、私は、マイクラのコンピュータクラフト(Luaやブロック)、JavaScriptなどとも共通の流れでアルゴリズムの組み立てができることを意識して進めています。

  • 1.  文字の出力「Hello World」
  • 2.  数値の計算
  • 3.  繰り返し文(for, while)

学習1日目でできるのはこのあたりが限界です。学習2日目からは、さらに高度なプログラミングを学びます。

  • 4.  繰り返し文の応用
  • 5.  条件分岐(if, switch)
  • 6.  複雑な計算

繰り返し文の応用では、繰り返し文を使って、1から100まで足したり、繰り返し文を使って、文字で四角形や三角形を表示してもらったり、実際にいろいろやってみてもらいます。ここでは、ノーヒントで少し頭の体操をしてもらいます。

zukei

☆をだんだん増やして三角形の形に並べます

さらに、条件分岐を学習した上で、複雑な計算に挑戦します。たとえば、「3と5の倍数だけ表示する」とか、「3と5の倍数だけ表示して、さらに合計を計算する」といったものに挑戦してもらいます。

このようなかんじで、JavaやC言語の学習では、子どもの目線で、算数や数学の知識など、彼らが理解できる範囲をつねに確認しながら、プログラミングを学びます。プログラミング言語固有の文法というよりは、さまざまな言語で共通のアルゴリズムに着目して学べるように意識しています。

もちろん、Javaの学習目的はmodを作ることなのだから、Java固有の話題にも触れる必要はあります。たとえば、interfaceや継承の概念などです。これらについても、実例をまじえて理解しやすくなるようカリキュラム化をおこなっています。

modを作るための手段としてのJavaというのは、それはそれでひとつの学習機会なのですから、たんにmodが作れるようになるだけでなく、少しでもオブジェクト指向の概念やJavaによるプラグインの仕組みついて学んでもらいたいのです。

願わくば、Javaを学んだ彼らが、modを作るだけでなく、マイクラそのものを超えるものを開発してくれると期待しています。

Minecraft×Education 2015〜こどもとおとなのためのMinecraft〜』のイベントもよろしくです!