2010年1月28日星期四

Tiny Extension to Ruby YAML


I am using Ruby's YAML library to dump objects to yaml document. The built in library dumps all fields, but in my program I only need to serialize part of them. So I need a way to set some fields to be transient.

I searched the web, and found Xavier's yaml_helper. It can solve my problem, but not exactly what I want. It uses class attribute "persistent" to indicating the fields to be serialized. In my suitation, there are many fields in the object, and only two or three are transient. So I prefer the "transient" class attribute.

After reading the source code of yaml_helper and Ruby's YAML library, I decided to write my own. Now, you can check it from here. It is no more than 100 lines code with most copied from yaml_helper, and realy a tiny tiny extension.

2010年1月23日星期六

谈谈课程评分

刚才在百合软院版看到大二的小朋友质疑助教的帖子。事情大致如此:楼主对于自己的数据结构分数不太满意,首先指责了助教在上机作业时给大部分学生都打A的行为,进而质疑最终成绩使用了随机给分的做法。回忆自己的大学四年,我可以不计较不能搬去本部,可以不计较校车问题,可以不计较食堂问题,但是对于学院考核机制始终存在不满。评奖学金、印度实习机会、保研资格都是由成绩直接决定的,但是成绩的评定却没有做到公平、公正、公开。至少在我看来,连公开都没有做到。所以看完帖子,我站在了楼主这一边。但是看了部分回帖,真相明朗,我的看法似乎是错误的。在此,我的目的不是讨论此事到底谁对谁错,只想谈谈对于课程评分的一点感想。

有助教在回帖中说明了平时成绩和最终成绩是如何计算出来的,得到大家的一致支持。但是,我不禁想问,既然已经制定了这么完善的规则,为什么不在课程进行中就公布出来呢?非要等到有人质疑了,才公布规则?我并不是怀疑这个规则是否存在,而是想说明如果让学生在完成作业之前明确评分标准,那就可以避免这类事情的发生。记得以前上课的时候,老师也会在第一节课上公布考核方案,平时成绩占多少比重,期末考试占多少。但是很少会对每一次作业制定评分标准,这完全取决于助教的评价。就好比移动出台的规定,禁止发黄段子,违反者会被停机,但是却没有告诉消费者怎样才算黄段子。

研一的时候英语课是外教上的,每个老师要教大概200位学生,每次作业都是老师亲自批改。一个学期有5、6次作业,再加上最后的期末考试,每次作业都批改得十分认真,拼写错误、标点符号错误、排版格式不当都会被一一标记出来。提交作业的时候,会连同一份描述作业得分点的表格一起装订,批改完返还到我没手里的时候,每一项的得分都会标明。所以在期末考试前,每个人都清楚自己已经获得的分数了。老师经常跟我们说,每个学期过去后她都能收集到一把用完了的红色笔芯。如果每个课程都使用这种方式,每个作业的评分标准都在TSS上公布,检查完之后把评价反馈给学生,最后把学期成绩的累加情况也发送给每个学生,这样不就可以让所有人都心服口服了。

让我这种人闭嘴的最好方法就是使用如上的方式,但是这种方式却很难实行起来。首先,引用我导师说过的一句话:做什么事情都需要dedicated的精神,特别是科学。作为老师,或许根本没有兴趣思考如何来完善课程体系、提高教学质量。作为助教,或许从没想过如何帮助学生完成作业,掌握知识。很多时候, 很多人做事情的功利性都太强了。仅仅为了每个月几百块钱的补贴,仅仅为了这一段经历,而不是为了更好的完成工作。参加志愿者,竞选研会主席,也仅仅是为了简历上那光辉的一笔。还没做事,就已经在盘算从中我能获得什么好处。有人说助教要改那么多作业,检查那么多学生,已经很辛苦了。的确很辛苦,但是这是他的职责所在,当他决定申请这个职位的时候就应该明白这一点。学生努力学习、认真完成作业,这同样不轻松。

其次,规则过于公开了就会导致很多操作完成不了。如果分数中出现了“人情分”,则很容易被其他学生发现,从而引起不满。所以规则这事“不能说得太细”,也不能让学生“知道得太多”。但是,每个学生都一样是通过高考考进来的,每个学生都一样交了那么多学费,每个学生都平等地享有被公正评价的权利,如果仅仅因为一些学生跟你关系比较熟,因为帮过你忙,因为有出国的需要,就可以随便地给予高分,那么让那些勤奋学习、认真独立完成作业的学生情何以堪呢!

2010年1月4日星期一

踏雪

黄灯下,碎雪如沙,风催人影儿南下。漫天飞花,坠地如麻。举头望,阑珊处横七竖八;俯身瞰,沙场上千军万马。驿道旁老枝轻压,雕栏内青松挺拔,遍寻那傲雪梅花。

曾游架,黄山脚下,旅居天上人家。松间寒乍,月影无崖。一线天冰封陡滑,飞来石巍然潇洒。五更起,越古刹,终守得晓破云霞。

隔桥遥望北邮大厦,忆当日阿里对话,意气风发。友问曰:“明年今日,君当何处下榻?三五年后,故地重游,或可带口携家。”无以为答。这光景愁煞,冷不防风吹雨打。感盈虚世事无常,叹青春早生华发。

踏雪寻罢,两屉小笼,一碗热汤,勾勒出白墙黑瓦,浅草篱笆。待回时,再话桑麻。