早就想在所教的班上组织一次程序设计竞赛,直到冒出双人赛形式的念头。出题、分组、竞赛,又是一次新的尝试。
做为在教学环节中组织的竞赛,不同于自愿报名的竞赛,必须全员参与。享受比赛要追求,培养团队意识也要有,不致于打击学习还不顺利的,甚至学习不投入的同学,这个也必须有。给予后进者适度的刺激和思考,也要有的。我在近三年的教学中,带领同学们通过发博客积累代码行(
2011级
2012级
2013级),效果还是不错。综合看来,日常的教学用博客,而不是OJ,是有优势的(见《
CSDN博客和OJ,两种积累编程代码量的方法对比》)。只是,各有各的好,用合适的方式用,发挥各自优势,这是比较的目的所在。

昨天的比赛中,氛围明显不同于平时的上机。我教的是两个自然班,整个比赛从名字上叫“班级大PK”,适度弱化个体,鼓励集体主义。当然班级成绩是建立在各队基础上的,同学也有强烈的愿望让自己的二人组合有个好的排名。如何组队,我没有要求,由班长和课代表征求同学意见定,无论强强联合的,还是强弱搭配,都是一种策略。

最后的结果,28队中,有17个队AC一道题,有9个队AC两道题。原本想着会有队提交到三、四道的,但没有。有些尝试了四道题,毕竟在OJ平台上,提交不成功的原因很多。这是第三次正式要求他们用OJ,且比赛时间仅有1小时20分钟,结果我已经很满意了。

实践之后,看双人赛(一组两个人)的形式,还真不错,区别于正式ACM程序设计比赛中的三人一个小组,也区别于大多数在练习中的单打独斗。

双人赛和三人一组相比,两个人得要有合作,但相对而言,交流和合作的难度要小得多,组员的参与程度高。更有利于在初起步时培养合作能力。只有极个别组是一个人干,另一个人看,这作为全员参加的以促进教学为目的的比赛更合适。一直鼓励的“有兄弟不孤单”,也充分体现到比赛中来。敏捷编程中有个“结对编程”,双人赛可以与之对照。

双人赛不同于一人一组。我知道在编程竞赛中。一人参赛,培养的是独自(比“独立”狭隘)工作能力,只有竞争,没有合作,在教学中,我并不愿意采用。一人一组对做顺利的尚可以洋洋得意,可以想到学习状态尚处于需要上升的同学,垫底的负担要一个人承担,那滋味不好受。

另外,作为利用上机课时间的比赛,比赛秩序依靠同学们自觉,场面也不能太乱,双人赛的形式也是一个折中。

结论:这次的策划非常成功,全员参加的教学中的编程竞赛,双人赛优于个人赛,也优于三人一组的比赛。

补充一个花絮。

去年教学中,为解决有的同学课堂打瞌睡问题,每次上课我要带几块糖或奶片。给打瞌睡的学生吃一块,提提神。因此12级的学生对此念念不忘。这是给学生吃东西的原始动机,并不是贺老师的什么爱心,却成了不少同学的美好回忆。可是结果呢?吃完照打瞌睡,根本原因是有些同学作息时间有问题,或者身体状态调整并不顺利(我在大学睡在课堂的故事很多人都知道)。想一想,打瞌睡的人能吃,好好听课的人吃不上,也是一种不公平,于是在期中时,所有人都有份,吃过一次。这种课堂做法,到13级时就决定不常用了。

可是,12级的在给13级的传经验时,总说,贺老师会给你们吃糖。天哪,被出卖了。这些师兄师姐真好,对师弟师妹而言。我的压力渐增,看来给13级的也吃要一次。

于是,就乘着这次比赛吃吧。想好了优胜者发德芙巧克力,其余人赛后也人人有份,就大白兔奶糖了。比赛开始,我却临时改变主意,告诉同学们,ACM比赛升气球,我们是发糖,AC一个,就吃一块糖。我就看着赛况,做起了服务人员,有人举手示意要糖,更多人继续忙于比赛,我发现了就主动奉送。AC人的幸福++。

比赛即将结束,我担心带的糖不够了。买的时候照大概一人一块买,最后然后又多抓了两把。这年月,糖死贵了,我家里也没有人吃糖,不需要多买。

比赛结束,给没有AC的同学悄悄给了“安慰奖”,鼓励他们还要努力。这时仅剩两块,有一组没有AC的没有写姓名,混乱中,我也没有想出谁还没有吃上。

贺老师水平真高,买糖的水平!实在高。

这次双人赛,对学生,对我,都是一次别样的体验。

==================== 迂者 贺利坚 CSDN博客专栏=================

|== IT学子成长指导专栏 专栏文章分类目录(不定期更新) ==|

|== C++ 课堂在线专栏 贺利坚课程教学链接(分课程年级) ==|

======== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =======

OJ双人赛:程序设计竞赛的新尝试的更多相关文章

  1. Just Oj 2017C语言程序设计竞赛高级组A: 求近似值(矩阵快速幂)

    A: 求近似值 时间限制: 1 s      内存限制: 128 MB 提交 我的状态 题目描述 求⌊(5–√+6–√)2n⌋⌊(5+6)2n⌋%9932017. 例如:n=1,(5–√+6–√)2( ...

  2. Just Oj 2017C语言程序设计竞赛高级组E: DATE ALIVE(二分匹配)

    E: DATE ALIVE 时间限制: 1 s      内存限制: 128 MB 提交 我的状态 题目描述 五河士道家里的精灵越来越多了,而每一个精灵都想和他有一个约会.然而五河士道却只有一个,无奈 ...

  3. Just Oj 2017C语言程序设计竞赛高级组D: 字符串最大表示(next数组)

    D: 字符串最大表示 时间限制: 1 s      内存限制: 128 MB 题目描述 有如下定义,abcnabcn表示字符串abc重复n次,例如abc2abc2表示abcabc. 给定一个字符串,求 ...

  4. A. Srdce and Triangle--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)

    如下图这是“今日头条杯”首届湖北省大学程序设计竞赛的第一题,作为赛后补题 题目描述:链接点此 这套题的github地址(里面包含了数据,题解,现场排名):点此 Let  be a regualr tr ...

  5. 2016年中国大学生程序设计竞赛(合肥)-重现赛1001 HDU 5961

    传递 Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submiss ...

  6. 2016年中国大学生程序设计竞赛(合肥)-重现赛1008 HDU 5968

    异或密码 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submis ...

  7. 电子科技大学第八届ACM趣味程序设计竞赛第四场(正式赛)题解

    A. Picking&Dancing 有一列n个石子,两人交替取石子,每次只能取连续的两个,取走后,剩下的石子仍然排成1列.问最后剩下的石子数量是奇数还是偶数. 读懂题意就没什么好说的. #i ...

  8. 2016年中国大学生程序设计竞赛(合肥)-重现赛1009 HDU 5969

    最大的位或 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submi ...

  9. 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 H题 Rock Paper Scissors Lizard Spock.(FFT字符串匹配)

    2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...

随机推荐

  1. citrix协议ICA技术原理

    转载自: http://www.zrss.com.cn/article-110-1.html Citrix交付中心解决方式的核心是虚拟化技术,虚拟化计算的核心是ICA协议,ICA协议连接了执行在平台上 ...

  2. 【翻译自mos文章】oracle支持在RDBMS HOME 下的 符号链接( Symbolic Links)吗?

    oracle支持在RDBMS HOME 下的 符号链接( Symbolic Links)吗? 參考原文: Does Oracle support Symbolic Links in the RDBMS ...

  3. 使用线程 在shell上同步动态显示当前系统时间

    //创建一个用于刷新当前系统时间的线程 new Thread() { public void run() { // 此处为另外一个单独线程,非UI线程 Display dis=shell.getDis ...

  4. Spring学习之杂七杂八

    源码解读Spring IOC原理 - http://www.cnblogs.com/ITtangtang/p/3978349.html 1. 使用Groovy配置Bean http://blog.cs ...

  5. python优秀库 - 使用envelopes发送邮件

    这里有一个使用python自带lib发送邮件的例子(http://my.oschina.net/leejun2005/blog/74416),这里面讲解的很全面,可以供大家参考. 今天将的是使用env ...

  6. position relative和absolute区别

    看这个博客 说的很详细http://blog.sina.com.cn/s/blog_647a022e0101b2gn.html 总的来说 这两个属性都是通过增加left和right偏离原来的位置  但 ...

  7. ASP.NET jQuery 随笔 显示CheckBoxList成员选中的内容

    通过jQuery来获取CheckBoxList成员内容. <%@ Page Language="C#" AutoEventWireup="true" Co ...

  8. c++ 对象作为参数传递

    对象作为参数传递时是传值.把实参的对象赋值给形参.因此效率有点低. c++传参方式可以分为2种: 1.传值 (指针作为参数,本质上也只是把地址作为值传递了而已). 2.传引用. 所以,一切传递方式不是 ...

  9. 1104--DNA排序

    问题描述: 逆序数可以用来描述一个序列混乱程度的量.例如,“DAABEC”的逆序数为5,其中D大于它右边的4个数·,E大于它右边的1的个数,4+1=5,又如,“ZWQM”的逆序数为3+2+1+0=6. ...

  10. 飘逸的python - 简单探索time模块

    time模块中方法众多,不过在了解本质和联系之后,就会发现其实很简单. 在python中可以用3种方式来表达时间.看似很乱,其实就只是这3种变来变去来回转换而已. 1.时间戳 2.时间tuple,由9 ...