見出し画像

プログラミングを始めようか迷っているなら、まずは「Scratch」で遊んでみよう!

コロナ騒動から2年がたった2022年、いまだに事態が収束する様子はありません。

不安が増えるなか、仕事にも活かせ、自分の作りたいものを作ることができる「プログラミング」に関心が高まっています。

しかし、自分がプログラミングを好きなれそうかをまず知りたい!という人や、プログラミングを始めようにも、何から始めればよいのかわからない!という人も多いのではないでしょうか。

かくいう自分もその一人でした。

そんなときに、最初に手をつけてよかったと思ったのが「Scratch (スクラッチ)」。

Scratchでの作業をつうじて、「プログラミングっておもしろい!」と素直に思えました。

まるでパズルのピースを少しずつはめていくような「プロセス」に面白さがあり、なによりも実際の作品として「完成」させた時のうれしさがとても大きかったです。

(実際にScratchではパズルのようにプログラムをつなげていきます。)

その経験から、Scratchが「自分がプログラミングを好きになれそうかを確認するのにピッタリな遊び場」だと思いました。

それは、実際のプログラミングが、Scratchのパズルのピースのようなブロックを、文字と数字だけのコードに置き換えたものだからです。

(その置き換えが難しい箇所ではありますが)

Scratchで何かを作ることに没頭する体験ができれば、プログラミングを好きになれる可能性は大きいです。

なぜScratchがプログラミングの「はじめの遊び場」として優れているかをみていきます。

Scratchが「はじめの遊び場」として優れた点

①すぐに始められる

Scratchはソフトウェアのダウンロードの必要がなく、オンラインで作業ができます。

しかも無料なので、今すぐ始めることができます。

②他人がつくったプログラムの中身が見れる

Scratchは、Scratch作品のプラットフォームにもなっており、他人のつくった作品を見ることができます。

そして気に入ったものや、参考にしたい作品を見つけたら、その作品が動いている仕組みであるプログラムものぞき見ることも可能。

これはまさに映画の舞台裏を見ているようなもので、どのように作品が作られているのかが分かり、学習が加速します。

ちなみにScratchでは他人のプログラムに手を加え、リミックスとして新たに自分の作品として制作することもできます。

③操作が簡単で遊びながら学べる

Scratchのメインターゲットは8〜16歳の子供。

プログラミング初心者がつまづかずに、アニメーションやゲームなどの制作ができるツールなので、操作も簡単で、遊びながら学ぶことが可能です。

Scratch内にチュートリアルも豊富にあるので、まずは気になるチュートリアルを見れば、使い方やキャラクターの動かし方もわかります。

やってみたいことがチュートリアルになくとも、インターネット上に日本語の情報がたくさんあるので、きっと答えが見つかるはず。

Scratchの優れた点を挙げましたが、Scratchを使って実際にどんなことができるのかをイメージするために、実際に作った作品を紹介します。

素人でも「12時間」でアニメとゲームのハイブリッド作品が作れた

2021年4月1日からプログラミング学習を始めました。

手始めとして誰でも無料で受けることのできる、ハーバード大学のコンピューターサイエンス入門コース(CS50xと呼ばれます)を受講しています。

そこでのいちばん最初の宿題が、「Scratch(スクラッチ)」で1つの作品を作ること。

以下、ぼくが作った作品です。

画像をクリックするとscratchのページに移動します。

費やした時間は12時間ほど。

Scratchを触り始めたばかりでほとんど仕組みが分かっていませんでしたが、頭で考えるよりも実際に手を動かすことが大切だと思いました。

実際に手を動かし、いろいろな機能や、使える素材を物色する中で、様々なアイディアが思い浮かんできました。

「恐竜を歩かせてみよう」とか、「プテラノドンが急降下するゲームにしよう」とか、「ジュラシックパークをもじって、名前はジュラシックファームにしよう」などなど。

いったりきたりとScratch内で遊びまわることが学びにつながると思いますが、どの順番で進めたらいいのか迷われる方の参考になるよう、ぼくが実際に制作した流れを説明します。

制作過程:5ステップで「世界に1つのオリジナル作品」を作れる

①キャラクターに簡単な動きをさせて、Scratchの操作に慣れる

まずはチュートリアルを見みてみましょう。

全てのチュートリアルを見る必要はなく、気になったものをだけを見てみてください。

最初は面白そうなものをかたっぱしから見て、Scratchで何ができるのかをインプットするだけでも大丈夫です。

すると、なんとなく操作方法もわかってきます。

チュートリアル中で自分もやってみたいことがでてきたら、ぜひ実際に作ってみてください。

ぼくが試しに作ったのが以下の作品です。

画像をクリックするとscratchのページに移動します。

非常に簡単なアニメーションで、1時間ぐらいでできました。

これを作る段階で、Scratchの基本操作と、何ができるのかを学ぶことができました。

②他人の作品を見てアイディアを膨らます

Scratchの可能性を知るために、チュートリアル以外にも他人が作ったものいくつか見てみましょう。

「こんなこともできるのか」と勉強になります。

ぼくが参考にしたのは、CS50xで例として取り上げられていた下記の作品です。

Ivy's Hardest Game - Yale
単純なゲームですが、非常に面白いです。

Gingerbread tales remix
簡単なアニメーションも入っていて参考になりました。

Intersection
とにかく難しいです。

③使える素材を確認し、アイディアを膨らませる

自分が使うキャラクターや背景を、別途自分で用意することもできますが、自分で用意すると時間がかかるので、最初からScratchに搭載されている素材を使いましょう。

これは、キャラクターの動き(プログラミング)により多くの時間をかけ、プログラミングの考え方を学ぶためです。

使える素材は、人や動物、食べ物、楽器や文字など、たくさん用意されています。

背景も屋内やアウトドア、ファンタジー、宇宙空間など、様々なものを使用可能。

ぼくは作品の統一感を大切にしたかったので、Scratch内で、絵柄が似たものをえらびました。

この時点で、選んだキャラクターを使ってどんな物語を作ろうか考え、「恐竜たちがイチゴを掘り起こしていく」というアイディアを得ました。

イチゴは掘り起こすものではないのですが、絵柄に統一感があるのでイチゴを使用しました。

④失敗をしながら少しずつ作りあげる

ここでは、浮かんだアイディアを少しずつ実際に形にしてみます。

うまく動かなければ、動かない理由が必ず存在するので、参考になりそうなチュートリアルを見てみたり、インターネットで調べてみましょう。

ぼくが最初に作ろうとしていたのは、「恐竜たちがイチゴを掘り起こしていくと、1つ別のものが混じっている」というアニメーションでした。

ぼくはアニメーションの知識が少しあるので、まずは元からある素材を少しだけいじり、キャラクターを動かす用の絵を作りました。

(恐竜の歩き、トリケラトプスのツノの伸び、プテラノドンのダイブする姿など)

ちなみに、Scratchで使えるいくつかのキャラクターは、最初から動かせるように、同じキャラクターのなかで別ポーズの画像が用意されています。

ぼくが選んだキャラクターにも別ポーズが用意されていたので、追加で作成した絵は多くなく、そこまで時間はかかりませんでした。

最初はアニメーションだけを作る予定でしたが、アニメーションを作る途中段階で「プテラノドンが急降下する」ゲームにしたいという欲がでてきました。

自分が良いと思うアイディアが出てきたら、試してみたくなります。

そこでゲーム部分の作成をスタートしました。

参考になりそうなチュートリアルを見返しながら、必要となるプログラムを追加していきます。

自分が意図した動きをさせるにはどうしたらよいのかを考えたり、実際に意図した通りにうごいた時が楽しく、時間があっという間に過ぎていきました。

うまくいかない時なども、なぜうまくいかないのかを一つずつ検証することで、プログラムの仕組みを徐々に理解することができます。

制作作業に対して、このようにパズルのピースを少しずつはめていくような面白さを感じました。

HPゲージに関しては作り方が全くわからず、チュートリアルにもなかったので、ネットで見つけたゲージを元に作成。

正直なところ変数についての知識はかなり怪しいのですが、なんとか完成までこぎつけました。

⑤音をつける

最後に音をつけましょう。

音も自分で用意することができますが、Scratchに標準装備のものがたくさんあるので、ぜひ利用しましょう。

音を入れる作業は、アニメーション部分やゲーム部分に比べて難しくありませんので、すぐに完了できます。

音なしでも1つの作品を完成させたときの感動は格別なものですが、なにより音を入れると作品としての完成度があがり、満足感にひたれます。

結論:Scratchはプログラマーになろうか迷っている人にとってのリトマス紙

Scratchが好きになれば、プログラミングを好きになれる可能性は大きいです。

Scratchで作品をつくる経験を通じて、特にプログラマーになろうか迷っている人にとってのリトマス紙になりえます。

それは、Scratchが直感的にプログラミングの概念が学べるように設計されており、実際のプログラミングは、Scratchのブロックをコードに置き換えるだけだからです。

プログラミングを始めようか迷われているなら、スクラッチのチュートリアルで興味のありそうなものをピックアップし、真似しながら何かを作ってみてください。

自分でやみくもにやり始めるのではなく、課題をこなしながらのほうがやる気がでるという方は、ハーバード大学のCS50xがオススメです。

英語での授業ですが、授業の要点がまとめられたページもありますし、教授が授業でいったことも文字起こしされ、別ページに用意されています。

CS50xのページはこちらです。

日本語版もあります。


独学ロードマップ

最後に、プログラミングを学ぶ決意をした方にオススメの本を1冊だけ紹介します。

それは、『知識ゼロからのプログラミング学習術 独学で身につけるための9つの学習ステップ』です。

独学で一番大変なのが、ゴールまでのロードマップ作り。

本書では、自分のやりたいことに合わせて、学ぶべきプログラミング言語や読むべき本、その学習の順番まで紹介されています。(第4章:作品別プログラミング学習ルート)

自分の進むべき道が分かり、学び始めてからも自分がどの位置にいるのか俯瞰して見ることができるので、独学中に道に迷う心配がなく、モチベーションを保つことができます。

また、第3章の独学のための9つの学習ステップをふめば、プログラマーとして成長が加速します。

ぼく自身この9つの学習ステップをまだ全部できていませんが、「作品を公開して改善する」ことや、「人に教える」ことをこれから積極的に取り入れていこうと刺激を受けました。

匿名のコメ・質問はmondまで👍 https://mond.how/ja/hovinci_jp