理学 - 理工学 - 形式科学 数学 数学数学 (教科) 数学数学数学者の一覧 数学上の未解決問題 国際数学オリンピック Portal:数学 プロジェクト:数学/数学に関する記事 数秘学 Encyclopedia of Mathematics(英語) - 数学に関する約8…
26キロバイト (3,249 語) - 2023年10月17日 (火) 01:26
京大生がx=x+1を理解できないのは意外ですが、これは一部の学生だけでなく、普遍的な問題かもしれません。Pythonなどのプログラミング言語は抽象的な概念を扱うため、適切な指導や練習が必要です。教育の改革が求められる点は間違いないでしょう。

1 少考さん ★ :2023/11/07(火) 23:35:35.04 ID: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」という英語を連想してしまうからだ。ただ、学生が学習を進めることで、こうした問題はいずれ解決する。

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

この記事は有料会員限定です。次ページでログインまたはお申し込みください。

次ページ
学生への心からの贈り物




4 ウィズコロナの名無しさん :2023/11/07(火) 23:37:36.57 ID:i3pXfZqy0
>>1
なんで英語なん?

138 ウィズコロナの名無しさん :2023/11/08(水) 00:04:59.73 ID:xfwku5FN0
>>1
まあ、イコールは数学ではふつー「代入」じゃないからなw
PASCALの方が良かったかもねw

157 ウィズコロナの名無しさん :2023/11/08(水) 00:07:47.72 ID:qeaDj05V0
>>1
これだけ偉そうに嫌みたらしく言えるものなのか。お前が知ってるだけで知らない方に落ち度はないぞ

7 ウィズコロナの名無しさん :2023/11/07(火) 23:38:47.08 ID:bnd4hbid0
要するに
プログラミングを知らない
っていうだけなのにX=X+1とか言い出す意味とは?

118 ウィズコロナの名無しさん :2023/11/08(水) 00:00:02.43 ID:fjUymoyP0
>>7
それがプログラムだからだよ

19 ウィズコロナの名無しさん :2023/11/07(火) 23:40:50.09 ID:Ki6ML9390
プログラミングの最初の難関だと思う

21 ウィズコロナの名無しさん :2023/11/07(火) 23:41:14.14 ID:8JImWE6E0
x += 1
こうな

26 ウィズコロナの名無しさん :2023/11/07(火) 23:42:25.04 ID:Ki6ML9390
>>21
ぶっ*

31 ウィズコロナの名無しさん :2023/11/07(火) 23:43:59.19 ID:g+YG4wxa0
わからん。
どういう事

117 ウィズコロナの名無しさん :2023/11/07(火) 23:59:56.78 ID:m1etaOdq0
>>31
数学とプログラミングはイコールの使い方が違うよって話

33 ウィズコロナの名無しさん :2023/11/07(火) 23:44:03.14 ID:jb5wp/pO0
1+1=200

100 ウィズコロナの名無しさん :2023/11/07(火) 23:56:20.60 ID:fNqyUV8h0
>>33
どこの小島さんですか

35 ウィズコロナの名無しさん :2023/11/07(火) 23:44:44.46 ID:c2spLMzJ0
イコールじゃなくて代入なんだよな。
その知識があるかどうかってだけ。

49 ウィズコロナの名無しさん :2023/11/07(火) 23:47:09.24 ID:ZKY7yWev0
>>35
先にイコールは==とか===だと教えるのがいいのかもな
そりゃ知らなきゃ東大でも京大でもスタンフォードでもわからないよなw

42 ウィズコロナの名無しさん :2023/11/07(火) 23:45:04.40 ID:xJNK0tXL0
ピー
syntax error

74 ウィズコロナの名無しさん :2023/11/07(火) 23:52:18.54 ID:2ddUAnba0
>>42
ok

58 ウィズコロナの名無しさん :2023/11/07(火) 23:48:39.13 ID:pEakqIA20
Pythonのインデントエラーをうまく回避する方法教えてくれ

上から長いソース書くと修正しても修正してもエラー解消しないんだ

69 ウィズコロナの名無しさん :2023/11/07(火) 23:51:00.19 ID:UjVHYdCb0
>>58
ちゃんとスペースを同じ回数入れる、
タブを混ぜない、くらいしか
アドバイスできる事ない気はする

77 ウィズコロナの名無しさん :2023/11/07(火) 23:52:53.56 ID:ZKY7yWev0
>>58
コードフォーマッターにほとんど任せる
インデントは気をつけて書く

chatgptにソースごと聞いてみる

60 ウィズコロナの名無しさん :2023/11/07(火) 23:48:58.34 ID:2yPNaLqg0
プログラミングって全然分かんないんだけど勉強するとどういうことが出来るようになるの?
素人でも勉強した方がいいのだろうか?

84 ウィズコロナの名無しさん :2023/11/07(火) 23:53:30.22 ID:gvg1a9zI0
>>60
プログラミングなんて必要ないからしなくていいと思う
マクロでも組んでればいいと思う

90 ウィズコロナの名無しさん :2023/11/07(火) 23:54:34.93 ID:8nbbTpj30
>>60
パソコンは何かをする道具だから、その何かを先に見つけて来い

そうしたらプログラミングの価値が決まるわ

109 ウィズコロナの名無しさん :2023/11/07(火) 23:58:31.98 ID:674x3mib0
>>60
小学生ですらプログラミングを授業で勉強している時代だぞ?
今のうちにプログラミングを理解しとかないと、Z世代より下のα世代小学生に笑われるぞ。

61 ウィズコロナの名無しさん :2023/11/07(火) 23:49:02.54 ID:oEUkA0Hi0
x=x+i
ならイメージつかめるのかな

65 ウィズコロナの名無しさん :2023/11/07(火) 23:50:13.66 ID:Ki6ML9390
>>61
ⅰ=ゼロっすね

62 ウィズコロナの名無しさん :2023/11/07(火) 23:49:33.01 ID:CYFpDZC10
その京大生はプログラミングと方程式でX=X+1の意味が異なるという知識を得る機会がなかっただけだろ
そういった事情を勘案せず小*にするような記事を書いた日経クロステックの記者が*なだけ

88 ウィズコロナの名無しさん :2023/11/07(火) 23:53:58.69 ID:Ki6ML9390
>>62
記事読んでもバカにしてるようには見えんが
有料部分は読んでない

>>66
ガチ初心者相手だと当然だろう

66 ウィズコロナの名無しさん :2023/11/07(火) 23:50:14.01 ID:5xs6Dl5t0
わざわざこんなことから教えんのかw

96 ウィズコロナの名無しさん :2023/11/07(火) 23:55:44.79 ID:s/uE/eRA0
>>66
相手は完全素人なんだから当然だろ
どうせ1回教えりゃわかる

108 ウィズコロナの名無しさん :2023/11/07(火) 23:57:32.71 ID:oEUkA0Hi0
>>66
これでもいきなりなんじゃないかな?
まずは疑似言語でイメージ掴むべきだよね
=の意味って一方通行の場合が多いし

70 ウィズコロナの名無しさん :2023/11/07(火) 23:51:12.05 ID:yzYicmZP0
fortran の頃から代入は=か
70年前のアメリカ人が悪いってことで

72 ウィズコロナの名無しさん :2023/11/07(火) 23:51:46.91 ID:UjVHYdCb0
>>70
Fortranだと確か50年代やな

80 ウィズコロナの名無しさん :2023/11/07(火) 23:53:06.05 ID:UjVHYdCb0
>>72
70年前か、合ってますな
すまん
何か70年代と空目してた

73 ウィズコロナの名無しさん :2023/11/07(火) 23:51:59.89 ID:Kt7GpSIz0
そりゃあ分からんだろうよ
この教授はバカなのか?

98 ウィズコロナの名無しさん :2023/11/07(火) 23:55:56.87 ID:674x3mib0
>>73
小学生ですらプログラミングを勉強している時代だぞ?
Z世代より下のα世代小学生に笑われるぞ。

79 ウィズコロナの名無しさん :2023/11/07(火) 23:53:00.29 ID:UwQywaT00
3流文系卒だけど
解なしじゃないの

97 ウィズコロナの名無しさん :2023/11/07(火) 23:55:54.57 ID:KV0GhzCC0
>>79
*Fラン

89 ウィズコロナの名無しさん :2023/11/07(火) 23:54:16.04 ID:674x3mib0
京大生でもx=x+1が分からない?
(ヾノ・∀・`)ナイナイ
小学生ですらプログラミングを勉強できているんだぞ。
小学生でも分かる事を京大生が分からないはずがない。

103 ウィズコロナの名無しさん :2023/11/07(火) 23:56:37.43 ID:9e+3NUk30
>>89
分からないとは違う

まだプログラミングを知らない人に対して教える事を「苦労する」とか言っちゃってるの、この教授

121 ウィズコロナの名無しさん :2023/11/08(水) 00:00:14.55 ID:Bgo95x9+0
>>103
たしかに
文系かもしれんけど京大に苦労するのはあかんわなw

まあPythonだから構文だけでなくAIとかの実装が最終目標だから
ここで躓いてたら先がおもいやられるという意味合いかもしれんが

189 ウィズコロナの名無しさん :2023/11/08(水) 00:13:37.83 ID:2N0ZBHPP0
>>121
2、3回目の授業で「数学の等号ではなく代入を意味する記号ですよ」と説明して終わりだろう
学期末にはライブラリ読み込んで気象庁のデータ処理するぐらいのところには届いてるよ

91 ウィズコロナの名無しさん :2023/11/07(火) 23:54:38.46 ID:puI4563b0
京大文系>>>私立理系

127 ウィズコロナの名無しさん :2023/11/08(水) 00:01:14.80 ID:kQ8F9V1B0
>>104
東京理科大も今や公立の諏訪東京理科大・山陽小野田市立山口東京理科大より格下になったけどな。
理系は国公立>>>私立だし。

114 ウィズコロナの名無しさん :2023/11/07(火) 23:59:34.14 ID:Cgo1O3gV0
多分その京大生はX=X+1を証明するために1か月悩んで
証明できないことに絶望したんだと思う

131 ウィズコロナの名無しさん :2023/11/08(水) 00:02:44.69 ID:2tGHSyLs0
>>114
数学的に証明できたら世紀の大発見やなぁw

129 ウィズコロナの名無しさん :2023/11/08(水) 00:02:10.35 ID:CKYrWBno0
京大生なんでしょ
それくらいの基礎的な部分は、本読むなりネットで調べるなりして自力で身に付けてから教師についてほしい…

142 ウィズコロナの名無しさん :2023/11/08(水) 00:05:17.34 ID:Bgo95x9+0
>>129
プログラミングはだれからも習わず全部独学でやるやつが最上なのは間違いないけど

めんどくさがりも適正ある

137 ウィズコロナの名無しさん :2023/11/08(水) 00:03:46.07 ID:3i0i2drf0
俺も大学1年のときC言語全然意味分からなくて留年して人生詰んだ

146 ウィズコロナの名無しさん :2023/11/08(水) 00:05:44.16 ID:kQ8F9V1B0
>>137
Z世代より下のα世代は小学生からプログラミングを勉強するから凄いよな。

174 ウィズコロナの名無しさん :2023/11/08(水) 00:10:29.96 ID:IZi+okjy0
>>146
低学年からScratchでゲーム作って楽しんでるからすごいよな

151 ウィズコロナの名無しさん :2023/11/08(水) 00:07:10.32 ID:IZi+okjy0
>>137
プログラミングなんて興味なかったら覚えるの無理

155 ウィズコロナの名無しさん :2023/11/08(水) 00:07:30.50 ID:LPqAwTeW0
>>137
おいおい、シニアSEなんかなったら、システムが一つのプログラム言語
で処理されてるわけじゃないから、検証してて、Cだけじゃなくって
Fortranのプログラム部分でバグってたと分かってFortran知りません
で、済まないからな、社会は厳しいぞ。

149 ウィズコロナの名無しさん :2023/11/08(水) 00:06:27.13 ID:ZX6iw3p20
プログラムってもっと直感的にわかる形になったら便利になるのにね

150 ウィズコロナの名無しさん :2023/11/08(水) 00:07:05.25 ID:0xXZN75C0
>>149
つ生成AI

153 ウィズコロナの名無しさん :2023/11/08(水) 00:07:27.06 ID:xfwku5FN0
>>149
それは数学を直感的に分かるってのと同義な気がするがw

171 ウィズコロナの名無しさん :2023/11/08(水) 00:09:51.33 ID:znjmzcU30
>>149
もうアセンブラやっとけよw

159 ウィズコロナの名無しさん :2023/11/08(水) 00:08:04.20 ID:alLDndna0
さすがに代入が分からない奴がいるってのは教え方が悪いんじゃねえの?

178 ウィズコロナの名無しさん :2023/11/08(水) 00:11:20.88 ID:23DFAKrA0
>>159
解けないのは一瞬でわかるはずだからね

191 ウィズコロナの名無しさん :2023/11/08(水) 00:13:41.80 ID:cMqCmZ3O0
>>178
まったくの初学者が他の部分は数学の等式らしきものですらないのにX=X+1だけ解こうとするなんてありえんわな。

160 ウィズコロナの名無しさん :2023/11/08(水) 00:08:10.30 ID:ryh7i9gs0
pascalがDelphi以来再評価される瞬間がやってきた。

164 ウィズコロナの名無しさん :2023/11/08(水) 00:08:49.88 ID:rKYEQlqk0
x += 1

170 ウィズコロナの名無しさん :2023/11/08(水) 00:09:43.92 ID:xfwku5FN0
>>164
それの方がわかりやすいかもな。
数学は分かる素人さんとかなら

172 ウィズコロナの名無しさん :2023/11/08(水) 00:09:57.34 ID:jeXxG9ny0
プログラムでは右辺の結果を左辺に代入するってルールが
受け入れられないって話なの?

180 ウィズコロナの名無しさん :2023/11/08(水) 00:11:39.46 ID:Q/HFtBxE0
>>172
高学歴ほど凾数に見えてしまって混乱する
底辺は教わったとおりにしか理解できないので無問題

196 ウィズコロナの名無しさん :2023/11/08(水) 00:14:08.20 ID:+7wnHv7j0
>>180
「なるほどね完全に理解したわ(わかってない)」
「何を言ってるのかさっぱり分からない」

底辺だけどだいたいどっちかだわ

175 ウィズコロナの名無しさん :2023/11/08(水) 00:10:32.27 ID:+zA/+ovc0
Rみたいに
x-> x+1にすれば納得できたり

179 ウィズコロナの名無しさん :2023/11/08(水) 00:11:21.97 ID:IZi+okjy0
>>175
xがポインタにみえてしまうCゲンガーw

184 ウィズコロナの名無しさん :2023/11/08(水) 00:12:30.88 ID:1cAfI2Ve0
x = (x + 1) % 10
新人の頃、この式を教えてもらった時は感動したなぁ~

x=x+1
if x > 9
x = 0
とかやってたから…

187 ウィズコロナの名無しさん :2023/11/08(水) 00:13:31.64 ID:IZi+okjy0
>>184
この場合はifの方が処理速度早いっしょ