「京大生でもx=x+1が分からない」、喜多教授が明かすPython教育の実態 [少考さん★]
「京大生でもx=x+1が分からない」、喜多教授が明かすPython教育の実態
プログラミング言語「Python」の大規模イベント「PyCon APAC 2023」が2023年10月27日と28日の2日間にわたって開催された。1日目に行われた京都大学国際高等教育院の喜多一教授による基調講演を中心に、イベントの内容をリポートする。
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=x+1」の問題を示したスライド
(写真:喜多教授のスライドを日経クロステックが撮影)また、繰り返し構文に使われる「for i」という表現に学生が戸惑うことも例として挙げた。「for you」という英語を連想してしまうからだ。ただ、学生が学習を進めることで、こうした問題はいずれ解決する。
コースでは「エラー」の問題にも力を入れている。この問題を取り上げた教科書は少ないという。「エラーが発見された場合に、その原因を見つけるのは実は難しい」(喜多教授)。エラーに遭遇した学生の反応は「エラーメッセージを読まない」「学習をやめてしまう」に二分されるという。こうした事態を避けるために、典型的なエラーをわざと起こして学生に体験してもらうようにしている。知っているエラーであれば、エラーメッセージを読むことで理解できる。これにより学生が「デバッグは普通のことだ」と捉えられるようになるという。
「京大生でもx=x+1が分からない」、喜多教授が明かすPython教育の実態プログラミング言語「Python」の大規模イベント「PyCon APAC 2023」が2023年10月27日と28日の2日間にわたって開催された。1日目に行われた京都大学国際高等教育院の喜多一教授による基調講演を中心に、イベントの内容をリポ...
つまり70〜80歳の老人でもな。
こうな
アクセルとブレーキの違いがわからないから。
京大生なら一度教えりゃわかる
頭悪い文系向けの釣り記事
京大生「主語が大きすぎると思います」
どういう事
数学とプログラミングはイコールの使い方が違うよって話
その知識があるかどうかってだけ。
++x と x++
で意味違うから
どやあ
ただのX++か
現在のxの値に1を足したものを
xに代入する(新しいxの値とする)
くらい説明してやれ
そりゃ最初は変数知らないだろ
でもすぐ覚えて終わりだろ?
何が問題なんだ
説明不足で分からんもなにもあるか
予習くらいせぇやとは思うが
希少な例をもってきて主語でかくすんな
素人でも勉強した方がいいのだろうか?
>>60
パソコンは何かをする道具だから、その何かを先に見つけて来い
そうしたらプログラミングの価値が決まるわ
相手は完全素人なんだから当然だろ
どうせ1回教えりゃわかる
英語を知らない日本人に英語を教えるようなもだからな
なんかネタが無いからしょうがなく書いた記事
(ヾノ・∀・`)ナイナイ
小学生ですらプログラミングを勉強できているんだぞ。
小学生でも分かる事を京大生が分からないはずがない。
>>89
分からないとは違う
まだプログラミングを知らない人に対して教える事を「苦労する」とか言っちゃってるの、この教授
(汎用機世代)
コメントだお( ^ω^ )
Haskellとか関数型言語を教えればいいじゃん