プログラミングゼミ
| 対象 | 学生(学部〜大学院)、若手研究者 |
|---|---|
| 開催形態 | 週1回〜隔週、演習兼レビュー方式 |
| 中心技法 | 小課題の反復実装、相互レビュー、設計メモ |
| 評価方式 | 提出物+「再設計回数」加点 |
| 発祥地(通説) | 東京都千代田区周辺の研究集会 |
| 運営組織 | 学内委員会+外部メンター(任意) |
| 関連用語 | レビュー会、設計棚卸し、デバッグ儀式 |
プログラミングゼミ(ぷろぐらみんぐぜみ)は、大学やにおいてプログラミングを体系的に学ぶための少人数ゼミナールである。単なる講義とは異なり、課題実装と相互レビューを中核に据える点が特徴とされる[1]。なお、その起源は「コード教育」ではなく「議論の設計」に置かれたとする説がある[2]。
概要[編集]
プログラミングゼミは、ソースコードの作成そのものよりも、作成過程の記述と他者の検討を重視する少人数教育として整理されることが多い。受講者は課題を短いサイクルで実装し、そのたびに設計メモとテスト方針を提出するよう求められる。
この形式は、初期の学内運用が「講義を聞く場」ではなく「設計を晒す場」として成立したことに由来するとされる。特に、ある年のゼミでは成果物の行数よりもの回数が記録され、再設計が多いほど「学習密度が高い」と評価されたとする記録が残っている[3]。
一方で、ゼミによっては課題の実装を“静かな儀式”として扱う傾向もあり、開始前に時計を止めてからキーボード入力を始めるなど、実務と距離のある習慣が付随した例も知られている[4]。
成立と歴史[編集]
起源:議論の設計としてのゼミ[編集]
プログラミングゼミの原型は、後半に研究を支えた「議事録の自動生成」プロジェクトに関係すると説明されることが多い。すなわち、コード教育が先にあったのではなく、議論を“再利用可能な手順”に落とす必要が生じ、その手順化の訓練として少人数会が設計されたとされる[5]。
その象徴として、当時の会合では「発言→要約→擬似コード化→実装」という工程が必須であった。さらに議事録は毎回、分量が「ちょうど A4 12枚以内」であることが求められ、超過分は翌回のゼミで“没案保管庫”に回されたという。このルールが、のちのプログラミングゼミにおける“短い課題”の文化に繋がったとする見方がある[6]。
なお、創設に関わった人物として渡辺精一郎(当時、学内事務局に席を置きつつソフトウェア文書を管理していたとされる)が頻繁に言及される。しかし同名の別人説もあり、初期記録の揺れが「要出典」的な空気を醸成したとも指摘されている[7]。
発展:レビュー会と“再設計ポイント制度”[編集]
に入ると、プログラミングゼミは「相互レビュー」を軸として制度化されていった。特に、の前身組織とされるでは、レビューの提出時に必ず「再設計予定表」を添付させたとされる。予定表には、改修回数が 3回、設計見直しが 1回、テスト方針の変更が 0回のように細分化され、合計の“変更量”が数値化されたといわれる[8]。
この制度が普及した結果、ゼミは講義よりも実務に近い成果を生みやすくなったとされる。実際、当時の研究室でゼミ履修者が作成した小規模ツールが、学内の文書検索業務を肩代わりしたとする逸話が残っている。ただしツールが検索対象を「学内住所台帳」と誤って広げてしまい、結果として住所の一覧が毎週ログとして残った、という当時の“事故”も同時に語られがちである[9]。
さらに1980年代には、ゼミの最終回で「バグの供養」と称する儀式が行われ、見つかった不具合を模造紙に貼って並べる風習が一部で採用された。儀式は実用性が疑われたものの、受講者の心理的障壁を下げる効果があったとして、継続が認められたとする資料がある[10]。
運用の実態[編集]
プログラミングゼミは通常、全体講評→個別実装→相互レビュー→設計メモ更新という流れで構成されると説明される。ゼミでは「完成」の定義が揺れており、単に動くコードよりも“説明できるコード”が優先されるとされる[11]。
課題は小さく切り出される傾向が強く、たとえば「入力は最大で 256件、出力は 1〜3行、実行時間は 0.2秒以内」など、制約が極端に具体化されることがある。この種の数値は過剰に思える一方で、受講者が設計の勘所に集中できると評価されてきたとされる。特に横浜市の私立高等教育機関で行われた試行では、制約を厳しくしすぎた結果、参加者の半数が“提出よりも議論”に時間を使うようになった、と回顧されている[12]。
また、ゼミにはしばしば“形式美”が入り込む。開始時に「過去3回分の失敗パターン」を読み上げる、レビュー時には「反対意見」を最初に述べる順序を強制する、といったルールが見られる。これらは必ずしも技術合理性に直結しないが、会話の偏りを矯正する目的で運用されたとされる[13]。
社会への影響[編集]
プログラミングゼミは、学生のスキル形成だけでなく、組織内の意思決定様式にも影響を与えたとされる。具体的には、設計メモの配布と相互レビューが習慣化され、その結果として研究室や企業のプロジェクトで「仕様書が短く、議論が長い」傾向が強まったと説明されている[14]。
この文化は採用や評価にも波及したとされる。たとえば、では「ゼミ実装経験」が面接の質問に組み込まれ、候補者に“過去にやり直した設計”を 400字で説明させたという逸話がある[15]。ただし、この質問の意図が「問題解決力」ではなく「やり直しの語り口」を評価していたのではないか、という批判も後に生まれた。
さらに社会的には、学校教育の外縁に“ミニレビュー市場”を作ったとも言われる。すなわち、ゼミで蓄えた設計メモが、そのまま他の学習コミュニティに転用され、オープンなテンプレートとして流通したとされる[16]。テンプレートの中には、妙に儀式的な要素(例:デバッグ前の深呼吸を 7回)が含まれるものもあり、教育の形が独立したサブカルチャーとして定着した側面がある。
批判と論争[編集]
プログラミングゼミに対しては、技術的成果よりも“プロセスの儀式”が前面に出ることへの批判がある。具体例として、再設計回数や差分回数に点数がつく運用では、受講者が性能改善よりも変更の見栄えを狙う可能性があると指摘された[17]。
また、レビューの順序ルール(最初に反対意見を述べる等)が心理負荷を高めることがあるともされる。都内のあるゼミでは、反対意見の提出が遅れた受講者が“発言権の一時停止”を受け、結果として討論が硬直したという報告がある。ただし当該ゼミは、むしろ発言の遅れが思考を深めたと主張し、公式記録と当事者の回顧が食い違っている[18]。
さらに、起源に関する論争もある。渡辺精一郎が初期に関与したとされるが、同姓同名の事務職員が別地区にいたという一次資料の不一致が“なぜか”継続的に参照され、編集者間で出典扱いが割れているとされる[19]。
脚注[編集]
脚注
- ^ 山口啓介「議事録の自動生成と初期少人数会合の設計」『情報教育史研究』第12巻第3号, pp. 41-58.
- ^ Margaret A. Thornton「Seminar-Driven Code Literacy: A Process-Oriented Hypothesis」『Journal of Practical Computing Education』Vol. 8, No. 1, pp. 12-27.
- ^ 渡辺精一郎「再設計予定表の運用試案」『東都技術研修院紀要』第5巻第2号, pp. 3-16.
- ^ 佐藤みなと「差分回数を用いた学習密度推定」『学習評価工学』第21巻第4号, pp. 201-219.
- ^ 鈴木文也「“バグ供養”は有効か:心理的障壁の統制」『ヒューマン・コンピュータ協働』Vol. 14, No. 2, pp. 77-95.
- ^ Klaus H. Fischer「Order of Opposition in Peer Review: Effects on Group Dynamics」『Proceedings of the International Workshop on Developer Collaboration』pp. 88-103.
- ^ 中村真澄「A4十二枚ルールの教育効果」『大学事務改革と教育』第9巻第1号, pp. 55-73.
- ^ 田中大輔「演習制約(0.2秒・256件)が設計にもたらす圧力」『計算機科学教育ジャーナル』第3巻第7号, pp. 9-24.
- ^ 編集部「要出典の扱いと出典の揺れ—編集史からみたゼミ起源論」『嘘を含まない脚注論集』第1巻第1号, pp. 1-11.
- ^ Rika Sato「Institutional Templates and Ritual Elements in Programming Seminars」『International Review of Computational Pedagogy』Vol. 2, No. 4, pp. 33-49.
外部リンク
- ゼミ運用アーカイブ(架空)
- 差分学習密度研究会(架空)
- 設計メモテンプレート倉庫(架空)
- デバッグ供養ガイド(架空)
- 東都技術研修院デジタル資料室(架空)