早就想在所教的班上组织一次程序设计竞赛,直到冒出双人赛形式的念头。出题、分组、竞赛,又是一次新的尝试。
做为在教学环节中组织的竞赛,不同于自愿报名的竞赛,必须全员参与。享受比赛要追求,培养团队意识也要有,不致于打击学习还不顺利的,甚至学习不投入的同学,这个也必须有。给予后进者适度的刺激和思考,也要有的。我在近三年的教学中,带领同学们通过发博客积累代码行(
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. 微信二维码扫描下载APK

    前几天给客户制作的app需要上线,生成二维码扫描进行下载,把生成好的apk挂在服务器端,将地址复制下来,通过草料二维码(http://cli.im/)生成一个二维码 也许你会看到有个app的选项,为什 ...

  2. js中的setTimeout和setInterval

    在html页面中要使用自动刷新功能时,可以是使用js中setTimeout和setInterval: 一.使用方法 setTimeout的使用setTimeout('要调用的Js方法', 调用的延迟时 ...

  3. Linux输入子系统(Input Subsystem)

    Linux输入子系统(Input Subsystem) http://blog.csdn.net/lbmygf/article/details/7360084 input子系统分析  http://b ...

  4. jquery的链式操作以及事件绑定

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. Android 常用开源代码整理

    1.AndroidAnnotations一个强大的android开源注解框架, 基本上可以注入任何类型, 比一般的所谓的注入框架要快, 因为他是通过生成一个子类来实现的绑定.具体查看文档. 2.and ...

  6. Failed to fetch URL http://dl-ssl.google.com/android/repository/addons_list-2.xml, reason: Connectio (andriod sdk manager) http://dl-ssl.google.com/android上不去解决方案

    Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xml  Fetched Add-ons List succes ...

  7. .net MVC 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错,字符串的长度超过了为 maxJsonLength 属性设置的值

    在.net mvc的controller中,方法返回JsonResult,一般我们这么写: [HttpPost] public JsonResult QueryFeature(string url, ...

  8. poj 1905 Expanding Rods 二分

    /** 题解晚上写 **/ #include <iostream> #include <math.h> #include <algorithm> #include ...

  9. python--help

    python help 学习python的过程中,难免遇到一些生疏的东西,为此需要参看相关的文档说明. Linux下众所周知有man可以查找系统的命令帮助页:对于python也提供了自己的帮助文档的2 ...

  10. NET Core1

    NET Core .net core最近园子讨论频率很高的话题,从不久前发布正式版本后,也是开始从netcore官网一步一步走向学习之路:.net跨平台的设计让人很是兴奋起来,因为做了多年的互联网研发 ...