1 少考さん ★ :2023/11/07(火) 23:35:35.04ID:156vH5X39
「京大生でもx=x+1が分からない」、喜多教授が明*Python教育の実態 | 日経クロステック
https://xtech.nikkei.com/atcl/nxt/column/18/02629/110200002/
大森 敏行 日経クロステック
2023.11.07
有料会員限定 全2851文字
プログラミング言語「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を変数として使うことには慣れている。まず「これは方程式ではない」というところから解説していくという。

(出典 cdn-xtech.nikkei.com)
「x=x+1」の問題を示したスライド
(写真:喜多教授のスライドを日経クロステックが撮影)
[画像タップで拡大表示]
また、繰り返し構文に使われる「for i」という表現に学生が戸惑うことも例として挙げた。「for you」という英語を連想してしまうからだ。ただ、学生が学習を進めることで、こうした問題はいずれ解決する。
コースでは「エラー」の問題にも力を入れている。この問題を取り上げた教科書は少ないという。「エラーが発見された場合に、その原因を見つけるのは実は難しい」(喜多教授)。エラーに遭遇した学生の反応は「エラーメッセージを読まない」「学習をやめてしまう」に二分されるという。こうした事態を避けるために、典型的なエラーをわざと起こして学生に体験してもらうようにしている。知っているエラーであれば、エラーメッセージを読むことで理解できる。これにより学生が「デバッグは普通のことだ」と捉えられるようになるという。
この記事は有料会員限定です。次ページでログインまたはお申し込みください。
次ページ
学生への心からの贈り物
https://xtech.nikkei.com/atcl/nxt/column/18/02629/110200002/
大森 敏行 日経クロステック
2023.11.07
有料会員限定 全2851文字
プログラミング言語「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を変数として使うことには慣れている。まず「これは方程式ではない」というところから解説していくという。

(出典 cdn-xtech.nikkei.com)
「x=x+1」の問題を示したスライド
(写真:喜多教授のスライドを日経クロステックが撮影)
[画像タップで拡大表示]
また、繰り返し構文に使われる「for i」という表現に学生が戸惑うことも例として挙げた。「for you」という英語を連想してしまうからだ。ただ、学生が学習を進めることで、こうした問題はいずれ解決する。
コースでは「エラー」の問題にも力を入れている。この問題を取り上げた教科書は少ないという。「エラーが発見された場合に、その原因を見つけるのは実は難しい」(喜多教授)。エラーに遭遇した学生の反応は「エラーメッセージを読まない」「学習をやめてしまう」に二分されるという。こうした事態を避けるために、典型的なエラーをわざと起こして学生に体験してもらうようにしている。知っているエラーであれば、エラーメッセージを読むことで理解できる。これにより学生が「デバッグは普通のことだ」と捉えられるようになるという。
この記事は有料会員限定です。次ページでログインまたはお申し込みください。
次ページ
学生への心からの贈り物
4 ウィズコロナの名無しさん :2023/11/07(火) 23:37:36.57ID:i3pXfZqy0
>>1
なんで英語なん?
なんで英語なん?
5 ウィズコロナの名無しさん :2023/11/07(火) 23:38:09.39ID:1dIcuhCb0
知らないものは仕方ないだろう
7 ウィズコロナの名無しさん :2023/11/07(火) 23:38:47.08ID:bnd4hbid0
要するに
プログラミングを知らない
っていうだけなのにX=X+1とか言い出す意味とは?
プログラミングを知らない
っていうだけなのにX=X+1とか言い出す意味とは?
8 ウィズコロナの名無しさん :2023/11/07(火) 23:39:07.04ID:4aB//ld30
X++
9 ウィズコロナの名無しさん :2023/11/07(火) 23:39:17.83ID:soZFWhwH0
x++ ってことだろ
10 ウィズコロナの名無しさん :2023/11/07(火) 23:39:22.15ID:G3yUe6xd0
答え x=無限大
11 ウィズコロナの名無しさん :2023/11/07(火) 23:39:23.90ID:PoZyPgd70
何が問題なんだ
知ってるかどうかのことだけだろ
知ってるかどうかのことだけだろ
12 ウィズコロナの名無しさん :2023/11/07(火) 23:39:54.49ID:KrWJRifT0
Pascalみたいに「:=」にしろってわけでもないよな
13 ウィズコロナの名無しさん :2023/11/07(火) 23:39:58.18ID:AMUOJi570
受験勉強が得意だっただけの連中にそれ以上を期待するなよ
14 ウィズコロナの名無しさん :2023/11/07(火) 23:40:19.77ID:RjKK6Ef10
=の意味が数学とプログラミング言語で違うだけっしょ
15 ウィズコロナの名無しさん :2023/11/07(火) 23:40:19.77ID:l5oca4ML0
理解できないのではなくただ知らないだけ
知らないから学ぶのだろ
しょうもないことをわざわざたいそうに書くんだな
知らないから学ぶのだろ
しょうもないことをわざわざたいそうに書くんだな
16 ウィズコロナの名無しさん :2023/11/07(火) 23:40:24.91ID:3Hm7AYDq0
良いスレタイ。レスバ煽りに最適やね
17 ウィズコロナの名無しさん :2023/11/07(火) 23:40:35.21ID:CAER2RAC0
そりゃいきなり言われてもわからんわ
19 ウィズコロナの名無しさん :2023/11/07(火) 23:40:50.09ID:Ki6ML9390
プログラミングの最初の難関だと思う
20 ウィズコロナの名無しさん :2023/11/07(火) 23:41:09.37ID:soZFWhwH0
こんなの1970年代のプログラマーなら誰でもわかる。
つまり70〜80歳の老人でもな。
つまり70〜80歳の老人でもな。
23 ウィズコロナの名無しさん :2023/11/07(火) 23:41:55.66ID:j8TpxpF60
これ卑怯なタイトルだよな
数学じゃないんだもん
数学じゃないんだもん
24 ウィズコロナの名無しさん :2023/11/07(火) 23:41:57.18ID:s/uE/eRA0
学生の実態と言っても、高校出たばっかりの新入生での話だしなぁ
京大生なら一度教えりゃわかる
京大生なら一度教えりゃわかる
25 ウィズコロナの名無しさん :2023/11/07(火) 23:42:11.21ID:I6HBrWYY0
+1なんて誤差だよ
27 ウィズコロナの名無しさん :2023/11/07(火) 23:42:27.96ID:qL7Sbjta0
なるほどね
わからん
わからん
28 ウィズコロナの名無しさん :2023/11/07(火) 23:43:09.54ID:soZFWhwH0
パスカル
C
ALGOL
このあたりやってた今のもとプログラマーの老人には分かるよ
C
ALGOL
このあたりやってた今のもとプログラマーの老人には分かるよ
29 ウィズコロナの名無しさん :2023/11/07(火) 23:43:20.57ID:gVzRGn9v0
頭悪い文系向けの釣り記事
京大生「主語が大きすぎると思います」
京大生「主語が大きすぎると思います」
30 ウィズコロナの名無しさん :2023/11/07(火) 23:43:45.48ID:5X7nwRRX0
変数はいきなり出てきたら面食らうと思うけど
31 ウィズコロナの名無しさん :2023/11/07(火) 23:43:59.19ID:g+YG4wxa0
わからん。
どういう事
どういう事
34 ウィズコロナの名無しさん :2023/11/07(火) 23:44:44.30ID:cc1Zq5eT0
x=x+1
x-x=1
???
x-x=1
???
35 ウィズコロナの名無しさん :2023/11/07(火) 23:44:44.46ID:c2spLMzJ0
イコールじゃなくて代入なんだよな。
その知識があるかどうかってだけ。
その知識があるかどうかってだけ。
49 ウィズコロナの名無しさん :2023/11/07(火) 23:47:09.24ID:ZKY7yWev0
>>35
先にイコールは==とか===だと教えるのがいいのかもな
そりゃ知らなきゃ東大でも京大でもスタンフォードでもわからないよなw
先にイコールは==とか===だと教えるのがいいのかもな
そりゃ知らなきゃ東大でも京大でもスタンフォードでもわからないよなw
37 ウィズコロナの名無しさん :2023/11/07(火) 23:44:49.30ID:yzYicmZP0
代入を
38 ウィズコロナの名無しさん :2023/11/07(火) 23:44:58.09ID:AMkZqGhC0
普通にプログラムの文法と数学の等式は違うと教えるだけでは?
39 ウィズコロナの名無しさん :2023/11/07(火) 23:45:02.49ID:lGUqQl3e0
機械に命令を与えるための基礎だけど
その意味が理解できない層はいるだろうな
その意味が理解できない層はいるだろうな
40 ウィズコロナの名無しさん :2023/11/07(火) 23:45:02.61ID:DKXU9yC30
脳みそが勝手に再帰問題だと解釈してしまった
ただのX++か
ただのX++か
41 ウィズコロナの名無しさん :2023/11/07(火) 23:45:02.87ID:xJqiOfxc0
現在のxの値に1を足したものを
xに代入する(新しいxの値とする)
くらい説明してやれ
xに代入する(新しいxの値とする)
くらい説明してやれ
42 ウィズコロナの名無しさん :2023/11/07(火) 23:45:04.40ID:xJNK0tXL0
ピー
syntax error
syntax error
43 ウィズコロナの名無しさん :2023/11/07(火) 23:45:16.80ID:w+Fdn2WK0
だから何だ
そりゃ最初は変数知らないだろ
でもすぐ覚えて終わりだろ?
何が問題なんだ
そりゃ最初は変数知らないだろ
でもすぐ覚えて終わりだろ?
何が問題なんだ
44 ウィズコロナの名無しさん :2023/11/07(火) 23:45:39.65ID:wybO2xKK0
なんで日本人同士で英語で資料書くん?
45 ウィズコロナの名無しさん :2023/11/07(火) 23:45:49.30ID:NZoolxZp0
わかるほうが、おかしい
そもそも成り立ってない
A+=1とか意味不明
そもそも成り立ってない
A+=1とか意味不明
46 ウィズコロナの名無しさん :2023/11/07(火) 23:45:49.66ID:HywyJNFe0
一瞬で理解出来そうな人たちでしょう
47 ウィズコロナの名無しさん :2023/11/07(火) 23:46:19.88ID:lIWudar40
ちゃんとイコールじゃなくて代入って教えろよ
説明不足で分からんもなにもあるか
説明不足で分からんもなにもあるか
48 ウィズコロナの名無しさん :2023/11/07(火) 23:46:31.20ID:iVGqNzgA0
i=i+1
50 ウィズコロナの名無しさん :2023/11/07(火) 23:47:40.17ID:6mbx0ODZ0
例えばC言語なら
等価演算子は==ではなく=
代入演算子は=でなく別の記号を用いれば混乱は起きなかった
言語の欠陥だろ
誰だ考えた奴
等価演算子は==ではなく=
代入演算子は=でなく別の記号を用いれば混乱は起きなかった
言語の欠陥だろ
誰だ考えた奴


コメント
コメントする