月度归档:2011年11月

用乐学网提升课堂交互性

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

课上/课前投票

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

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

学生:……(沉默)

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

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

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

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

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

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

“课上投票”意图解决此问题。它利用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语言未必会成为他们的未来,但一定会是一份美好的回忆,并在潜移默化中对他们的未来产生巨大影响。这样的人注定少数,弥足珍贵,所以此书一定卖不出太多,哈哈!

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