X



「京大生でもx=x+1が分からない」、喜多教授が明かすPython教育の実態 [少考さん★]
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001少考さん ★
垢版 |
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を変数として使うことには慣れている。まず「これは方程式ではない」というところから解説していくという。

https://cdn-xtech.nikkei.com/atcl/nxt/column/18/02629/110200002/02-02.jpg
「x=x+1」の問題を示したスライド
(写真:喜多教授のスライドを日経クロステックが撮影)
[画像タップで拡大表示]

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

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

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

次ページ
学生への心からの贈り物
0853ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 04:31:43.90ID:gZh7GF440
演算子を再定義して使い回すってだけなのに所詮高校生に毛が生えた程度ということか
0854ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 04:32:16.39ID:qcmJ179a0
いちいちコード見て文法がおかしいとか言うのかよ
頭おかしい
0857ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 04:37:31.44ID:McpvWKX40
xを使うと方程式と間違えるから極力使わんよ
0858ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 04:39:18.17ID:h7U57TP30
Power Automateみたいに変数への代入ひとつで大仰なものを書かないといけないほうが○意が湧くけどな
可読性がなさすぎる
0859ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 04:39:42.24ID:sZtoGNCS0
>>845
思い込みで書くなよ、どアホ
東大大学院は、内部受験者の1-2割が落ちるぞ
外部受験者の方が合格し易い
0860ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 04:39:58.09ID:OEY3He2g0
0で終わりじゃん
0864ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 04:43:27.82ID:sR6Y6GEk0
>>860
0=0+1
ふむ…
0866ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 04:44:04.79ID:OhzbWfaa0
数学ができることとIT関連の知識があることを
同じと考える人が多過ぎる。
たまに両方とも高い水準でできる人がいるが、
日本では極めて珍しい存在だ。
普通はどちらかしかできない。
例えば、実数論をまともにわかっている人が
ほとんどいない事実から推測すると、
コンピュータプログラマの解析学の知識は、
大学受験レベルの数Vだろう。
この教授もそのレベルかも知れない。
いや、さすがにそれは言い過ぎか。
実数論をまともにわかっていなくても、
工学部の応用数学レベルが計算手法として
操作できる人は、それなりにいるか。
いずれにしても、
「コンピュータ強い」=「数学強い」という
誤解、文系の人に多い誤解だが、
これを払拭しないと
この国の理系は崩壊すると思う。
0868ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 04:45:33.43ID:YkYcfcpk0
ひらめいて-0.5やと思ったが違う違う
0869ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 04:46:00.92ID:kfpGpnyZ0
x=x+1の文法に引っ掛かる方が正常だろ。
やはりプログラミング初学者にはPASCALが良い。
0871ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 04:47:03.34ID:h7U57TP30
>>866
昔、ざべで、三角関数を知らなくても3Dプログラマは勤まると書いている筆者がいたな....
それはその部分を他人が書いているだけだろと思った
0872ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 04:47:29.74ID:RE2blHfQ0
ルール理解すれば直ぐに終る話
こんなの切り取って「分からない」とか
単にdisりたいだけで意味ねーわ
0873ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 04:47:42.10ID:3BvnAIWB0
んなこたぁない
プログラムの話といえば京大生がわからないわけがない
ミスリードやろ
0876ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 04:49:30.83ID:ru3NQ8510
数学が大好きでプラグラムが嫌いな人は割といる
一般と比べたら少数派かもしれないが
0881ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 04:58:08.42ID:fmR1Shj00
いや、アスペか
自分の知っていることは他人も当然知っている
他人の立場になってどうして知らないのか理解できない
0882ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 04:58:16.72ID:h7U57TP30
値段は、50円。

なでしこの文法で書けば初見でもわかるだろうけど、京大生がそこではつまづかない
0884ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:01:33.15ID:AcYClRMr0
ちなみに京大で情報科学といえばSEバイト
PCを社内LANに接続するアレなw
プログラムとかまず無理
0889ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:07:00.62ID:5dKopD6a0
xじゃなくてせめてiとかにすりゃとっつき易いだろうに
なぜ誤解しやすいxにしてマウント取ろうとするんだ
変数教えるなんざaho = aho + 1 でもいいだろ
0894ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:10:25.80ID:s/VNett+0
説明したら意味は分かるだろ。プログラミングの基本中の基本なんだし。プログラム言語に関係なく
この式は使うだろ。
0895ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:11:53.33ID:wPmfnfbU0
pythonなんてchatGPT先生に書いてもらえば余裕だし
0896ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:12:41.67ID:ANUw25S50
イコール記号を使うから混乱する
左矢印の方が意味が近い
=は判定だけに使うべきだな
0898ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:14:43.89ID:rEJo3Q3x0
IT専門学校だと座学で疑似言語、アルゴリズム、CASL2やってからだな
いきなり打ち込みはやらない
0901ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:16:57.20ID:s/VNett+0
>>897
今でもVBAを使うけど、結構便利なんだよな。
0903ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:18:06.74ID:eDDNtE660
インクリメントやろ?
もう過去すぎて自信無いが
0904ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:19:13.60ID:iyAny0l50
教え方が悪いだけだろ
0905ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:19:18.43ID:8lJeSl1D0
>>12
Cだと if文のとこに if( x = 0 ) ってかけちゃうからやばい><
条件式がありそうなとこでも代入ができちゃう、xが0になっちゃう上に値が0だから条件は常にfalse
コンパイラでわーにんぐでるかはしらん><
0906ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:21:28.04ID:wPmfnfbU0
pythonってインクリメント演算子ないの?ダサが答え
0907ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:21:58.93ID:bZzYOVVw0
x = x + 1の「=」の読み方が日本語で確立されていないのが問題
イコールなんて読んでる限りは数学の記号と混乱して当然
向こうのプログラマーは先輩からgets the value of と聞いて耳から覚える
英語の下手くそな日本人にプログラミングなんか向いてないってことだ
0909ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:22:36.53ID:OySF6uM70
>>7
プログラミングって言われずにx=x+1とか言われたら、はぁ?ってなるよな
プログラミングなら全然理解できるけど
0910ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:23:06.07ID:yNq2xfKj0
>>903
微妙に違う。
例えば x=x+2 もあるからね。

コンピュータ用語だと 代入 と言ってる。

確かBASIC も初期は代入を明記するため、
LET X=X+1 としてたはず。
途中からLETは省略可になった。
0911ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:23:52.36ID:koMO4/gQ0
砕けた言い方をすると
今の京大生は新カリキュラムには対応をしてないってだけの記事だろ
0915ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:28:37.78ID:CAWS2Gvc0
10 LET X=1
20 print X
30 X=X+1
40 goto 10
0916ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:29:02.60ID:wZp5IfCi0
最近は関数型言語を意識したお洒落なコードを書くやつが多いから
この手の再代入は言語仕様ではできてもあまりみかけなくなってきたな
0918ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:30:35.36ID:qsBxb+IK0
>>877
東大落は早慶に入る余裕はない
なぜなら、東大含む国立はセンター試験で高得点を取れるほど全教科勉強しなければならない
理系専攻であっても古文も歴史地理も高得点出来なければならない訳で
単純に選考の勉強時間が減る
私立最難関の早慶に受かる勢は受験科目のみ猛勉強してくるわけで

国立の二次試験に落ちるような専攻の得点力では立ち打ちできない
(高得点取れるなら国立落ちてない)

というわけで早慶には東大オチは殆おらず早慶本命だったやつばかり通ってる

東大の滑り止めは二次試験日の違うだろ国公立かマーチ辺り
0919ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:32:06.09ID:s/VNett+0
>>911
ADDもCOMPUTEもどっちもなかったか? 会社に残ってるCOBOLの古いプログラムは
ほとんど英文みたいだったぞ。
0921ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:34:27.86ID:M5xQUjbt0
10 PRINT"ウンコ"
20 PRINT"チンコ"
30 PRINT"オマンティス"
40 GOTO 10
0922ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:34:52.14ID:s/VNett+0
>>917
>>915は『Xの初期値に1を入れて、1つずつ増やしながら表示しろ』って意味だぞ。終了が分からないから
パンクするけど。
0924ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:37:01.52ID:s/VNett+0
>>920
=じゃなく←だったら少しはイメージしやすいかな。キーボードに←がないから、=で代用したんだろうけど。
0925ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:38:12.44ID:s/VNett+0
>>923
勘違いしてた。ごめんなさい。
0927ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:41:41.26ID:H/ruxVuY0
定義が違うものを比較しても意味が無い
等号と代入は全然違う
0928ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:42:50.08ID:ti9zaow10
MOV B,x
LD A,[B]
INC A
LD [B],A
0930ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:44:34.60ID:M5xQUjbt0
どうせプログラム教育なんかしたところで
一般人の99%はプログラムなんかとは無縁な生活をするんだから
構造化とか数学的な正しさ云々とかGOTOがうんたらとか完全無視で

CじゃなくてBASICをもっとしっかり教育しとけば
プログラムを書ける人はもっと多くなってた一方で
もっとカオスになっててそれはそれで面白かったと思う。
0932ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:45:41.53ID:hdfTod9l0
>>1
数式とプログラムの両方を知る人間以外分からんだろアホか
一回教えたら済む話だろ それが分からんコイツが悪い
0935ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:47:27.92ID:2CqlL6ts0
まあプログラミングとか全く触ったことも無いけど立場だけは偉いおっさん向けの記事だなw
プログラミング言語ってのは数学記号や英語が使われてるけど、数学や英語の知識では理解出来ない特殊なものですよって話

この記事を金払って読んでるような偉い役職者みたいな人達が若い社員に「これExcelでちゃちゃっとやって、マクロとかってので簡単に出来ると聞いたぞ、京大出てたら簡単だろ」みたいなロジハラやらないようにって事だろ
0936ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:50:34.31ID:UUNGHWG80
>中学校では2012年頃からすでに技術・家庭科の授業のなかで
>「情報の技術」としてプログラミングを取り入れています。

受験・進学に必要じゃない学科は 捨てろ って事
0937ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:50:51.14ID:ANUw25S50
京大生でも分からないと喜んでるバカ教授
方程式とは意味が異なることを説明してないだけだろ
錯覚させる文言で問題出して混乱させて喜ぶアホ文系並みだ
0939ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:52:29.35ID:Lux9L1O40
wolframに聞いたら偽、解なしって出たぞ
0941ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:53:05.82ID:xl/ds3DO0
>>1 どうでもよくね?
0942ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:53:22.91ID:2CqlL6ts0
>>932
大昔の事で悪いが、小3でなぜかマイコンを買い与えられた俺はすがやみつるとベーマガでプログラミングを勉強したぞ
今にして思うと英語や数学の知識が無いからすんなり入ったとは思う
0943ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:54:57.84ID:PQwlcBb50
数学じゃなくてPythonの話だから、変数Xに1を足した値を変数Xに代入する、要するにインクリメント
マジレスしてしまった
0945ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 05:58:57.95ID:2Omfj+vh0
てっきり不動点関数の話かとおもったわ
0946ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 06:01:36.88ID:2CqlL6ts0
まあ文句言ってる奴も社会出てコンピュータに不慣れな上司ってのに遭遇したら分かる
「ちょっとちゃちゃっと作ってよ」
「何でも出来るって聞いたよ」
「ついでにゲームとか作って」
「俺は分からないけどさぁ、出来るでしょ、若いんだから」
「ちらっと見たけど数式とか英語とか使ってるし、そっちやってたんでしょ?大学とかで」
「大学出て頭良いんでしょ?」
そんな事言ってくる上司、思ってるより世の中には大勢居ますw
とりあえず皆さんは一般社員で企業に入った時には上司には「プログラミングとか分かる」なんて発言しないようにしましょう
そんな上司に見つかると、ゲーム会社なんて比じゃないレベルのデスマーチとかやらされることになります
0947ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 06:03:35.62ID:s/VNett+0
>>926
それで『x=x+1』と同じ意味になるんだ。x-=1もあるのか?

>>936
大学の学部によったらプログラミング学習があるぞ。
0948ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 06:03:45.05ID:ZE4FtNXr0
定義式も分からないの?
京大生頭わっるwww
0949ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 06:05:22.70ID:s/VNett+0
>>948
そりゃいきなりこんな式を見たら、誰でも困惑する。定義を意味を教えてあげれば理解はするだろ。
0951ウィズコロナの名無しさん
垢版 |
2023/11/08(水) 06:06:40.98ID:KK4tS1vL0
哲学の話しか?
レス数が950を超えています。1000を超えると書き込みができなくなります。

ニューススポーツなんでも実況