首先从课程进行分析。在目前的信息学局势来看,C++ 语言将在很长一段时间会成为主流。

目前 NOIP 支持的 C++、C 和 Pascal(2022 年取消) 中,C++ 是最推荐的。正如其他的答案所说,学习 Scratch 和乐高只是在电脑上拼积木。但是不要灰心,因为学习这些东西其实可以让孩子更早接触到类似于循环、变量、运算符等知识,在学 C++ 的过程中其实也是一种帮助。关于学习 Python 的事情,个人建议可以在 C++ 语法学习好了之后稍微看一下。C++ 和 python 的互通性实际上还是蛮大的。

学好了 C++ 之后,想看懂 Python 并不是一个很难的事情。但是这两者中先接触到的语言可是会影响到孩子之后的代码风格什么的。在 Python 中,需要用 tab 表示循环,变量使用 var 进行定义,库需要使用 import,可以使用 range 表示一个区间,和 C++ 的大括号、多类型分开定义、使用 #include<> 进行引用是很不同的。

所以,如果现在想学的话,还是建议 先学习 C++ 。然后就是年龄问题。考虑到孩子的理解能力,如果现在孩子感觉学起来吃力的话,不妨把学习 OI 的时间往后推,因为孩子的理解能力是会随着成长而变强的。

再说竞赛的大致结构。

首先提一个醒:只有在 NOI 取得银牌以上的成绩,才可以对高中生大学起作用。首先需要进行 CSP 的考试,在通过后需要进行 NOIP 的考试。这两个考试在普及组中都没有难度,但是在提高组中就需要一定的代码能力和思维能力。

拿到 NOIP 省一,除非所在省竞争非常大,在目前来看还是比较简单的事情。在 NOIP 取得一定分数之后,可以进入省选,由此选出省队。省队选拔如果是 A+B 的形式,那么只需要考冬令营,如果是 A+B+C 的话需要多考一个省选。在这个时候,你就需要保证孩子可以在省中保持前列。等到了 NOI 的话,就要看孩子在神仙打架中可以取得多少名了。

从我身边看到的情况来说,信息学逐渐早龄化,内卷化也非常严重,这一点从题主在三年级就让孩子学习编程这件事就可以看出来了。信息学本身的考察内容也会越来越难,这种趋势可能会影响很久。

CSP 和 NOIP 的奖状在当前政策来看一无是处,省选和 NOI 的难度很大,所以希望题主在这个方面三思。总结起来的话,NOIP 系列竞赛是一个有四个关卡的游戏,在最后一个关卡抢先击败怪物,可以获得丰厚的奖励。在前面的关卡中击杀怪物,大家可能会为你鼓掌。

怪物的能力逐年增长,而身边的竞争对手也愈发强壮。大概就是这种感觉。


作者:tiger2005
链接:https://www.zhihu.com/question/436404309/answer/1788010878
来源:知乎
著作权归作者所有。