打好基础
信息学比赛的基础是 C++ 编程。这个编程学习,理论上来说,什么时候学都行。但是,如果孩子是这块料,早点学有好处。代码能力是硬功夫,童子功不是什么时候都能练的。小时候打过比赛的人,和上了大学才开始学编程的,是有区别的。另外,考虑到的话,如果从就能出成绩,一路都能用上,不好吗?
那什么时候开始合适呢?寒假、三升四暑假或者秋季开学开始,比较合适。起步的时间点和孩子的逻辑思维能力有关,和赛程赛制也有关。
CSP-J/S 是每年较重要、较放心的信息学比赛,由中国计算机学会主办。这个比赛原则上是面向生的,如果阶段能进入复赛,并且拿个奖,对孩子的和进一步学习下去的信心是很有帮助的。
从赛程时间可以看出来,这个较重要的比赛,初赛时间是在秋季一开学。所以,如果要想进入复赛,较好在这之前有两年的入门和准备时间。逻辑思维能力发展比较好的三、,已经可以开始学习编程了。所以这个时间段进入,是比较合适的。
争取入门组一等奖
入门组,就是 CSP-J 组。不同省份的 J 组的一等奖分数线不一样。浙江、江苏、北京、上海、广东、湖南这几个省是信息学强省,其中浙江是超强省。强省的 J 组一等奖分数线比较高,相当于 985 大学计算机专业比较本科生的编程水平。所以这个 “入门组” 的门槛还是挺高的。
从开始学习,到拿到入门组一等奖需要的时间不一样,和天赋、努力程度都有关系。如果能找个好教练带,拿奖的速度可以快一点。值得注意的是,天赋和努力是位的,教练的因素是加快拿奖速度,但是没有一定的努力,再什么教练也带不出来。
大部分同学是在学习了 3~5 年拿到的入门组一等奖。也就是,从开始学习,到高二、高三的秋季学期,拿到入门一等奖。通常,拿到入门组一等奖的同学,如果同步参加提高组(CSP-S)比赛,能拿到二等或者三等奖。
有不少选手,学了四年还是二等奖,就想退役了。我的建议是:即便已经很清楚自己冲不进省队,如果还没到高三,这个入门组的一等奖还是值得努力争一下的。一方面,编码能力达到入门组的一等奖,如果日后以写代码谋生的话,完全够用了。另一方面,等孩子成年了,有一段拼搏竞赛的经历,是很重要的回忆。
争取提高组一等奖
提高组一等奖,就是 CSP-S 组的一等奖,真的不是一般人能拿到的了。需要有一定的天赋和艰苦的努力。一般来说,还得有个好教练。
我们很难明确规划从入门开始,学习多久可以拿到提高组一等。如果天赋、努力和教练都到位,从入门组一等,到提高组一等,平均需要两年时间。
拿到提高组一等奖之后的路,是冲击省队、参加 NOI、冬令营直到代表祖国参加国际信息学奥林匹克竞赛。