Pythonを学び、学生は興味をひろげてゆく 喜多教授がPythonを教えるワケ
京都大学の国際高等教育院で教養教育、特に新入生向けの教育を担っている喜多教授。自身のプログラミングとの出会いは、学生時代の1978年にIntel8080に触れたことだったという。当時はアセンブリ言語ではなく直接、機械語を書くことからプログラミングを始めた。その後、1990年代になってC言語やJavaを学び、2018年からPythonを教え始めたそうだ。「もし私がプログラマーとして優秀であれば、教壇に立つことはなかった」と語るが、なぜそんな喜多教授が、Pythonの授業を教えることになったのだろうか。
実は以前から、JavaやRubyを学ぶ科目は京都大学の教養教育の科目にはあったそう。しかしこれらの言語と比較して、Pythonはプログラミング初心者でも学びやすく、学術研究にも広く応用されている。新入生が最初に学び、その後自分の興味のある学問分野に応用していくプログラミング言語に最適として、Pythonの授業は開講が決定された。また喜多教授は、「Pythonの経験のない自分がこの授業を担当するようになった経緯は、他の教員がすでに別のプログラミング言語の科目を担当していたので"貧乏くじ"だった」と笑う。
2018年から授業を開始し、翌年の2019年にはオリジナルの教科書を執筆。その後も喜多教授たちは、毎年教科書の改訂を重ねている。
「教科書が先生」自習を促す教科書づくりとは?
喜多教授は教科書をつくるうえで、「学生が教科書を使って自分で学び、その内容を周りの人に共有できるようにする」ことを大事にしている。あまり知られていないが、日本の大学の授業は、学生が自習することを前提に構成されているらしい。多くの科目は30時間分の授業が行われるが、その2倍の60時間を自習に充てることが想定されている。つまり、学生の学びの道しるべとなる教科書は、より多くの時間が費やされる自習時間を支えられる内容でなくてはならない、「教科書を先生にする」というわけだ。
自習をサポートする教科書へのこだわりは、喜多教授がイギリスのオープンユニバーシティ(OU)を調査で訪問したことから来ている。遠隔教育を行うOUでの学び方は、学生が自ら本や教材で学んでいくアプローチで、そのために教員や編集者、図書館、学習支援者が協力して支援する。この学び方に驚いた喜多教授は、教科書こそが教師であるという考え方をとっている。また、喜多教授の授業では、知識を伝えることは教科書に委ね、プログラミングを行う学生との双方向のコミュニケーションを重視するインタラクションに授業時間の多くを充てているそうだ。
また、このような授業のスタイルは知識創造のSECI(セキ)モデルも参考にしている。SECIモデルでは、「共同化(Socialization)」「表出化(Externalization)」「結合化(Combination)」「内面化(Internalization)」の4つのプロセスを繰り返すことで、知識を暗黙知と形式知に循環させながら組織内で創造していく。本モデルを学生と教師の状況に置きかえると、まず学生は形式知である教科書を通してPythonの知識を学び、授業で実践的な課題に取り組み(内面化)、この経験を教師とのコミュニケーションを通して互いに知識として深めていく(共同化)。教師は、授業の経験から得た知識(暗黙知)を言語化し、教科書を作成・改訂する(表出化)とともに関連知識をつなげて行く(結合化)。学期期間中は補助教材を通じて、翌年度は改訂された教科書を用いて、学生はプログラミングを学ぶことができるというわけだ。