プログラミングに興味があるものの、一歩踏み出せない方も多いかと思います。そこでこのページではなるべくハードルを下げてプログラミングに取り掛かる方法を紹介します。
ちなみに、プログラミングを学ぶ目的やお金を稼ぐことを考えているのであれば以下の記事も参考にしてみてください。
そもそものプログラミングを学ぶ目的や、プログラミングの勉強をしてお金を稼ぐ方法について解説しています。また本から入るタイプの方は、以下の記事で本を紹介しています。
プログラミングって何から始めれば良いの?という方におすすめの書籍
どうやってプログラミングを勉強すれば良いのか、今後どのような目標を持てば良いのか、といった内容が書かれた書籍等を紹介しています。
とにかくプログラミングというものを試してみたい!という方はいきなり難しいことから始めるとたぶん挫折します。そこでこのページでは、Scratchという実はプログラミング学習において優秀なプログラミング言語を紹介します。
なぜScratchが大人のプログラミング学習に有効なのか
Scratch自体は有名なので、プログラミング経験がない方でもご存じかもしれません。しかし、おそらく「Scratchは子供向けのプログラミング言語だろう」と思われている方が多いかと思います。
実際Scratchは子供がプログラミングを簡易的に学ぶために使われることも多いです。視覚的かつ直感的に操作できるため、ソースコードのことを考える必要がありません。下の動画キャプチャは私が今動かしてみた様子です。
ちょっと見にくいかもしれませんが、右上の猫が動いているのが見えるかと思います。左側に青いブロックがあって、ここには「10歩動かす」などと書かれています。それをドラッグ&ドロップで真ん中に持ってきて、ブロックを押すと猫が動きました。
詳しくは以下の動画で紹介されています。
とりあえずこのように直感的に操作できるのですが、なぜこれが大人におすすめなのか説明します。
Scratchでやっていることは設計書作成に近い
Scratchは一見するとただキャラクターをボタンで動かすだけの子供だましに見えるかもしれません。「子供がプログラミングっぽいことをするためのものだな」といった印象を持つ方が多いと思いますが、実はScratchでやっていることは設計書作成とほぼ同じで、プロジェクトの開発工程で言えばむしろプログラミングよりも上位になります。
たとえば仕事でプログラムを作るとき、ほぼ100%先に日本語で書かれた設計書を作成します。設計書には、「ボタンを押したら処理を実行する」「処理を10回繰り返す」といったことを書きます。
要するに、システムにどのような動きをしてほしいかを設計書に書きます。次に、その設計書に基づいてプログラムを組んでいきます。よく言われることですが、設計書がしっかりできていればあとの表面的なコードはネットや本で調べれば実装できます。
プログラミングにおいて重要なのは表面的なソースコードを覚えたりすることではなくて、ロジックを考えること、つまり設計を考えることなのです。Scratchを開発したのはMITメディアラボというアメリカのマサチューセッツ工科大学の研究所ですが、世界的なプログラミングのプロ集団が開発しています。
子供が楽しく練習しつつも、プログラミングにおいてもっとも大切なことが身に付くように考えて開発されています。私のキャプチャ動画だとただ単に猫を右に動かしているだけですが、動きを付けたりキャラクターを増やしていけば、プログラミングにおいてもっとも大切な、全体を考えて処理を組み立てていく力が身に付きます。
繰り返しになりますが、表面的なソースコードは二の次で、プログラミングにおいて一番大切なのはロジック、設計を考える力です。Scratchで処理を作り込んでいけばそれが自然に身に付くようになっています。
これはあくまでもたとえ話なのですが、Scratchはレゴブロックに似ています。レゴブロックももともと子供用のおもちゃで直感的に遊べますが、プロが存在するくらいに奥の深いものです。作り込めば、人々が驚くようなものができます。
レゴもブロックのパーツに色を付けたり形を決めたりしているわけではなく、もともと用意されているブロックを使用しています。Scratchも同じで、一つ一つのパーツのソースコードは自分で書いていないけれども、すでに用意されたブロックを組み合わせて大きなものを作っていけるのです。
個々のパーツの作り方(ソースコードの書き方)は設計に当てはめて調べていけば良いだけなので、最初にScratchで設計を学ぶことはこれからプログラミングの勉強を始める大人にもおすすめだということでした。
単純に面白い
Scratchで作られた、レトロ感がいい感じのゲームです。なんとなくファミコンを思い出します。ここまで作ろうと思ったら、ソースコードでパーツを書かなくても全体の設計を考えることが重要で、Scratchでその練習ができることがよくわかるでしょう。
ここまでのゲームを作るのは実際難しいのですが、プロでなくても作れそうな感じが残っているのが何とも言えない魅力になっています。私自身Scratchではありませんがゲームを自作したことがあります。
猫をジャンプさせる方法を解説している動画もありました。
Scratchの始め方
Scratchの説明が長くなりましたが、始めるのは簡単です。まず以下の公式サイトにアクセスします。
たぶん「Scratch」で検索しても一番上に出てくると思います。
そして「作る」か「作ってみよう」をクリックすればそのまま始めることができます。また最初にチュートリアルが出てきますが、すぐに終わるので一応見た方がいいでしょう。アカウント(無料)を作成すればサイト上に自分のプロジェクト(作品)を保存できますが、アカウントを作らなくても簡単にローカルに保存することが可能です。
上のファイルから保存もロードもできます。ネット上で情報収集しても良いですし、一応Scratchの書籍もあります。
Scratchの勉強に使える書籍
①Scratchではじめよう! プログラミング入門
ゲーム作りを通してScratchとプログラミングの基本を学ぶための書籍です。ゲームの内容はシューティングで、用意された15段階のステージをクリアしながら進めていく形式になっています。対象が中学生以上のなっているので、Scratchの書籍のなかではどちらかというと本格派向きです。
②Scratchで学ぶプログラミングとアルゴリズムの基本
Scratchを通して、プログラミングとアルゴリズムの基礎を学ぶための書籍です。また書籍の後半では関数などプログラミングの基本概念にも触れられています。なので、少し悪く言えばやや勉強的な要素は多めの書籍と言えるでしょう。
Scratchを通して勉強しようという意気込みであればおすすめですが、とにかく楽しむことが優先なら上で紹介したようなゲーム作りなどにした方が良いかもしれません。とはいえいずれはアルゴリズムを勉強することになるので早めにScratchを通してやっておくのは有効な手段です。
あと初版が好評で第二版出版されましたが、これから勉強するのであれば第二版の方をおすすめします。理由としてはScratchを含めてプログラミング言語は定期的にバージョンアップされるからです。
根本的なことが変わるわけではありませんが、微妙に使い方が変わっていたりするので、数百円の差なら最新情報が反映されている書籍にした方が良いでしょう。
③できるキッズ 子どもと学ぶ Scratch プログラミング入門
こちらの書籍は親子でScratchを始めるための書籍です。なので大人が一人で勉強するためのものではなく、子供と一緒に読んだり、子供にプログラミングを教える方法を考えるために読むものでしょう。
しかし、プログラミングに対してアレルギーがある、もしくはアレルギー反応が出そう、という方はこういった簡単な書籍から始めても良いかと思います。理解できなくて挫折してしまうのはもったいないので、最初のうちはなるべくハードルを下げた方が良いです。
④Scratchで楽しむ レッツ!プログラミング
こちらの書籍はマンガとイラストでわかりやすくScratchについて解説されています。対象は小学生~ですが、なるべくハードルを下げて勉強したい、文字ばかりの書籍でScratchを始めるのはきつい、という大人にもおすすめです。
ちなみにストーリー仕立てになっており、ゲームが大好きな小学生の男の子「サトシ」が、同級生のScratchの達人「トンボちゃん」の押しかけ弟子となり、プログラミングを学んでいく、という内容です。
プログラミングに対して抵抗感や難しいといった感情を持っている方は、ストーリーがあることで心理的な障壁がなくなるかもしれません。
まずはいったん動かしてみる
Scratchの魅力や動画や書籍を紹介してきました。「Scratchやってみようかな」と思っていただけたのであれば、何はともあれ猫を動かしてみるのがおすすめです。プログラミング言語によっては環境構築が必要で、そこから勉強しなければならない場合もあります。
しかしScratchは登録さえ不要でそのまますぐに動かせるので、やってみない手はありません。たぶん猫を少し動かしたら、「で、次何やればいいの?」と思うでしょう。しかしそれで良いのです。
今後ネットや書籍で情報収集しながらScratchをやっていくにしても、画面を見て実際に動かした経験があるのとないのとでは理解や記憶に差が出ます。また実際に動かしてみることで、これならできそうだから多少レベルの高そうな本やサイトで調べよう、難しそうだから子供向けの教材から試そうかな、など方針が決まってきます。
試さずに情報収集や勉強から始めてしまうと、方向性がずれてしまったり、頭の中に実際のイメージがない分頭に入りにくかったりするでしょう。なので、Scratchをやるなら深く考えずにまずは猫を動かしてみると良いですね。