ダニエル・シフマン(Daniel Shiffman)のCoding Trainが面白い。
ダニエル・シフマンはProcessingというJavaベースのグラフィックス開発のプログラミング言語を作っている財団のリード・デベロッパーで芸術系の学校の准教授だそうだ。
同学校のインタラクティブテレコミュニケーションプログラムの修士号に、イェール大学の数学と哲学の学士号を持っているという。
彼はThe Coding Trainというプログラミングを学べる動画をYouTube上に公開している。
The Coding Train // Daniel Shiffman
英語だけで、日本語の字幕が無いのが残念だが、プログラミング内容は大体は理解できると思う。
とにかくハイテンションで面白く見ることができる。
興味深いのは、彼が視聴者に色々と説明しながら作っているせいでもあるが、結構、色々と間違えるところだ。
単純なスペルミスから、数式の間違い、数列の説明もちょっと間違えている。
Javascriptの標準化されたものであるECMAScriptもうろ覚えで間違えたりする。
頻繁にエラーが出て、プログラムが動かない。
調和関数(Sin, Cos)の紹介では、面白い動きをする例を考えつかなくて、半泣きになる。
前に同じような講座をすでにしていて、YouTube動画の中でYouTube動画を見て、自分が若いとかヒゲがどうこうと感想を述べてみたりする…(笑)
こんなことを言っては失礼だが、ちょっとおっちょこちょいな人みたいだ。
一番上のShiffmanさんのサイトはタイトルが設定されていない・・・。
おかげでFirefoxではタイトルが無い場合にはGoogle検索から移動するとタブのタイトルが遷移のURLのままになって更新されないことがわかった。
彼にはすでに上で紹介したような実績がある。
それが前提ではあるから認められているところはあると思う。
しかし、日本だったら、人に教えながら、こんなにプログラムを間違えたり、説明を間違えたりしていると、「事前にちゃんと準備しろ」「そんなうろ覚え程度の知識で良く人にものを教えているな?」という批判にさらされる可能性があると思う。
でも、ダニエル・シフマンさんはそんなことは気にしない。
その場で、う〜んと考えながら、またそのことを楽しみながら、トライアンドエラーを繰り返している。
そして、リアルタイム視聴していたユーザも間違いに気づけばそれを指摘しつつ、彼の授業を批判すること無く視聴しているようだ。
その場でちょっと動かしてみて、うまく動かなければその都度、自分を責めたりせずにどこが間違えているのかを、それを面白がりながら考えて、思いついたものを試しみる。
うまくいけば良いし、うまくいかなければまたソースコードに手直しを加える。
彼くらいの人間でもそんな風にしてプログラムをしていると思うと初心者も気が楽になるのではないだろうか?
また、アメリカではその他の分野の実験でも、その実験で結果を出さなければと気負うことがあまり無いところがあるという。
それを象徴する言葉が「レッツ・プレイ」だという。
本当の遊びということではないけれども、楽しんで行うという意味があると聞いた。
コーディングもこういうことなら楽しいかも知れない。
p5.jsというProcessingと同じようなコードを組むことでブラウザ上で同じように動作するJavascriptライブラリがあり、主にそれを使って学習する。
初心者でも随分と簡単に画像を操作するプログラムが作れるので、円などを動かしたり、表を作ったりするのが簡単で初心者でも最初から視覚的なプログラムを作って学ぶことができる。
これはかなりおすすめである。
日本語に翻訳された本もある。