抽象化に関して「知りたいこと」を募集します

来る1/10〜12の「第55回プログラミング・シンポジウム」にて「抽象化」をテーマとしたセッションを行います。

セッション概要

「抽象化」をキーワードに、参加者から「知りたいこと」を募集、みんなでそれに対する答えを考えてワイワイする会です。

「知りたいこと」の例

  • プログラムを書く上でどこまで抽象化するのか?
  • どうやって適当な抽象化レベルを判断する?
  • 抽象化する上での適切な言語の選択がある?
  • 抽象的に考えることをどうやったら習得できる?教えられる?
  • そもそも「抽象化」って何?
  • 抽象化のオーバーヘッドはどこまで軽減できるのか?
  • OSの権限分離のような強制的抽象化と、フレームワークのような強制でない抽象化について、何か違いはあるか?
  • 抽象化をうまくやる,あるいは抽象的に考えるには,どんな環境・制約があるといいのか?(今回「知りたいこと」という制約を付けたことが具体例。他には?環境の具体例としては大学における学習環境、ホワイトボードたくさん、議論しやすい什器など。他には?)

いきさつ

最近、僕は「学ぶ方法」の改善に興味があり、Facebook上で色々それに関することをつぶやいていました。それが幹事の目に止まり「これをテーマにセッションをしたら面白いのではないか?」ということで企画がスタートしました。

考えてみると「抽象化」をテーマにした議論ってのはあんまり経験したことがありません。これは、異なる専門分野の人が「プログラミング」という一段抽象的なキーワードで集まっている、プログラミングシンポジウムならではの試みといえるかもしれません。

このテーマには「正解」がないでしょうし、みなさんから寄せられた「しりたいこと」に答えが出せるかどうかすらわかりません。かなりチャレンジングなセッションです。有益なものになるように、最善を尽くしたいと思っています。

募集

そこで、抽象化に関して「知りたいこと」を募集します。

事前に情報があるほうが、ファシリテーションは楽になります。またセッションのファシリテーションがどう設計されているかに関して、事前に知っている参加者が多いほど現場の運営は楽になります。

「『知りたいこと』を募集する」と制限しているのは、制限された方が「なんでもいいから意見をお寄せください」と言われるよりも、思いつきやすいからです。

制限対象として「知りたいこと」を選んだのは、これが少し手を加えれば「問い」の形になるので、それに対する他の人の意見を引き出しやすいからです。

現場でのファシリテーションは大筋では「視点の異なる人から具体的な情報を集めてホワイトボード上で共有」→「異なる情報の間の共通の構造を探す」という流れになるかと思います。つまり、これも「抽象化」のプロセスです。

「知りたいこと」を募集します。よろしくお願いいたします。

本セッションのおおまかなアジェンダ

状況に応じて柔軟に変えるつもりですが目下の予定としては以下のとおりです。

  • 開始までに付箋などで質問を募集し続ける
  • 開始後、ホワイトボードでどんな質問があったかを可視化
  • 追加の質問を口頭で募集する
  • 質問の文面について、わからない単語や質問の意図などの質問を募集する
  • 全部の質問を近いものが近くに来るように配置し直す
  • 質問に対する回答を募集する
  • 回答に対する反論を募集する
  • 抽象的な発言に対して実例を募集する
  • 異なる実例の間の共通点を探す

参考文献