Sunner 的所有文章

乐学网的2011和2012

乐学网在2011年有太多的欢乐历史值得回味。

乐学网一直不吹不擂,不攀权附贵,靠普通教师和学生的主动性成长了6年,虽然缓慢,但生机勃勃。2010年底,它隆重走入了学校、教务处领导的视野,从此便真的official了。

第一个利好是教务处给了10万元,用来扩充硬件。虽然有人说这是区区10万元卖了乐学网的归属和成果,不值得。但我觉得很好。我获得成就感,他们获得虚荣心,各得其所,完美的合作。

当时我还有幻想,应该很快能有支持开发和维护的软经费,所以10万元全用在买硬件了。而且在朋友帮助下精打细算,极度追求性价比,选了个贼弱的国产品牌,购入两台Xeon E5620服务器,一台8T存储(一年多点儿,硬盘坏掉一块)。

再要软经费时,领导扑朔的眼神似乎在告诉我,“哪有买硬件不拿回扣的,你就别卖萌了”。当时真傻眼了,给新服务器开光(接入网络)都没钱啊。又受朋友指点,直接找网络中心主任卖萌,然后就免费进入核心机房了,教育网、联通三线千兆接入啊,哦也!

至此,硬性成本都解决了。至于软性的,那就是我赚不赚钱,雇不雇得到帮手的问题,全是浮云。0成本,拼脸皮,磨朋友,用学生,DIY了!

软的方面也做了很必要的基础工作,包括升级到Moodle 2.1,和统一身份认证对接,弄了一些教程、文档,为迎接新人做准备。

新人哪里来呢?本指望教务处能发个行政命令或弄点儿小恩小惠刺激啥的,但……还好在工大各条战线上都有一线的朋友,就腆着脸拉各门各派的朋友入驻,意图在每个学院都埋个火种,然后燎原!

于是,在一年时间里,课程数翻倍!所有开课教师都是自愿的,自觉的,无功利目的的。

年底,《哈工大报》和《中国教育报》先后主动报道了乐学网,而且都没收采访费。改稿改得那个认真啊,我都快烦了。

软件学院开始要求所有老师进驻乐学网,然后就是“呼”的一声~~~~行政力量确实强大。但来了非自愿的教师,让我觉得有污点了。

总之,2011年的主题是“发展”。2012年的主题呢?将是“回报”。

这里说的回报是给所有为乐学网提供了帮助的人,包括我,hit-moodle团队成员,还有所有开课的教师和选课的学生。

年初建的姊妹站——哈尔滨理工大学软件学院交互式教学平台,承诺在开学初支付5位数的建站费(我想试试社会是不是真那么丑恶,所以完全口头协议)。

年初还在本科生院做了一次立项答辩,申请6位数的软经费。结果肯定不会那么顺利了,但开学后拿到的希望还是比较大了。

之前6年,一共只有3万的软经费。对现在的预期,我非常满意,且得意忘形,就开始想怎么回报所有开课的教师和选课的学生。

第一步是送每名开课教师一本书《如何成为卓越的大学教师》,这在放假前就开始做了,现在已经送出大半,还有一些开学后送。

第二步是个大计划,准备每个学期搞一次活动,由学生投票选出最好的三个网上课程,获奖教师的最高奖品是iPad(虽然我也没有iPad用呢,但这奖绝不是给自己准备的)。为避免大课占优小课吃亏,要对参与投票的学生抽奖。凡是投中这三门课的同学,都有机会获得3位数的奖金。

一想起来就觉得好玩啊!迫不及待的!

不过,如果理工大学赖账,本科生院耍我,这些就玩不了了,已经送出的那些书就都工资买单了。但我并不怕这样,因为可以实行“B计划”——全站募捐。哈哈,这个念头更好玩,太文艺了!

最后,感谢俺家领导批准我这么玩,kiss~~~~~~~

kvm、spice安装Windows 7备忘录

去年在一台备用服务器上装了个VirtualBox虚拟机,用headless模式跑Windows 7,当做我的日常用系统,无论在哪都用RDP(Windows的远程桌面协议)远程登上,彻底的大内存、多CPU、千兆接入云桌面,非常舒服。

VirtualBox是个很棒的虚拟机,无论图形界面还是命令行界面,都很好用。但间或死机(虚拟机停转,却把CPU占满),分越多的CPU速度越慢(可能是我后分的多CPU有关),以及虚拟磁盘配置不合理这三个原因,使我萌生了换虚拟机的念头。

这篇评测文章的结果是kvm的性能最好,此外听安天的王维工程师说只有kvm支持的spice协议是目前最快的远程桌面协议,有代码洁癖的我就当然选用它了。但这东西,比VirtualBox和VMWare都难配置太多了……必须得写下来备忘一些要点了。

kvm

kvm本身是个命令行程序,直接“kvm 参数”就能用。一开始就这么用,系统安装顺利,网络通畅。然后加bridged模式的网卡,结果一启动虚拟机就让主机网卡都断掉(甚至一度重启host系统都不能恢复,导致网络中心狠狠地重新收拾了一遍若干台交换机。对此麻烦,深表歉意)。查了无数资料,什么bridge、tun、tap的一通研究,各种脚本、手工试验,全无效。最后实在不想再跑机房了,就换用virt-manager建虚拟机。

virt-manager是libvirt的一个图形客户端,而libvirt是个通用的虚拟机管理库(支持kvm、xen、virtualbox、vmware等等)。virsh是libvirt的命令行客户端,用“virsh -c qemu:///system”可以在命令行管理virt-manager创建的虚拟机。

需要先在系统启动一个桥接网卡,才能在虚拟机里装bridged网卡。修改/etc/network/interfaces(debian)如下:

Windows 7最多只支持两个CPU socket,每个socket内可以有多个core。kvm缺省每个CPU模拟一个socket,必须修改虚拟机CPU的topology,才能使用超过一个CPU。

spice

virt-manager创建的虚拟机只要加了spice display,就可以用spice协议远程使用虚拟机的控制台。

Linux下的spice客户端叫spicec。

最重要的是Win7里必须安装spice的驱动和服务,才能让性能和功能达到最强。相关程序在这里下载:http://www.spice-space.org/download.html

qxl和virtio-serial驱动是必须安装的。如果安装时提示数字签名无效,驱动不生效,用管理员权限执行cmd.exe,运行下面两行命令并reboot(reboot后桌面会有“测试模式”字样,不影响使用):

Windows guest agent服务也必须安装,才能同步剪贴板、屏幕分辨率。解开那个vdagent-xxxxx.zip,在管理员权限命令行执行“vdservice install”,然后reboot。

客户端加上–full-screen=auto-conf参数,就能全屏且同步分辨率了。Shift-F11切换全屏状态

spice性能确实比rdp好太多,看flash、gif基本不卡,视频音画基本同步,鼠标、键盘无延迟。最爽的,可以用招商银行大众版了!

安全的spice

spice缺省使用不安全连接。

用下面脚本创建必须的key

根据提示记住–host-subject,拷贝ca-cert.pem到指定位置

关闭虚拟机,重新启动libvirtd(sudo /etc/init.d/libvirt-bin restart)

客户端用“spicec -h HOSTNAME -s TLS-PORT –host-subject HOST-SUBJECT -w PASSWORD”连接

其它

虚拟机硬件配置很容易调整,导致Windows激活经常失效。在线激活失败时,选电话激活,根据提示打电话,跟客服mm稍加解释,就能顺利激活了。(此条只对正版Windows有效)

主要参考

  1. SSLConnection – Spice
  2. QA:Testcase Virtualization Manually set spice listening port with TLS port set
  3. WinQXL – Spice
  4. Networking – KVM
  5. manpages

(待补充:port forward)

网上买火车票的几条经验

  1. 网址:http://www.12306.cn
  2. 一定要先安装首页提供的“根证书”。如果不能安装,就直接访问https://dynamic.12306.cn/otsweb/,忽略安全提示,能省一些麻烦
  3. 购票时需要输入乘车人的姓名、手机号和身份证号,以及身份证种类(一代/二代)。最好是二代身份证,能省些麻烦
  4. 可以查询到剩余票数。如果余票不多,但还不能确定是否该买,可先提交订单,便能将票扣住。30分钟内支付都能拿到票。如确认不买,请及时取消订单
  5. 一个订单只能买一次列车(或往返),最多五个人的票。支付后可以再买同次列车,他人的票
  6. 如果有未支付订单,就不能下新订单
  7. 可以买成人票、儿童票和学生票,无手续费
  8. 可以网上退票、签转
  9. 对chrome和firefox浏览器兼容良好(除了最后的网银支付)
  10. 开车前,凭身份证到车站售票窗口、自助设备或售票网点可以打印车票。前两者无手续费,售票网点是否收手续费未知
  11. 打印的车票上有姓名和身份证号,但乘车时并不查验身份证

“本科教学质量管理与评估方法研讨会”发言稿

序:日前我刚刚在“教学方法与考试方法改革示范性与常态化”研讨会上“炮”轰了学校正坚定不移地推动的累加式考试和项目式学习的大软肋,引起多方关照和忧虑,随后不久就又收到教务处“本科教学质量管理与评估方法”研讨会的邀请,再次证明哈工大不是一个打击批评者的大学。为了不辜负厚望,我破例提前准备了发言稿,发布于此,请各位老师、同学,务必在周一前留言发表意见,我将综合到一起在会上向领导和专家们汇报。

总则

请相关部门在制定管理与评估方法是务必保证一个原则:“一切管理和评估手段都不应该增加教师的工作量”。现在的管理和评估都会要求教师去做不少对教学实质没有帮助的琐碎事情,使教师本来有限的能投入到教学中的精力,更加捉襟见肘。建议:

  1. 以教学过程中的面向学生的实质性工作为评估目标,不要再要求教师做面向专家的工作
  2. 职能部门切实认识到自己是“服务性管理”部门,而非衙门口,做好“服务”工作,让教师能集中精力在最有实效也是最擅长的工作上。

管理方法

  1. 信息化程度严重不够。各种反复年年填写的单子太繁杂。网上信息十分有限。
  2. 试卷审核、印刷、搬运、送成绩单、装订归档过程,教师跑路太多,建议能电子的就电子化,不能电子化的就安排专人集中做体力活
  3. 同时出两套试卷的要求很不合时宜,建议取消
  4. 与教学直接相关的所有事情都尽量不要让团委、学生会、辅导员插手,除非教师邀请

评估方法

  1. 建议取消“专家评教”。专家可以听课,但不要做评估,不要向上打报告,而是帮助教师提高。现在因为和专家交流时间太短,甚至专家不给交流机会,几乎起不到帮助作用,反倒因为评价职能导致教师很紧张。
  2. 学生是最有发言权的评价者,应该把“学生评教”做实在了:
    1. 纯匿名化。不用网上评教,而是课程中间随机在课堂发匿名问卷,教师不可接触问卷。问卷是答题卡形式,方便机器统计。国外大学几乎都是这么做
    2. 问卷设计得好,几乎可以替代所有的专家检查
    3. 禁止教师点名。用出勤率(问卷本身就能统计)考核教师,而不是考核学生。
    4. 应在课程结束出成绩后、学年结束时、毕业前、工作几年后都收集学生评教意见。
  3. 部分内容可以用外校同行评议的方式评估,不用本校“专家”
  4. 评估的细致结果全部上网,至少要在校内可以随便查看最近3-5年的。
  5. 评估差的可以不惩罚,网上丢人足够了(屡差不改另当别论),但评估结果好的一定要有实质性的奖励

用乐学网提升课堂交互性

在以前,乐学网只是在课外使用。某一天突然领悟到它应该也能在课内做些事情,于是最近的两年做了一些尝试,看到了它提升课堂交互性的美好前景,将经验总结一下。共包括“课上/课前投票”、“热点提问”和“分数卡”三个部分。

课上/课前投票

课堂上经常有这样的情景:

老师:这个问题听懂了吗?

学生:……(沉默)

老师:那请听懂的同学举下手

学生:……(星星点点地举手)

老师:这么少人?不举手的都是没听懂吗?请没听懂的举下手

学生:……(星星点点地举手)

老师:不举手的是什么意思?!!

对于确实在认真听课的学生来说,不举手的主要原因是“不好意思”。承认自己听懂了,好像很“得瑟”;承认自己没听懂,又显得自己很笨。于是就不表态了,至少能显得很酷。

“课上投票”意图解决此问题。它利用Moodle的“投票”或“反馈”功能,教师课前设计好投票内容和选项,适时地发布到网上,让学生即时投票,根据结果实时了解学习情况。这是目标,但因为教室里网络不给力,学生也不愿意只为了一门课而拎着笔记本,所以此功能变化为“课前投票”。

课前投票

在每次课开始前,将该次课的核心内容凝练成如上图所示的“课前投票”,让学生先投一票再上课。学生可以根据直觉投,也可以仔细想想再投,还可以看看书然后投。不管怎样,在他的头脑中一定已经思考过此问题,一定程度上相当于做了预习。而且,教师可以从投票的结果了解学生的基本想法,在授课中能更有针对性。

热点提问

热点提问”是我们自己开发的开放源码项目。期望它能解决教师问“有什么问题没有?”学生以沉默来回答的尴尬景象。它的主要功能有两个:“提问”和“顶”。

热点提问

学生在课堂上不爱提问,很多时候并不是没有问题,而是社会、文化和习惯等因素造成缺乏提问的勇气。有了“热点提问”,学生提问时就不用再担心是否会影响别人,是否显得太突出,是否问题很傻等等;“顶”这个功能让相同的问题汇聚,让没问题的同学也能发问,让教师知道哪些问题是最普遍的,值得优先处理。

“热点提问”对网络和上网终端的依赖比较大,所以目前在我的课堂上还没有发挥出像样的威力。但它在早已信息化到每张课桌的国外院校颇受欢迎,很多用户对它提出了各种建设性的建议。

分数卡

在不断争创世界一流的工大,多数教室上校园网是不可能的,少数教室是很不稳定的,没有教室是可以舒服使用的。所以前两项功能达到的效果非常有限。但“分数卡”并不依赖教室网络,也许能有很大做为。

分数卡”是一个尚在计划中的功能,灵感来自于“游戏点卡”,意图将现实的教室和虚拟的网络结合到一起。它的使用包括三步:

  1. 教师在线生成和打印分数卡,每张卡上有唯一的密码,代表一定的分数
  2. 课堂上教师将卡发给该得到分数的学生
  3. 学生上网输入密码,相应分数记入成绩单

卡片发给谁、发几张,完全教师说得算。比如发给积极发言的、帮忙擦黑板的、到场听课的、认真记笔记的、从不睡觉的……一切实体行为都可以便捷地与分数挂钩,用分数鼓励学生在课堂做正向的事情。

如果您迫不及待地想使用这个功能,请参与我们的志愿者计划

“成绩异议期”的非凡效果

这个世界的好多事情,其实并不是我们想象的那样复杂。

假如在将成绩通过教务处正式发布之前,先向学生预发布,留24小时的异议期,允许学生对评分提出异议,会怎样?我想大多数人可能都和我当初的想象一样:邮箱爆掉、短信爆掉、电话爆掉、门槛踩破……所以,这件事我犹豫了很久,直到这学期才鼓起勇气做了一次尝试。结果,让我兴奋不已。

经过是这样的。

期末考试是开卷考试,一共六道开放式的大题。结束当天晚上,先在乐学网上传了考题和参考答案,然后通知所有学生先到论坛补充、挑战答案,避免评卷人犯错。同时预告了会有24小时的成绩异议期。

评卷结束后,并没有和分,而是将每人每道大题的得分直接录入乐学网,再通知开始成绩异议期,同时给出规则,要点如下:

  1. 必须在乐学网的论坛公开发表成绩复核申请
  2. 每份申请只能复核一道题
  3. 每份申请内容都不能少于100字,主要描述复核理由

异议期结束,轻击几下鼠标,便将学生已经认可的成绩导出到教务处。再将考试总分抄写到卷面上,顺利结课!

以上描述忽略了最重要的事情,就是那24小时之内都发生了什么?让我列举几个数字:

  1. 课程共有116名学生
  2. 抄袭扣分等要到最后才酌情恢复,所以当时有近40人“不及格”
  3. 共收到19份申请,其中7份挑战成功,加上了分数
  4. 只收到一封希望获得不法分数的email,少于往年
  5. 非学生本人来讨分的行为在考前就已发生;异议期内不仅没出现新人,反而有人虽未如愿但保持沉默

异议期使我获得了对最终分数正确性的绝对信心。评卷过程中我和所有助教尽管已做足准备、非常认真,但最后还是有不少错误。在以前,这些错误几乎永远不会被纠正。

异议期让学生在考试后还会回味一下考题,思考、了解自己失分所在。这在以前是不可能发生的。

异议期没有为我增加多少额外工作,反倒节省了自己复核试卷、算总分、复核总分的时间。

谢谢我莽撞的胆量,让我做了这次尝试。这个世界的好多事情,其实并不是我们想象的那样复杂。斗胆试试就会明白。

乐学网首次网上考试备忘录

2011年11月9日晚18:30-20:30,在二区青年公寓机房,软件学院的《软件工程导论》课使用乐学网(Moodle)的“测验”功能进行了一次网上考试。

做为这门课的主讲教师之一,我鬼鬼祟祟地提了建议,结果软件学院领导们迅速表示支持,相关教师马上开始可行性论证,旋即确定了实施方案,各方分头准备,然后就有了这次考试。

考试很成功,各方都满意,记录一些经验,以备参考。

优点

  1. 题目创建和修改非常方便,题干和答案同时设定,钩钩选选形成考卷,比传统的出卷方式要方便很多
  2. 题目直接形成题库,日积月累,便于平时练习、重用、改进等等
  3. 客观题自动评分
  4. 主观题在线评分,可写评语,不受时间和地点限制
  5. 学生能回顾自己的考卷,了解自己具体的得失分情况。教师的反馈和评语可以给学生切实的指导
  6. 成绩统计功能异常丰富,能细化到每一道题,并有区分度等等各种统计结果
  7. 不需要跑教务处、教材科办试卷印刷手续
  8. 不需要做收卷、排顺序、搬卷子、装订卷子等体力活
  9. 无纸化,环保(不知道计算机电力开销对环境破坏是否更大)
  10. 打字比写字快,可以考更多的题

缺点

  1. 首次使用有一定的学习成本
  2. 必须有一定容纳能力的机房
  3. 如果不是标准化考试机房,互相偷看屏幕的行为不好防范
  4. 死机、断网、服务器宕机等影响网上考试的风险多于地震、停电等影响教室考试的风险
  5. 虽然经历过网上模拟考试,但现场仍要对个别学生做关于系统使用的辅导
  6. 需要用画图回答的题,不好弄。也许只能和纸质试卷结合,该道题在机房用纸答

经验

  1. 考试要用单独服务器,关闭站内消息功能,关闭所有与考试无关的课程,关闭课程内讨论区、聊天室等能互相通讯的功能
  2. 考前要设计一次模拟考试,主要目的是让学生熟悉操作
  3. 机房代理网关要限定只能访问乐学网考试服务器和统一身份认证平台
  4. 测验要限定只能从机房的IP访问,甚至限定整个服务器
  5. 测验要设定严格的开始时间和结束时间,但答题时间可以比正常时间稍微延长一点,可以舒缓因意外造成的心理压力
  6. 限定每人只能答题一次。如因意外断掉,在结束时间之前是可以重新进入并继续答题的
  7. 分数、反馈、答案等要设定为测验结束后才显示
  8. 让学生尽早进考场,登录系统,进入模拟考试,确认无误
  9. 开考的一瞬间因为频繁刷新,会给服务器突发的压力,得预留至少两倍考试人数的处理能力。考试过程中压力基本与人数相当
  10. 如果必要,可以设定测验密码,并在不同考场错开公布密码的时间,降低突发压力
  11. 题目和选项都采用随机顺序,降低作弊可能性

乐学网新增“各行政部门办事流程”Wiki

到行政楼办事很难一次就成,总会因为各种原因被“打回来”重新填表、签字等等……

普通教师总是很难知晓办每个手续的确切流程和注意事项,一次次折腾不仅自己烦,也弄烦了行政老师们。他们总难以理解这些教师为啥就搞不明白这些简单至极的流程。

各部门网站上如果细心找找,往往也能找到一些说明,但常常疏于更新,或指导性不强、难于理解。

此wiki设立的目的是,利用广大教师的力量,一起撰写办各种事情的详细指南,节约所有人的时间。

Wiki的地址是:http://cms.hit.edu.cn/mod/wiki/view.php?id=6386

因为刚办完公积金提取手续,所以先写好了这个流程。更多的还要依靠大家一起补充。每人写一点点,汇聚到一起就能成为一份在工大办事的百科全书。

09级肿么了?——谈新大纲、累加式考试和项目式学习在实施上的问题(草稿)

计算机学院2009级学生的入学与往届没什么两样,但在大三这一年为他们讲授《操作系统》课之后,发现他们是非常特别的一届,具体表现为:

  1. 特别能抄袭被确认抄袭的人次历史之最,是往届数倍
  2. 特别能放弃。抄袭无门后,就大片地放弃作业,人数也是历史之最,往届数倍
  3. 特别少交流。网上论坛里的讨论,无论数量还是质量都是史上最低
  4. 特别能应试。虽然发帖少,但询问评分细节的帖子却是史上最多
  5. 特别缺惊艳。即便是独立完成作业且拿满分的同学,其中也难以见到往届哪种处处惊艳的效果,很多人都只是应付,看不到任何激情。

这种突然的极端变化令人不得不思考,做为使用新教学大纲的第一届学生,是不是大纲的变化带来了这些问题?这些思考形成了本文。希望看到此文的同学、老师能多提意见,一起丰富此文,适当时候提交给学院。

新教学大纲的主要变化

我手上并没有新旧大纲的文本,凭印象列出09级已经经历过的主要变化:

  1. C语言课变成C/C++课
  2. 很多课程的授课和实验学时缩短,甚至有些课程的实验完全砍掉,使学生有了更多可自由支配的时间
  3. 累加式考试深入到每一门课程,一张考卷定乾坤的日子不再有
  4. 大一全年完成一个年度创新项目(从08级开始);大二下开始每学期一个软件设计与开发实践课。都是分组完成一个大项目

高级语言程序设计课改带来的问题

高级语言程序设计课由纯C变为C/C++,而学时没有增加,必然造成C和C++都学不到位。学不到位并不是问题,没有任何一门语言是一门课就能教会的。问题在于,这门课的定位没有向后传达,导致后续课程的教师仍抱有原来的期待,被打了个措手不及。

就拿文件操作来说,大家的心理预期都是在C语言课学完,后面课程再应用一下、巩固巩固。但在09级是课上没咋学,到数据结构课需要用时,就表示不会。数据结构老师太nice,直接去掉这部分要求,导致到了我的操作系统课,学生还不懂怎么用。

所以我认为,课改后的高级语言程序设计必须给出一个明确的定位,到底这门课的输出是什么,有哪些是后续课程可以直接利用的,哪些是必须再培训的。

累加式考试带来的问题

去年底在全校做报告时我曾提出一个观点:“如果不作业反抄袭,累加式考试就注定是个玩笑。”从09级的情况看,我言中了。

据我了解,在前两年的学习中,他们只经历过一门反抄袭的课:高级语言程序。浩瀚的纵容抄袭作业的课程,消磨了他们的求知欲,甚至扭曲了他们的价值观。到大三时,他们中的很多人已经不相信自己有能力独立完成作业,所以再次面对反抄袭时,就纷纷放弃。

反抄袭必须大家都动手,才有真正的意义。但考虑到很多教师面临的客观情况,现阶段并不适合全面由任课教师做这件工作。应该以学院为单位,组建反抄袭委员会,做抄袭行为的最终裁定。对抄袭的惩罚也不能仅仅是一门课内的事情,要与奖学金、入党、保研,甚至学籍挂钩。每次看到被我抓过抄袭的学生入党、被评为优秀学生干部,我都觉得讽刺至极。

项目式学习带来的问题

这是最大的一个改革,相关经验不多,所以带来的问题最严重:严重打击学生自信心

在以前,大家基本都是考试成绩论英雄,分高和分低的差别也就是背书多少的差别,所以分高的也不觉得自己比别人牛多少,分低的也不觉得自己真就不如人。项目式学习之后,一切都是真刀真枪,搞得定的就是公认牛人,搞不定的也承认自己确实不行。这正能说明项目式学习的美好愿景。然而,现在的项目式学习因为管理不善,多数人都没真正动手去搞,整日只能膜拜那些大牛,仰角越来越高,久而久之就觉得自己真是不行了,自信心完全丧失。但事实上,如果他们一开始就能亲自动手,未必就搞不定。

年度创新项目

大一的年度创新项目开题总是能让人眼光直亮,但中检时就有几分泄气,等结题时所剩项目的数量只能是令人失望了。虽然结题的项目都挺扎眼,但一项普及型的运动最后变成精英秀场,这绝不是成功。我们虽然可以用“大多数学生经历了失败,获得了经验”来自慰,但必须正视的问题是,很多学生在过程中看到的是自己和牛人之间那貌似无法弥补的差距,信心受到严重打击。

虽然口号是“允许失败”,但学生早习惯了成败论英雄式的考核,谁也不好意思拿失败上去混分。或许,我们应该考虑采用“越失败,越高分”的评价标准?思路来自于一篇博客,其中谈到:

Pennsylvania University 的一位教授在他的工程设计课上希望他的学生以失败来通过考试,这门课又被称为“Failure 101”。 在这门课中最好的学生是那些失败最多的并且风险最大的学生。就好比走迷宫,最先走出迷宫的人是那些犯错最早并且最多的人,因为他们把走过的路描述成地图,迷宫的构造了然于心,自然能更快走出来。

这种评价标准对初生牛犊来说实在是再合适不过了。

软件设计与开发实践课

这门从其它课程挤出来的课,会延续3到4个学期,每学期让学生分组做个大项目,项目主题是上一学期学过课程的综合。在不是每门课都能保证充足的实践性的情况下,这种做法可圈可点。但再好的设计也敌不过糟糕的实现。此课程的直接结果就是彻彻底底地消灭了许多同学还残存的那一点点自信。

分组项目总会遭遇的一个尴尬,传统说法叫“坐车”,现代说法叫“打酱油”。

分组的目的是培养团队意识,锻炼团队合作能力。但事实上,绝大多数项目都是一个人干,n个人看。这n个人中可能会有一个心肠好的还能帮着写写文档、打打下手,剩下的连看都未必看。

我曾问过那个1,为什么能容忍那些n。他说没啥要容忍的,他们真要是动手干,才会发生需要容忍,甚至完全无法忍的事情

合作的项目越多,差距越大,就越没有信心能追上,于是干脆就永远放弃了追赶。09级学生是我见过的最没精气神的一届。只两次大项目就把他们打成这样了,等所有项目做完会怎样?我不敢想象。

是不是我们该放弃“团队合作”这个奢望呢?不应该,条件也不允许(没那么多指导老师)。怎么办?我目前没有经验,但有一些粗浅想法:

  1. 控制团队规模,2人为上,3人最多
  2. 开题
    1. 将项目工作量进行划分。可以不均分,能力较弱的同学可以只做少部分工作,只要达到对他本人的锻炼目的即可
    2. 按工作量和难度情况,给每人设一个“最高分”。比如某人任务量比较少,那么他最后全完成也只能得到80分
  3. 每周那三小时的机房之旅基本没用
  4. 让网络成为指导与协作的主阵地,方便管理和监控
    1. 师生用乐学网交流,如打字说不明白,就网上留言约时间见面,证明确实指导了
    2. 代码传到github,可以便捷地跟踪谁在什么时间做了什么,完成工作量的百分比。而且git是工业界一个非常重要的配置管理工具,很有必要学会使用
  5. 允许组内成员互相帮助,甚至替他人完成工作,但最后必须如实交代。如果结题时发现组内有一人把他人成果当成自己的,全组0分
  6. 根据实际完成情况,以开题时划定的最高分为依据,多加少减,完成每个人的评分

实践教学比重提升带来的问题

在以前,整个本科课程体系都是理论当道,纸上谈兵,学生到毕业了也没写过多少行代码。毕业生倒也是人才辈出,一方面是行业情况好,另一方面是我们的学生确实优秀,就算大学没练出实践能力,到工作岗位也能被激发出来。还有一些学生走学术路线,与实践渐行渐远,靠理论成为大家。

后来,大家都认为本科阶段在踏实理论基础同时,也应该锻炼实践能力,所以实践的比重越来越大,于是抄袭党和酱油党就越来越多,其中不乏理论牛人靠抄袭和酱油而保研,进而在理论上更有建树。但决不能因为有这样的人存在,而默许抄袭和酱油。

当禁止了抄袭和酱油,那么就要开始考虑因材施教的问题了。从目前情况看,在很多“好学生”身上,实践能力是个0-1的二值问题,要么有,要么什么都没有。我认为这和我们容忍了太多抄袭和酱油有关。如果他一直都必须自己兢兢业业做作业、项目,那么也许就能锻炼出实践能力了。当然,这只是想象,在没有杜绝抄袭和酱油的情况下,谁都不知道实际会如何。甚至也许可以肯定地说,会有那么一类学生,他们是天生的理论家,但实践能力奇缺,我们的培养应该埋没他们吗?

虽然以前的培养方式埋没了很多天生的实践家,但好在他们也确实不适合读研深造,到企业反而如鱼得水。但对天生理论家来说,不让他们读研,可能是我们的损失;让他们进入职场,可能会遇到问题。所以,我们必须因材施教,不能一刀切地要求所有人。也许,设计多种培养方案,甚至完全放开地让学生选课,根据自身情况去选择实践路线、理论路线或两者兼有,能比较完美地解决此问题吧。

在课程体系未提供分类培养策略的情况下,单门课程可以靠平分实践与理论的分值,并让两者的及格要求都足够低,达到一定程度的平衡。

后记

每项新改革都会带来新问题。指出这些问题是为了改革更好,而不是打击改革,也不是针对发起和实施改革的人,更不是针对被改革所累的人。

在现行的体制下,一次好的改革要做到既不给教师增加负担,也不会不照顾整体的和谐,还要让学生成为前所未有的强人,难度可想而知。但只要所有人,无论领导、老师,还是学生,都能坦然地正视问题,真心想解决问题,这些就都不是事儿。

《C语言点滴》序

注:这几天混得偶有名人样儿,都有人找我给新书写序了。雷他一下,看他敢用不。

做为一个为评职称而编过几本C语言教材的人,我一向认为我是国内写C语言书最认真、最专业、最幽默、最会讲故事的。为了保持这种良好心态,我始终坚持着不去读其他国人写的C语言书。但赵岩这厮,居然用请吃饭骗我见面,硬塞给我一份书稿,以“请我写序”为名,其实是向我示威,来打击我的自信。最让我不能接受的是——他成功了。于是,我便应允作序,揭发此书的弊端,降其销量,让我至少在印数上还能胜他。

这本书真不是谁都可以看的!想考试拿高分的不要看,因为这里所讲老师都未必明白,更不可能考了;想过计算机二级的不要看,因为了解C语言越深,就越会发现考题的问题,自然就答不出“标准”答案;用严肃态度对待技术的不要看,因为书中胡诌八扯、插科打诨到处都是,会让你怀疑看的不是技术,而是相声;想将来靠Java、C++、C#、Python什么的混饭吃的不要看,因为此书可能会让你深深爱上C语言,再不旁顾其它;女生不要看,看了就知道为什么不要看……

这本书真正适合的是一种特别的C语言初学者,他们好奇心强,豁达乐观,喜欢刨根问底,以比别人懂得多为乐。C语言未必会成为他们的未来,但一定会是一份美好的回忆,并在潜移默化中对他们的未来产生巨大影响。这样的人注定少数,弥足珍贵,所以此书一定卖不出太多,哈哈!

既然书就像作者的身材一样短,我的序言也就写这么多吧。反正他肯定不会真印到书上,写多少都是白写。