Hatena::ブログ(Diary)

shi3zの長文日記 RSSフィード Twitter

2013-10-16

文科系の大学生にプログラミングを教えて思ったこと 09:44

 毎週授業をやるというのも久しぶりで、しかも教えたことがないことを教えたことがない方法で教えるというのもいろいろと準備が必要で思ったより大変だった。


 文科系の学部でプログラミングを教える。

 しかも、ただ教えるのではなく、教養と歴史背景を理解させた上で、これまでどんな大学の授業でも教えきれなかったレベルまで教える、というのが僕の目標だ。


 というのも、僕は大学のプログラミングの授業に非常に大きな疑問を持っているからだ。

 全ての大学がそうではないだろうが、僕が大学で受けたプログラミングの授業は、一言でいえば退屈だった。


 一年かけてC言語の文法を覚えるような、取り入れた知識が反対側から零れでて行くような、構文と意味がバラバラに伝わって来て、自分のやりたいことをプログラミングで表現することがほど遠く感じられるようなもので、それで僕は大学時代はプログラミングの授業などほとんど聞こうという気持ちにならなかった。


 やりたいことに対してやれる方法を最小限のステップで教える。ステップ・バイ・ステップで手を動かしながら高度なことを学んで行く。そういうカリキュラムを構築してみよう、というのが今回の挑戦だ。そうだな。音楽の授業に近い。


 音楽の授業で、音符の意味や楽譜の読み方を一年間かけてやったりはしない。

 最低限、楽譜の読み方を教えたら、まず歌ってみる。歌いながら歌い方を調整して行く。だから音楽の授業は結構楽しい。歌うのが嫌いでなければ。美術の授業のようであってもいい。先生は課題を与えて、少しだけテクニックについて説明するが、あとは子供達が自分で考え、自分で表現する。


 プログラミングを専門的な職業とするのでなければ、それで充分だと思う。

 どのみち、専門的な職業にするなら、前提となる知識はもの凄く膨大か、会社によっては全くゼロでも構わない。プログラマーを促成栽培して「SE」というラベルを付けて送り込む会社はいくらでもあるし、一方でそれまでの人生で書いたコードの質でしか人間の価値を評価しないような会社もある。


 要するに大学教育でプログラミング能力が身に付く等ということは、社会の誰も期待していないのだ。

 だったら、できるだけ楽しく、プログラミングの楽しさと奥深さを伝えるような授業がしたい。

 ここで得た知見は、必ず僕の個人的なプロジェクトにも役立つはずだ。


 そんな授業も昨日で四回目。第一回はプログラミングというものの正体、第二回はコンピュータ誕生の歴史、第三回はコンピュータとデザインの歴史、そして第四回になって、いよいよハイパーテキストの成立、ということで学生たちに少しだけHTMLを書かせてみた。


 HTMLを書かせるのは何が良いだろう?と考えたのだけど、code.9leap.netが一番簡単に説明できることに気づいた。


 そこで授業専用のサンプルプロジェクトを作り、これをベースにHTMLの書き方を教えることに。

 まずはAタグ、そしてIMGタグ。


 IMGタグでは、学校のロゴを表示させてみる。

 「_(アンダースコア)」の入力でつまづく子が居て、「アンダースコアはSHIFT+ろだよ」と教える。


 けど、学校のロゴを表示するだけじゃ面白くない。

 Facebookを開いて、自分のFacebookページから好きな写真のURLをコピーしてきて、IMGタグに張り付けてごらん、と教えると、歓声が湧いた。


 code.9leap.netだと、作ったプログラムを実機で確認できるQRコードが自動生成される。

 これを撮影すると、自分のスマートフォンに今しがた作ったHTMLがそのまま表示される。


 「凄い!」


 女生徒が思わず呟く。


 ああそうか。と思った。

 こういう感覚を、僕自身が少し忘れていたな、と。


 この段階ではまだプログラミング、までは行っていないが、コンピュータに謎の言語を打ち込むと、それが表現される喜び。思い通りに動いたという感動。


 なにより、Facebookの画像を拾って張り付けることで、自分自身の手で自分でなんらかの"もの"を作り出したと思える感動。


 そうだよな。これがコンピュータの根源的な楽しさなんだ。

 

 目を輝かせながらキーボードに向かう学生達を見て、僕がやろうとしていることは間違っていないという手応えを得た。全ての人にプログラミングを。それは、人間が根源的に持つ、"もの作り"への渇望を具現化するものなのだ。


 ↓一般の方も聴講いただける講義もやっています。詳細はこちら

MOONBlock ハッカソン | Peatix

enchnatMOONがTVに出ます。また、enchantMOONが切り開く新しいプログラミングについて講演します - shi3zの長文日記

http://d.hatena.ne.jp/shi3z/20131017/1381965612