教学研究:为信息竞赛设计“平民试题”
张勤坚
在上一期专栏里,提到“学生自己画线再让小车循迹行走”的例子,这是我为学生信息技术应用能力竞赛(Scratch创意编程)出的题。今天想更详细地谈一谈当初设计的真实用心。
将一个竞赛题的设计归类到“教学研究”,似乎不太妥当,但进一步深究,竞赛若不能源于学科教学,才真的是非正常途径。而提出给信息技术类竞赛设计“平民试题”,是期望我们更多地关注能人人参与的赛项,千万不要把信息技术类竞赛都窄化为“精英赛事”,这会让很多人在各种很有高级感的赛事前失去参与的自信。不参与,就会少关注,这和承办赛事的初衷肯定是背道而驰的。因此,有些赛项就是要起点低一些,使得人人都能参与其中,且在后续阶段还有迭代发展的各种可能,这才是真正能体现学科价值的活动,可惜,目前此类活动相对来说还是比较缺失的。
再看赛题“走迷宫之猫捉老鼠”的大致情节:在第一个迷宫场景,小猫通过上下左右键控制行走,路径上增设三个障碍(物体掉落、旋转遮挡、隐藏角色不定时阻挡),小猫沿着迷宫路径避开障碍物并在终点处抓住老鼠即通关进入第二个迷宫场景。在第二个迷宫场景,小猫必须跟随鼠标行走并留下“足迹”(轨迹的粗细和颜色等由学生自行设定),再次擒住老鼠时发出“请求支援”指令,接到指令后的警车出现在迷宫起始处,并沿着小猫留下的轨迹循迹前行,到达终点后把小猫和老鼠同时送入警车并顺利返回。最后,还要增加一个计时器,在警车启动时开始计时,在遇见猫鼠并返回起点后计时结束,相同条件下,时间短者为优胜。
这样的一个设计,从整体上看,强调了作品场景和情节的相对完整,同时又兼顾了一定的思维深度。但在一众高手眼里,也确实显得比较“低水平”。我的设计意图是,“第一关是基础,源于教材并有适当延展,着重强调课程内容学习的重要性”(还有个隐藏目的,是让每个参赛者都有个不很难看的成绩)。程序设计的难点并不在程序本身,而在于程序正确前提下的循迹速度之争,鼠标熟练是一个方面,笔画粗细是一个方面,参数调整又是一个方面,时间限制也是一个方面,多方面多因素制约下的相互协调,达到各自心目中的最佳平衡点,这就不仅仅是单一维度的解题式编程问题了。
最后,還有一个关于得分点的说明(具体略):每个环节的设计都有相应的分值,但很多选手其实无法在规定时间内完成所有任务,因此他们必须考虑如何尽最大可能多拿分。这时,统筹和取舍显得比程序设计更为重要。
因此,看似没什么难度,最终赛果却是让一众编程高手翻车在阴沟里!没有了“难点”的比赛,他们并没有更多办法从“平民”阶层里突围而出。
PS:2019年度竞赛的创作主题是“带着地球去流浪”,其中涉及到五个场景和片头片尾的制作。大约1200字左右的文本说明,选手要快速阅读理解规则内容,精准估算自己综合实力后再确定创作顺序。分场景制作有基本分,完整故事设计追加20分,但衔接一旦出现瑕疵分数可能会很低。最稳妥的方案可能是先分场景设计拿基本分,然后再考虑合并完整……
确实是挺难为参赛选手的,因此没按套路出牌的我,匿名在群里不敢冒头,差点没被大伙儿的吐沫星子淹死。