elm200 の日記

旧ブログ「elm200 の日記(http://d.hatena.ne.jp/elm200)」

書評「Scratchで楽しく学ぶ アート&サイエンス」

Scratch は、画面上でグラフィカルな部品を組み合わせるだけで、プログラムが作れるという開発環境である。 そのため、子どもたちにプログラミングを教えるときに使用することが多い。

プログラミングを学習する意義、Scratchの基本的な使い方超入門 (1/3)

友人の石原淳也氏は、長年 Scratch を使って、子どもたちにプログラミングの楽しさを伝えようと尽力されてきた。 CoderDojo 調布での活動がその一例である。

石原さんは、最近、

Scratchで楽しく学ぶ アート&サイエンス

Scratchで楽しく学ぶ アート&サイエンス

という本を出版された。献本深謝。

石原さんを通じて Scratch を知って、おそらく10年以上経つのだが、私の思考回路がテキスト処理を指向していたため、あまり馴染めていなかった。

「アート&サイエンス」という言葉がタイトルに含まれていることからわかるように、この本の内容は結構硬派である。「加速度運動」「論理回路」「確率」「三角関数」「円周率」「フラクタル」等々、大人向けのテーマになっている。Scratch は、画像表現に優れているので、こうしたテーマを巧みに画像(動画)にしていく。Scratch の例題と同等の動きをするプログラムが他の言語(Ruby, Processing, JavaScript, Python 等)でも掲載されている。

個人的には、「第5章フラクタル図形を描いてみよう」が好きだった。フラクタル図形は、「部分に全体が含まれる」ような図形で、自然界の至るところで見られる。例えば、木の枝分かれなども、フラクタル図形と言えるだろう。この本では、「シェルピンスキーの三角形」「コッホ曲線」「ツリー」等が取り上げられている。

私もフラクタルなネタを探した。数学好きの友人に尋ねたところ、「フィボナッチ文字列フラクタル(Fibonacci word fractal)」を勧めてくれた。フィボナッチ文字列フラクタル。名前からしてカッコイイ。これにしよう。

フィボナッチ文字列フラクタルとは、フィボナッチ文字列(フィボナッチ数列の文字列版)に基づいて、一定の規則でペンを動かしていって、描かれる図形のことである。詳しいことは、この素晴らしいサイトを参照のこと。

フィボナッチ文字列フラクタル - 数学自由研究

やってみた。

youtu.be

プログラムは以下のとおり。

f:id:elm200:20180909184007p:plain

Scratch でも、他のコード断片(ブロック)をサブルーチンとして呼び出すことはできるのだが、戻り値は持てない。そのため、再帰を使ったコードは書きづらかったのは残念。とはいえ、Scratch でもこんな複雑な処理がこなせるのだなと、このプログラムが完成したときは嬉しかった。

この本は、

  • Scratch でプログラムを書いてきた子供たちが、科学に親しんだり、他のプログラミング言語をはじめる
  • Scratch 以外の言語でプログラムを書いてきた大人が、Scratch に親しむ

のどちらにも役に立つと感じた。