(2006年03月29日)プログラムの技法の中にペアプログラミングという技法がある。2人でひとつのプログラムを交代しながら組んでいくというもの。1人がプログラムを組んでいる間は、もう一人は横で見ながら突っ込みを入れたりする。その結果、2人が別々に別々のプログラムを作っているより、その作業効率が上がってしまうという不思議な技法なのだ。今回は、これを学習技法として捉えてみよう。■ペアプログラミングのやり方説明、もういちどペアプログラミングのやり方の説明は、こちらが分かりやすい。いつでもいっしょ(ペアプログラミング)『1人は、キーボードやマウスを使ってプログラムを入力する役、もう1人は、その様を眺めながら入力している人にアドバイスやいわゆる「突っ込み」を入れる役です。突き詰めてしまえば、これだけのこと。■ペアプログラミングの効用では、これをすることでなぜ効率が上がるのか。それはこちらにだいたいのところがまとまっている。■学習という視点から見たペアプログラミング学習という視点から見ると、3番目の「作業者間のノウハウが共有され、スキル向上につながる」がポイントとなる。お互いの持っているものが違うので、それを隠すことなく出し合うことで、より高いレベルでのプログラム開発ができる上、相手の持っている知識を学習することができる。これを、学校での学習などに落とすと、例えば先々週のメルマガに掲載した「朗読する作文(あ氏執筆)」などの内容になる。『作文は頭で考える「書くモード」で行いますが、言葉は音が基本ですので、書くときにも実際に声に出してみると文章のリズムがよくなります。その際、一人で朗読するのではなく、クラスメートとペアになって、お互いの作文を読み合い、修正していくことで、他者が読んでもわかりやすい文章が書くことができます。』ペアプログラミングは、教育手法のジャンルでみると「プロジェクトベース学習」や「協同学習」の行なおうとするところにも近い。グループで学習を進める(かつ、だれかがさぼることで、全体の学習は進まなくなる状況をつくる)ことで、メンバー間の協力が増進される。■ペアプログラミング(のまわり)を積極的に教育に取り入れるプロジェクトベース学習や協同学習を進めて行くには、ある程度、ファシリテーターに熟練した技量が必要となる。ペアプログラミングでも、それはもちろん変わらない。ペアプログラミングは、プログラム開発という、仕事の現場で使われているため、その進め方が道具として洗練されている部分が多い(勘違いされるかもしれないので注記しておくと、道具として洗練されているから、結果が良くなるというわけでは決してない。いろいろな意味での使いやすさが上というだけ)。そこを取り入れるのは、マイナスにはならないだろう。そのあたりに詳しく(かつプログラムの知識がなくてもある程度よめそう)なのが、わたしたちのプチXP体験談この前半にある「12のプラクティス(欄としては「エックスピー!」にある)」の中にペアプログラミングがある。この「12のプラクティス」が取り入れたい道具だ。「計画ゲーム」「スタンドアップミーティング」「ミッションステートメント」などは、どんな仕事・学習であるかを問わず、いつでも使える内容だといえるだろう。「先生(もしくは上司)が決めてしまうことの多い事柄を、みんなで一緒になって/自分で作成することによって、参加感が向上する」のが、もっとも大きな利点だといえる。これらの道具を使用することで、参加者全員に全体像やフォーカスするポイントが見えるようになり、先が読めるようになる。先が読めるようになれば、頭の対応はスムーズに行なわれ、いらない混乱は少なくなる。これは、文章を書く際にも全く変わらない。2005年11月メルマガ・RSSで読む毎週水曜日、1週間分のニュースをまとめてお送りします(無料)。最新記事をRSSで読むネタを提供する教育に関するネタ大歓迎。ありがとうございました。mobile最新15記事の大事なトコだけ読めるようになってます。