CSP 第二轮的成绩于昨日尘埃落定,真真是有人欢喜有人愁的局面。
昨晚,我密切关注此次的成绩,期间不断收集各类信息,目的就是为了精准评估 joye 在这次考试中的排名情况。
最终得出的结论是:强省一等;弱省二等水平,和前段时间蓝桥杯全国赛的水平差不多。
值得注意的是,今年的一等预估分数线相较于往年有了显著的提升,普遍高出 50 分之多。
这种情况与我在 CSP 第一轮考试结束后的想法不谋而合,
即让普及组更普及,提高组更提高。
CSP 认证过程中暴露的问题
今年 CSP 认证结束后,大部分孩子在走出考场时都显得信心十足,然而在成绩查询之时,却有部分孩子的成绩不尽如人意。
就拿第一题来说,很多孩子只拿到 40 分。
这道题在大家眼中本是一道送分题,它仅仅考查的是非常基础的语法知识,并不涉及任何算法相关内容。只要孩子能够理解题目含义,并且完成基本的 C++ 语法(包括分支结构和循环结构)学习,就理应能够正确解答。但实际情况是,在很多省份,差不多有一半以上的孩子在这道题上出现了失误。
甚至在比赛结束后,还有部分家长因孩子出现的低级错误,向组委会提出酌情给分的请求。
对于初学者而言,出现问题主要集中在以下几个方面:
读题能力欠缺,未能全面理解条件
以第一题为例,大部分孩子仅获得 40 分,其原因在于遗漏了特殊条件 A 所隐含的信息,或者在处理该问题时未能妥善处理。
特殊条件 A 表明:保证输入的 n 张牌两两不同。这意味着在后续的测试点中,会存在两两相同或者多个相同的牌的情况,这是一个极易被忽视的隐含条件。
对 IO 赛制生疏,导致低级错误频发
今天我收到了很多因对 IO 赛制不注意、不熟悉而致使成绩为零的案例。其中包括:文件夹或文件命名错误、文件夹层级设置错误、忘记书写freopen 函数
今年我还留意到一些较为特殊的错误情况,比如有的选手出现了特定的代码书写问题。这些错误在编译阶段无法被发现,例如有选手将 “/” 写成了“\”,在 Windows 系统下编译不受影响,但在 Linux 测评环境中就会产生问题。
值得庆幸的是,joye 在这一方面表现出色,没有出现类似的低级错误,该拿到的分数都顺利拿到了。
对数据范围理解不足,缺乏算法复杂度意识
近年来,CSP 第二轮认证在题目设置上已经较为友好,每道题都清晰地给出了测试点的数据范围,并且还提供了大部分的样例。例如今年 J 组的 T2,官方甚至给出了全部测试点范围的样例。可以说,官方已经将送分题的条件设置得极为清晰了。
在这方面,joye 的表现也还不错,在比赛结束后,他能够准确地评估自己的分数,且与最终成绩完全一致。
对出题者意图理解不到位
理解出题者的意图这一环节相对复杂一些。如果能够清晰地读懂出题者的意图和思路,那么可以说已经完成了题目的 60%,剩下的工作就是代码实现了。
在这一点上,joye 还有一定的提升空间,需要在后续加强。
后续规划
依据 joye 在这段时间的比赛成绩,我们发现了一些问题,希望在今后能够逐个完善和改进。
提升数学能力
在低年级编程学习的这两三年里,大部分时间都花费在代码能力训练上,虽然学习了不少算法,但对于大部分算法,孩子们只是知其然而不知其所以然。
目前可以看出,代码能力尚可,但数学能力已经成为瓶颈。小学阶段的数学知识已经无法满足后续的算法学习需求,因此在后续的学习过程中,要有意识地提前学习数学知识,尤其是与算法紧密相关的数学内容。
强化空间几何能力
这部分内容涉及几何数学知识,其主要目的是为了在提高组编程时,让孩子具备一定的数学建模能力。随着学习的深入,这部分内容的难度会逐渐增加。
夯实计算机基础知识
这部分内容相当于第一轮的基础知识。由于过早接触计算机,虽然通过学习能够解答很多相关题目,但距离真正掌握还有一定差距,后续需要弥补这部分不足。可以通过和孩子一起动手组装电脑等方式,真正体验配置一台电脑和系统的过程,这将有助于加深对计算机基础知识的理解。
关注各类比赛
我一直秉持多参加比赛的观点,通过比赛可以培养经验,同时也能在比赛后进行学习复盘。我的理念是以赛促学。CSP 比赛一年仅有一次,对于学习过程而言,这个时间间隔有些长,学习过程也会略显枯燥。我希望能够为孩子寻找更多的比赛机会,这些比赛可以作为阶段性测试,在这个过程中给予孩子信心,同时也能检验上一阶段的学习成果。
不过,我并不建议为了比赛而过度投入时间,比如花费一整个上午或下午仅仅去参加一场测试。
今年的 CSP 虽已落下帷幕,但它同时也是明年 CSP 的新起点。希望所有孩子都能怀揣着对编程的热爱之心,在算法的奇妙世界里自由遨游,而不只是单纯地追求名次。