
课程设计参照中国电子学会C语言等级考试标准与信息学奥赛大纲:

【C++编程1-9级描述】
- 1-2级:相当于大学一年级C语言基础,信息学奥赛CSP-J入门级第一个题目的难度。目前,黎老师这里学习C++编程的最小学生是四年级。
- 3-4级:大学二年级数据结构和算法基础,信息学奥赛CSP-J入门级第二个题目的难度 。信息学奥赛CSP-J入门级考试一共4个题目,参考历史数据,做对前面两个题目可以获得入门级一等奖。
- 5-6级:信息学奥赛CSP-J入门级第三个题目的难度,信息学奥赛CSP-J提高级第一个题目的难度。
- 7-8级:信息学奥赛CSP-J入门级第四个题目的难度,信息学奥赛CSP-S提高级第二个到第三个题目的难度 。信息学奥赛CSP-S提高级考试一共5个题目,参考历史数据,做对前面两个题目可以获得提高级一等奖。
- 9级以上:C++编程能力超过绝大部分计算机系本科毕业生,信息学奥赛CSP-S提高级第三个题目的难度及以上 。

信息学奥赛学习路径规划:
三年级-四年级
三、四年级的时候进行编程兴趣的试探,五、六年级也不晚,要看看孩子是否喜欢编程。
刚开始的时候,学习Scratch图形化编程或者Python都可以,根据孩子的兴趣二选一。全世界很多的名牌大学如哈佛、麻省理工、国防科技大学大一计算机导论课用Scratch进行编程思想的学习。同样是Scratch,不同的课程体系不同的授课老师会学出完全不同的结果。不管是Scratch还是Python,如果作为信奥课程的启蒙课,就要以训练抽象思维和基础算法思想为主。
孩子能够上课认真听讲、课后高质量完成老师的编程作业,那么可以继续深入学习。无法做到以上两点的孩子,建议先去改善学习习惯。
开始得早一点的孩子,四年级或五年级会开始学习c++编程,开展竞赛、取得成绩。关于这一点,肯定是因人而异的,有的孩子思维好、坐得住、爱钻研,四年级开始学习C++课程并不会觉得特别难。
黎老师带的学生最早参加CSP-J(普及组/初中组)比赛的是一个四年级上学期的孩子,她第一次参赛就通过了CSP-J第一轮。
绝大多数的孩子都可以在Scratch编程阶段获益良多,培养出探索计算机科学的浓厚兴趣。即使孩子以后不走信息学竞赛的路线,在编程实践中培养出来的分析问题、解决问题的思路和习惯,对学习其他的学科也大有裨益。
信息学C++竞赛路是漫长的,小学三、四年级开始投入的编程学习的学生,相比高年级开始的孩子,会有时间上的优势。
五年级-六年级
五、六年级是比较理想的学C++时间点,这个年级的孩子已经具备了基本的数学能力,能应对编程中碰到的大部分数学知识。
一开始不能太着急,还是要以兴趣为主,如果孩子自律性足够,也可以以竞赛为主,在不耽误孩子正常的学习情况下竞赛获奖,实现双赢。
从竞赛到成人后工作的一整个链条看,最适合竞赛的编程语言是c++(没有之一)。其他的编程语言等各有优点,但是编程语言只是一种实现想法的工具,并不是见过用过的工具越多越好。我们不要让孩子迷失在各种各样的工具当中,而应该专注于问题的本质,去利用编程工具训练分析问题、解决问题的能力。
我们要看破语言的本质就是工具,有些孩子看似学过的编程语言种类很丰富,把很多的语言都走马观花学了一遍,其实只是表面工夫。
利用好五年级、六年级的寒暑假,绝大部分孩子应该已经具备扎实的编程基础比如变量、函数、循环、数组、字符串和模拟、枚举、递推、递归、排序算法等。而自律性很高的孩子,这一阶段可以学得更多,练得更多,甚至参加信息学竞赛(认准中国计算机学会的CSP-J/S、NOIP,其他的比赛与这个没有可比性)获奖。

七年级
七年级的孩子很适合开展算法与数据结构的学习,备战信息学竞赛普及组(入门级/初中组),准备八年级上学期(现在初赛时间是9月份)举行的普及组的比赛,每周建议能够投入5小时以上去进行独立编程实践(不能只听讲、看书,自己去编程才是核心)。七年级的暑假增加编程的训练时间,夯实普及组初赛内容,把历年普及组竞赛真题(至少10套以上)做一遍。

八年级
如果如上路线执行到位,普及组复赛获奖一般没有太大问题。根据所获奖项,决定八年级的主要训练方向:如果普及组基本得到满分,那么备战九年级上学期的提高组(提高级/高中组)比赛;如果普及组拿了奖但分数一般,可以考虑九年级上学期继续参加普及组比赛,尤其是自信心不足的孩子,给孩子充分的信心继续学习,不一定要立即升到提高组。
有不少训练刻苦、自信心爆棚的孩子,从一开始就是普及组比赛、提高组比赛双开,效果也很好。而从历年优秀选手的学习历程看,高中才开始参加提高组训练的优秀选手也并不少见。
七、八年级的暑假,对于能力特别强(普及组高分)的学生,全力冲刺提高组比赛和NOIP比赛。
九年级
九年级上学期(初赛时间是9月份)可根据能力和时间,选择参加普及组或提高组的比赛。由于九年级面临中考,需要加强文化课学习,在参加完比赛以后就应该全力投入到文化课学习,参加中考。
高一
按照以上的学习路径,进入高中的时候应该已经有了扎实的算法基础,对各种经典算法模型都比较熟悉了。初三(九年级)的暑假应该学习并巩固提高组知识,把历年提高组真题都扎实的做一遍。水平较高的选手可以参加各类在线编程比赛,与全国全世界的大牛们同场竞技。
高二
选手们已经知道自己该怎么走自己的路了,无需再做规划。
还没拿提高组一等奖的同学,可以考虑尝试再冲击一次,结束后完全回归文化课学习,中小学信息学竞赛生涯到这里划上句号,不要影响学科学习和高考。有志于继续在计算机技术领域发展的同学,进入大学以后,可以参加ACM等大学生编程竞赛。

最优秀信奥选手的特质不是优异的学科成绩,而是优秀的非智力方面的品质,包括:
- 明确的目标
- 自律的习惯
- 强烈的求知欲
- 肯专研
- 勤于动手