这个账号 2009 年注册,今年是第 17 年。写了很多年 C++,从 MFC、多核、OpenCL 一路写过来,前阵子翻了翻自己发过的东西,发现问问题的人变了:以前私信里是"这段代码为什么崩",最近一年变成"我家孩子想学编程,是不是该走信奥"。
问的人里有同行,也有完全不懂代码的家长。机构号回答这个问题,三句话就会绕到"限时优惠"上。我想讲点实在的:这条路的全貌长什么样,每一步什么时候该进、什么时候该出,家长不写代码能帮上什么忙。
先把结论放最前面:信奥是一场以"年"为单位的长跑,起步阶段选错路径的代价,远小于在错误的路径上猛踩油门。
一、先把这条路的全貌讲清楚
信奥不是一门课,是一条赛事通道,主办方是中国计算机学会(CCF):
CSP-J/S(入门级/提高级)→ NOIP → 省选 → NOI → IOI(国际信息学奥林匹克)
CSP-J/S 是这条路的入口,大多数人所谓"学信奥",实际说的就是备考 CSP-J/S。它每年两轮:第一轮一般在 9 月中下旬,笔试形式;第二轮在 10 月底,现场上机编程。J(入门级)和 S(提高级)是平行组别,不是先后关系——官方允许同时报名,两场考试在同一天,上午 J、下午 S。
几个大多数家长会踩的认知坑,提前拆掉:
坑一:信奥只有 C++。 CCF 从 2022 年起全面取消 Pascal,NOI 系列赛事(含 CSP-J/S)的竞赛语言只剩 C++ 一种。Python 现在再热,CCF 系赛事从来没收过它。所以当机构建议"先学 Python,以后再说"时,你要清楚:Python 在这条路上只能当思维过渡的跳板,它本身不通向赛道。
坑二:它是认证,不是想象中的"比赛"。 CSP 全称是软件能力认证,按成绩划档发证,第一轮成绩达标才能进第二轮。它更像驾照科目考试,而不是体育锦标赛——对手是分数线,不是隔壁的孩子。这个定位决定了备考策略:把基础动作练稳,比追逐难题的性价比高得多。
坑三:升学政策是一省一策、一校一策。 科技特长生、强基计划这些词,各地的兑换规则差异极大,而且政策一直在变。我的建议很直接:不要为某条具体的升学承诺入场,要为"孩子真的获得了工程和数学能力"入场。能力是自己的,政策是别人的。
顺带交代一下今年的时间线,方便对表:2026 年第一轮已在 9 月 19 日考完,第二轮定在 10 月 31 日;第二轮不需要家长自行报名,由各省负责人统一为晋级者报名,等确认通知就行。往年的节奏也稳定:报名在暑假启动、9 月初截止,认准 NOI 官网(noi.cn)的通知,不要依赖第三方转述。
二、三阶段路线图:每一步都有进出标准
阶段一:Scratch 启蒙(建议三年级前后,半年到一年)
目标不是"学会一个软件",是建立四样心智模型:顺序、循环、条件、变量。事件和消息机制顺带感知一下就够。
出阶段的标准比进阶段的年龄重要:
- 能不照着教程,独立做出一个有多关卡、有计分的小作品;
- 打字不抗拒(这是后面转 C++ 的硬前提);
- 能在桌前坐稳 40 分钟。
什么时候该离开 Scratch? 孩子开始嫌它"只能拖积木、表达不了我想做的事"——这个信号非常准,出现了就别恋战。Scratch 是训练轮,训练轮的作用是建立平衡感,不是骑行生涯的目的地。在训练轮上骑太久,反而会养出"编程=拖积木"的错误直觉。
阶段二:过渡与定型(四五年级,半年左右)
这一阶段要回答的问题是:什么时候上 C++,要不要用 Python 过渡。
两条路线的争论很多,我的意见是工程师式的:如果目标明确是信奥,过渡期越短越好。 Python 语法友好,但它的缩进块、动态类型和 C++ 差异不小,过渡期拉长到一年以上,孩子要经历两次语法迁移,反而不划算。
一个可操作的判断:抽象思维到位的孩子(能理解"变量是个盒子、函数是个机器")可以跳过 Python 直接 C++;需要过渡的,Python 给半年,到点就走,不留恋。
这个阶段同步做三件小事:打字速度练上来;开始适应英文界面和报错信息;数学上把四则运算、负数、取余、进制这些概念盘熟。
想给孩子做阶段性体检,可以用 GESP——CCF 自己的编程能力等级认证,有 C++ 方向,按级别考。它还有个实际好处:2026 年起 GESP 可以申请衔接 CSP-J/S,审批通过的考生免第一轮认证及费用,直接进第二轮。等级考试第一次和赛道直接挂上了钩,值得顺路利用。
阶段三:C++ 竞赛正轨(五年级到初中,两到三年一个备战周期)
第一步,学竞赛子集,不是学完整 C++。C++ 是一门庞大的语言,但 CSP-J 用得到的只有:变量、分支、循环、数组、字符串、函数、结构体,再加上 STL 里几个常用容器(vector、sort 这些)。指针、面向对象、模板元编程,这个阶段一概不碰。很多孩子被"C++ 难"劝退,是被完整的 C++ 劝退的,竞赛子集没那么吓人。
第二步,算法入门。CSP-J 第二轮的弹药库基本就是这几件:枚举、模拟、排序、二分、贪心、递归、搜索(DFS/BFS),再加入门级动态规划。每一件都值得用真题喂,不用题海,用精题。
第三步,真题循环。第一轮三种题型(选择、阅读程序、完善程序)里,"阅读程序"是拿分大头,值得专项练;第二轮四道编程题,按测试点给部分分。
这里给一句写了 17 年代码的人的实话:第二轮的分数结构里,暴力解的分数占大头。 第一年参赛的合格线,不是"想出正解",是"把暴力解写对写稳"。很多孩子卡在眼高手低上——正解想不出来,暴力又嫌丢人不肯写。竞赛的第一课恰好相反:能稳定拿到的分,一分都不丢,这就是工程思维在赛场上的第一个应用。
三、家长 FAQ(不懂代码版)
Q:几年级开始最合适?
Scratch 二三年级起步都行;C++ 最晚五年级要启动,这样给 CSP-J 留出两年备战期。初一才启动 J 组不是不行,但时间会很紧。
Q:要数学多好吗?
入门阶段小学数学扎实就够了。数论、组合数学这些要到初中才真正上场,数学可以跟着一起长,不是前置门槛。
Q:一周投入多少时间?
学期中每周 3~5 小时,寒暑假加码。前期拼强度是大忌,这是一场按年计的长跑,把热情烧完在阶段一,是最常见的失败方式。
Q:家长不写代码,能帮什么?
三件事,都不需要代码能力:管节奏(用上面的进出标准,该转段就转段);收真题(noi.cn 历年真题公开,认准官方);管预期(让孩子对标自己的上一次,不是别人家的孩子)。
四、这个账号接下来写什么
接下来按三层展开:
写了 17 年 C++,现在把这套东西讲成孩子能听懂的版本。如果你家也有一个盯着屏幕眼睛发亮的小孩,关注这个账号,咱们慢慢走。
数据与政策说明:CSP-J/S 时间安排、语言限制(2022 年起仅 C++)、GESP 衔接政策均以 CCF NOI 官网(noi.cn)当年通知为准;文中 2026 年时间线为已公布安排(第一轮 9 月 19 日、第二轮 10 月 31 日)。





