OJ双人赛:程序设计竞赛的新尝试
早就想在所教的班上组织一次程序设计竞赛,直到冒出双人赛形式的念头。出题、分组、竞赛,又是一次新的尝试。
做为在教学环节中组织的竞赛,不同于自愿报名的竞赛,必须全员参与。享受比赛要追求,培养团队意识也要有,不致于打击学习还不顺利的,甚至学习不投入的同学,这个也必须有。给予后进者适度的刺激和思考,也要有的。我在近三年的教学中,带领同学们通过发博客积累代码行(
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双人赛:程序设计竞赛的新尝试的更多相关文章
- Just Oj 2017C语言程序设计竞赛高级组A: 求近似值(矩阵快速幂)
A: 求近似值 时间限制: 1 s 内存限制: 128 MB 提交 我的状态 题目描述 求⌊(5–√+6–√)2n⌋⌊(5+6)2n⌋%9932017. 例如:n=1,(5–√+6–√)2( ...
- Just Oj 2017C语言程序设计竞赛高级组E: DATE ALIVE(二分匹配)
E: DATE ALIVE 时间限制: 1 s 内存限制: 128 MB 提交 我的状态 题目描述 五河士道家里的精灵越来越多了,而每一个精灵都想和他有一个约会.然而五河士道却只有一个,无奈 ...
- Just Oj 2017C语言程序设计竞赛高级组D: 字符串最大表示(next数组)
D: 字符串最大表示 时间限制: 1 s 内存限制: 128 MB 题目描述 有如下定义,abcnabcn表示字符串abc重复n次,例如abc2abc2表示abcabc. 给定一个字符串,求 ...
- A. Srdce and Triangle--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)
如下图这是“今日头条杯”首届湖北省大学程序设计竞赛的第一题,作为赛后补题 题目描述:链接点此 这套题的github地址(里面包含了数据,题解,现场排名):点此 Let be a regualr tr ...
- 2016年中国大学生程序设计竞赛(合肥)-重现赛1001 HDU 5961
传递 Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submiss ...
- 2016年中国大学生程序设计竞赛(合肥)-重现赛1008 HDU 5968
异或密码 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submis ...
- 电子科技大学第八届ACM趣味程序设计竞赛第四场(正式赛)题解
A. Picking&Dancing 有一列n个石子,两人交替取石子,每次只能取连续的两个,取走后,剩下的石子仍然排成1列.问最后剩下的石子数量是奇数还是偶数. 读懂题意就没什么好说的. #i ...
- 2016年中国大学生程序设计竞赛(合肥)-重现赛1009 HDU 5969
最大的位或 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submi ...
- 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 H题 Rock Paper Scissors Lizard Spock.(FFT字符串匹配)
2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...
随机推荐
- 【转】KVM/Installation
[转]KVM/Installation Installation Pre-installation checklist Check that your CPU supports hardware vi ...
- Android Studio导出Jar包
这篇博客将介绍一下如何用Android Studio导出jar包,希望能给大家带来帮助. 首先需要修改build.gradle文件,在Android Studio中会显示多个build.gradle文 ...
- 设计模式值六大原则——设计模式之六大原则——单一职责原则(SRP)
定义: 应该有且仅有一个原因引起类的变更. There should never be more than one reason for a class to change. 优点: 1.类的复杂性降 ...
- HTML5 总结-Web存储-7
HTML 5 Web 存储 在客户端存储数据 HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 ses ...
- C语言回溯算法解决N皇后问题
回溯算法的模型是 x++, not satisfy ? x-- : continue. 代码中x作列号,y[x]保存第x列上皇后放置的位置. #include<stdio.h> #incl ...
- win7和ubuntu双系统,win7时间晚8小时解决办法。
装了Win7和Ubuntu双系统后发现,使用Ubuntu后再登陆win7时系统显示时间不准确,比实际时间晚了8小时. 搜索后发现原来Linux和Windows的系统时间管理是不同的.Linux是以主板 ...
- Sphnix
Sphinx高性能的搜索引擎(简单.强大.实用) http://blog.csdn.net/lgm252008/article/details/5373354
- Qt学习 之 多线程程序设计(QT通过三种形式提供了对线程的支持)
QT通过三种形式提供了对线程的支持.它们分别是, 一.平台无关的线程类 二.线程安全的事件投递 三.跨线程的信号-槽连接. 这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势.多线 ...
- 设计模式总结4--singleton pattern
单例模式 保证每个类只有一个实例,并提供一个全局访问点 第一步 构造方法私有化第二步 公有化静态方法获取的实例 懒汉式 public class Bank{ private Bank(){} pri ...
- Embedded Linux Primer----嵌入式Linux基础教程--2.4节--嵌入式Linux发行版
嵌入式Linux发行版 究竟什么是Linux发行版?在Linux内核引导之后,它期望找到并挂载根文件系统.当一个匹配的根文件系统已经挂载上,启动脚本开始运行大量程序和系统要求的工具.这些程序经常调用其 ...