作者ephesians (ephesians)
看板Programming
标题Re: [闲聊] 又一个活生生的例子
时间Sun May 6 02:29:21 2007
※ 引述《StubbornLin (Victor)》之铭言:
: C 语言-运算叙述
: ++, --运算子
: main()
: { int a=1,b=1;
: printf(“++a=%d,b++=%d\n”,++
: printf(“a=%d,b=%d\n”,a,b);
: printf(“--a=%d,b--=%d\n”,--a,b--);
: printf(“a=%d,b=%d\n”,a,b);
: }
: 执行结果:
: .. 考虑: i的初值为3,
: 表达式(i++*++i+i--*--i)=?
: -------------------------------------------
: 刚才我读我家教学生的C语言课老师的讲义看到的
: 我无言了....
: 为了够刁钻,才足够显示出学生了解的程度吗?
: 别傻了.....这样只训练到解题的能力而不是解决问题的能力
: 我在想.....如果针对国内教C/C++的师资
对这种情形感觉很冷,不觉得一头热地担心.
因为程式语言学者对这事是很清楚的; 业者可能也很清楚.(或者根本不清楚?)
(但业者不清楚也没关系,因为他们只求产品能动,不要动得比别人慢就好.
如果误写了模棱两可的程式码,也许恰好在特定平台跑出bug,
他们虽仍不清楚bug是来自於规格未定义功能 (+左右边谁先算的问题),
但也许大幅改写,加了一坨修补码来防堵错误情形. (就好像Windows95修补程式,
让系统侦测有没有执行SimCity,若有就安排特殊的记忆体管理模式...)
反正最後看不见状况,遇不到特定机缘才能见到的bug,就没事了.)
然後是教师的问题了.
教师不是常时生产软体的业者,也大多不是醉心知识正确性的学者,
他们所负责任,是传授 "大体来说正确" 的知识.
当老师的,都是有一点教学抱负才来教课的, (这跟我之後要扯的另一事相反.)
他们不至於故意偷懒疏漏,教学不肯认真.
我自己当教学助理的经验,让我对这bug有不同的看法.
常很用心准备一份教学内容,假设量化水准为80,
面对学生的学习效果与上课态度,也许我发现我只能够讲出50水准的内容.
因为学生是很不可思议的一些人,
学生可能是不怎麽用心听,却指责你教得不好的人;
或者是该做到的本份不想去做的人;
或者是懒惰不肯练习,程度一直原地打转的人;
或者是空有抱负,不妄自菲薄,却除了抱负之外,既没有热忱,也没有态度,也没有智慧,
也不勤劳.
(我碰过学生跟我说,助教教的东西跟老师教的不一样,所以不想听.
ㄟ,你不想听是你的事,不要牵连到教学内容;
而且助教一定要比老师教更多实例,因为实习课就是lab.)
结果会发现,相差30量化水准的教学内容,就是像引言所提的
(i++*++i+i--*--i) 这一类值得讨论,但不值得以此为考题的题材.
常觉得变数生命周期,变数范围等等是多麽重要的观念,
想花点时间好好讲讲的时候,发现学生好专心在玩卡丁车喔!
(我又不好讲什麽,因为我不觉得我有必要表态,以主宰每位学生上课中的行为.
你(学生)的行为自己管好嘛.)
但想一想,这些现在不认真上课的学生,
有没有可能将来就挤进研究所了,将来就谋教职维生了,
结果现在所学一知半解的程式观念,将来为了拉课来上,赶鸭子上架去教坏其他更多人.
(这跟我之前所扯,教师皆有抱负一事相反.)
对於 x = x++ + ++x 这类的考题,
我的态度是,只告诉学生说: "如果你不在乎分数,你应该选择不作答."
至於他们怎麽选择,随便他们.
反正在乎分数的是笨蛋.
只会当考试机器,不懂得判断题意对错的也是笨蛋.
也不必在乎考卷上该不该出现这题目,教学者未必是绝对专家,
而考卷的角色只是一个筛网而已.
那种题目,就当做是筛网中有个特别小的孔,它制造了筛选机制上的一点障碍而已.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.231.66.179
1F:推 interpreter:不错的另一方面思考 谢谢你 218.170.156.9 05/06 03:34