開発部の柳井です。前回から時間が経ってしまいましたが、GLICODEのアップデートがされましたので、投稿します。10月頃にアップデートされたバージョン1.1.0(Androidはこちら、iOSはこちら)では、画像認識の精度が向上し、ポッキーもきちんと読み込めるようになり、ポッキーのステージや応用ステージもクリア出来る様になりました。
GLICODEの「CODE」
今回、私がGLICODEに注目したのは、このアプリの目的が「プログラミングの学習」だからです。プレスリリースにある様に、このアプリで遊ぶと、小学校低学年の小さい子どもでも、難解に思われがちなプログラミングに親しみながら学習出来ると思います。子どもに限らず、ITやパソコンなどが苦手な方も、ゲーム感覚でプログラミングに興味を持つきっかけになるでしょう。
とはいえ、このアプリの「どの辺がプログラミングなの?」と思われる方もいらっしゃるかと思います。機械に対して命令を出すという意味では、こちらの写真でもプログラミングっぽいです。お菓子を読み込むと、画面左側に各お菓子の命令(読み込んだ内容)が表示されます(赤で囲んだ部分)。
しかしそれだけではありません。命令が並んでいる部分をタップすると…「コード」が表示されます!かっこいい!
この様なコードが表示されています。
1 2 3 4 |
for (var i = 0; i < 4; i++){ y = y - 1; x = x + 1; } |
「for」は、中に書かれた内容を繰り返すという意味でです。「x」と「y」は、キャラクターの立っている横と縦の位置(x座標、y座標)を表しています。この例では、「下に移動する」と「右に移動する」を、「4回繰り返す」というコードになります。
ここまで来れば、プログラミングをやってみたいと思いませんか?という事で、前置きが長くなりましたが、今回のテーマはプログラミングの学習方法です。
さあ、プログラミングをしよう
「プログラミング 入門」「解説」などで検索すると、「Hello World」やBMI(=体重÷身長の2乗)の計算をするサイトが引っかかると思います。大学のプログラミングの授業の教科書もそうでした。そういったサイトで勉強する場合、
- 何をしてるのか分からない
- それが出来ると何が嬉しいのか分からない
- 用語が分からない
- 楽しくない
1つ目のお勧め勉強方法は、前回も言及したScratchです。Scratchは文字の羅列ではなくブロックを並べます。視覚的にプログラミングを学習出来るという点では、GLICODEと共通しています。世界中のユーザが作った作品が公開されているので、「中を見る」だけでも勉強になります。
コードに慣れたら
子ども向けサイトに満足したら、いよいよ自分の手でコードを書いてみましょう。プログラミングには書き方(言語)がいろいろあるのですが、どれを選んでも構わないと思います。「どの言語が良いか」についてはここでは述べません。自分はC、C++、PHP、JavaScriptくらいしか使った事が無いというのもありますが、終わりが無い議論だからです。ただ、型の概念を勉強するには、初めての言語にPHPはお勧めしません(PHPが悪いという意味ではありません)。
私は、プログラミングの勉強手段として、ゲーム制作は有効だと考えています。ゲーム制作は、先ほど挙げた挫折するポイントをほとんど克服出来ます。例えばRPGを作るとしたら、この様になります。
- 何をしてるのか分からない→キャラを動かしている、敵を出現させているなどイメージしやすい
- それが出来ると何が嬉しいのか分からない→ある程度ゴール(ゲームの形)が見えている
- 用語が分からない(これは頑張って勉強するしかありません…)
- 楽しくない→ゲームは楽しい
2つ目のお勧め勉強方法は、DXライブラリです。私が大学のサークルで、ゲーム制作を行なう時に使っていました。画面の描画をDXライブラリに任せられます。言語はC++です。どんなゲームが作れるかは、公式サイトのサンプルや、ガイドをご覧ください。
そのサークルでは、最近はゲームエンジンのUnityを使っているそうです。Javaなども使えるし、ユーザや解説サイトも多く、情報も新しいので、こちらの方が良いかもしれません。
お勧めの書籍
インターネット上に、様々な解説サイトやQ&A・掲示板などがありますが、やはり紙の本で勉強したいという方へ。3つ目のお勧め勉強方法は株式会社アンクの「絵本」シリーズです。初心者向けの内容です。イラストが多く、「関数」や「ファイル入出力」、「ポインタ」などの説明も具体的で分かりやすいです。これを大学の授業で使えば良いのに。。
「変数は箱じゃない」と主張される方にはお勧め出来ません(Cの絵本で、変数は箱として説明されています)。また、絵本シリーズには言語だけでなく、TCP/IPなどの技術や、Androidアプリに特化したものもありますよ。
最後に
色々なツールやサイト、書籍を紹介しましたが、やっぱり直接人に教えてもらうのが早いです。プログラミングの経験がある人に、実際に使った事のあるサイトなどを教えてもらい、分からない所もその人に聞いてヒントを貰えればなお良いですね。
もし、あなたが「ハッカー」になりたいと思っているなら、まずはHow To Become A Hacker(日本語訳サイト)を読んでください。一つ強調しておきたいのは以下の言葉です。
ハッカーはものをつくります。クラッカーは壊します。
それではみなさん、よいお年を。