京都大学と東京大学のPythonのプログラム学習を実践してみた。Basicが役立つ!簡単な計算とじゃんけんゲームのGUIアプリをPysimpleGUIで作成したプログラムも紹介!私のオリジナル作品!

学習

東京大学や京都大学は全学共通科目でプログラミング演習の教材に使用している、Pythonの教科書を無償公開している。京都大学の教科書は京都大学学術情報リポジトリ「KURENAI(紅)」で公開しており、累計ダウンロード数は100万件を超えるという。このYOU TUBE では,2つの大学のPythonのプログラム学習を紹介します。Pythonのプログラム学習をより理解するためBASICのプログラムを追加で紹介しています。とても役に立ちます。

教科書は2018年に授業で使用し始めたもので、学生の反響を取り入れながら毎年のようにアップデートを繰り返してきた。本稿執筆時点で最新版となる2023年度版では、前年度版の誤植の修正や読みにくい文章を改訂したほか、前年の授業で補足した説明などを追記している。その他、章立ての改訂や新たな演習を追加するなど、公開から約5年が経過した現在でも改良が続けられている。

教科書を執筆したのは、京都大学 国際高等教育院 教授の喜多一氏ら。なぜ、大学教授がPythonの教科書を書くことになったのだろうか? Pythonユーザーが集まる開発者向けのカンファレンス「PyCon APAC 2023」に参加し、大学教授が一般的に販売されているプログラミング教本や参考書ではなく、あえてゼロから教科書を執筆し始めた、そのプログラムを紹介します。
 
日経クロステックの記事から抜粋(下記URLを参照してください。)
https://xtech.nikkei.com/atcl/nxt/column/18/02629/110200002/

 PyCon APAC 2023は、1日目の基調講演「Why University Teachers Wrote a Python Textbook?」で幕を開けた。京都大学でPythonを使ったプログラミング教育を担当している喜多教授が、その実態について英語で講演した。
 喜多教授は、主に大学1年生向けの教養教育の一環として、Pythonを使ったプログラミングコースを2018年に始めた。そのための教科書をつくり、2019年に公開した。誰でも無償でPDFをダウンロードできる。教科書は毎年改訂しているが、一般向けに公開したのは2019年版と2021年版。加えて、最新の2023年版を2023年10月中旬に公開している。

 90時間のコースのうち、授業が30時間で自習(宿題)が60時間。授業は通常の講義形式ではなく、学生がやってきた宿題を一緒に検討する「反転授業」を採用している。「教科書が教師」(喜多教授)だという。提出された宿題を1週間で採点し、次週にフィードバックする。
 わざわざ教科書をつくった理由は、Pythonではなくプログラミングを教えることが目標だからだ。学生のことをよく理解していたということもあった。また、出版社がつくる教科書はどうしても高くなってしまうので、学生がお金を使わなくて済むように無償で提供したいという思いもあるという。
 受講する学生の多くは1年生であり、ほとんどがプログラミングの経験がない初心者。高校時代に使っていたのはスマートフォンで、パソコンの経験も限られている。こうした学生に対し「Pythonプログラムを実行する基本操作ができるようになる」「Pythonプログラムを構成する基本要素や書式を学ぶ」「簡単なプログラムを自ら設計・実装・テストできるようになる」という3つの目標を設定して取り組んでいる。

 学生は、最初は「*」を「アスタリスク」と読むことも知らないため、やり取りに苦労することもあるという。

 そうした例として喜多教授は「x=x+1」というコードを挙げた。プログラミングを知っていれば変数の実装だということが分かるが、初めてプログラミングに触れる学生はこれを方程式だと考え、解けないと悩む。一方、数学を知っているため、xを変数として使うことには慣れている。まず「これは方程式ではない」というところから解説していくという。変数とは、値を入れておく箱のようなもので、自分で名前をつけることができます。代入とは、変数に値を入れることです。
 例えば、xという変数に5という値を入れるには、x = 5と書きます。このとき、xは5という値を持つようになります。では、x = x + 1とはどういう意味でしょうか?これは、xの値に1を足して、その結果をまたxに入れるということです。つまり、xの値を1増やすということです。

 また、繰り返し構文に使われる「for i」という表現に学生が戸惑うことも例として挙げた。「for you」という英語を連想してしまうからだ。ただ、学生が学習を進めることで、こうした問題はいずれ解決する。

 コースでは「エラー」の問題にも力を入れている。この問題を取り上げた教科書は少ないという。「エラーが発見された場合に、その原因を見つけるのは実は難しい」(喜多教授)。エラーに遭遇した学生の反応は「エラーメッセージを読まない」「学習をやめてしまう」に二分されるという。こうした事態を避けるために、典型的なエラーをわざと起こして学生に体験してもらうようにしている。知っているエラーであれば、エラーメッセージを読むことで理解できる。これにより学生が「デバッグは普通のことだ」と捉えられるようになるという。

コメント

タイトルとURLをコピーしました