全国青少年软件编程等级考试标准(C语言)
本标准由中国电子学会科普培训与应用推广中心和北京大学信息科学技术学院共同制定。由全国青少年电子信息科普创新联盟标准工作组参与开发,由中国电子学会普及工作委员会审核通过,适用于由中国电子学会举办的全国青少年软件编程等级考试,由经授权的全国青少年软件编程等级考试服务中心/网点承担招生和考试服务工作。
- 本标准不指定具体的编程软件。
- 本标准由低到高分为一级至十级。
- 本标准未对考试形式进行说明。
- 本标准适用年龄 8 周岁(建议 10 周岁)以上青少年。
所有相关本标准的解释权属于中国电子学会。
- 标准工作组织 正式级标准工作组
- 组长:李文新
- 副组长:杨晋
- 大学组成员:
- 1.李文新 北京大学信息科学技术学院 教授
- 2.陈越 浙江大学 计算机学院 教授
- 3.吴英杰 福州大学 计算机学院 教授
- 4.罗国杰 北京大学信息科学技术学院长聘副教授
- 5.张勤健 北京大学信息科学技术学院
- 工程师中学组成员:
- 1.邹毅 湖南省衡阳八中 教师
- 2.吴俊杰 北京景山学校 教师
- 3.朱强 徐州市电化教育馆
- 教师企业组成员:杜仲轩、李悦成、赵桐正、曾鹏轩
- 学会组成员: 杨晋、程晨、曹盛宏、吴俊杰、李梦军
C语言编程等级考试(一级)
1.理解变量的概念;
2.掌握变量的定义、类型和转换方法;
3.掌握变量的赋值方法;
4.掌握编程中基本的输入输出方法;
5.掌握编程基础的算术表达式;
6.能够完成一个顺序结构的程序;
7.理解逻辑运算的基本概念;
8.掌握编程基础的逻辑表达式;
9.掌握选择语句的功能和写法;
10.能够完成一段选择结构的程序;
11.掌握循环语句的功能和写法;
12.能够完成一段循环结构的程序。
能够使用上述方法编写指定功能的正确完整的程序。
C语言编程等级考试(二级)
1.理解数制的基本概念;
2.能够进行二进制、十进制以及十六进制之间的转换;
3.掌握一维数组、二维数组及多维数组的用法;
4.理解编码的概念;
5.掌握字符串的用法;
6.掌握在数组中进行顺序查找的方法;
7.掌握对数组中数据进行简单排序的方法;
8.对于排序了的数组,能否利用二分查找的方法找到满足条件的数据;
9.理解函数及过程抽象的概念;
10.理解函数的参数和返回值的概念;
11.能够自己创建一个带参数的函数;
12.能够自己创建一个有返回值的函数。
能够使用上述方法编写指定功能的正确完整的程序。
C语言编程等级考试(三级)
1.掌握算法以及算法性能、算法效率的概念;
2.掌握基本算法中枚举的概念;
3.掌握基本算法中递归的概念;
4.掌握自调用函数的应用,实现基本算法中的递归方法;
5.掌握基本算法中由递归变递推的方法。
能够使用上述方法编写指定功能的正确完整的程序。
C语言编程等级考试(四级)
掌握基本算法中的动态规划方法。
能够使用上述方法编写指定功能的正确完整的程序。
C语言编程等级考试(五级)
1.掌握基本算法中的分治技术;
2.掌握基本算法中的搜索剪枝技术;
3.掌握基本算法中的贪心算法。
能够使用上述方法编写指定功能的正确完整的程序。
C语言编程等级考试(六级)
1.掌握数据结构及结构的概念;
2.掌握数据结构中的指针和链表;
3.掌握数据结构中的栈;
4.掌握数据结构中的队列;
5.掌握数据结构中的哈希。
能够使用上述方法编写指定功能的正确完整的程序。
C语言编程等级考试(七级)
1.掌握数据结构中的二叉树;
2.掌握数据结构中的堆;
3.掌握数据结构中的图;
4.掌握空间效率分析的基本方法。
能够使用上述方法编写指定功能的正确完整的程序。
C语言编程等级考试(八级)
1.掌握各种高级排序算法;
2.掌握对算法的时间效率进行分析的方法;
3.掌握基本的数论知识;
4.掌握常用的图论算法。
能够使用上述方法编写指定功能的正确完整的程序。
C语言编程等级考试(九级)
1.掌握用分治技术做算法设计的方法;
2.能够使用各种优化方法提高动态规划算法的优化;
3.能够设计比较复杂的贪心算法并进行算法正确性证明;能够设计比较复杂的搜索算法,并对算法进行优化;能够使用网络流算法解决实际问题;
能够对描述复杂的问题进行抽象和简化,并通过使用各种算法予以解决。
C语言编程等级考试(十级)
1.掌握用分治技术做算法设计的方法;
2.能够本级会涉及但不限于随机算法、近似算法、神经网络算法、深度学习算法、强化学习算法,以及算法复杂性分析等更高级或新兴的算法设计及分析方法。
目前中国电子学会开通1-8级等级考试,8级以上暂未开放。从每一次的等级考试命题情况看,一直是模仿信息学奥赛,但是更侧重于对算法的基本掌握情况,而对算法的灵活运用和数学建模能力要求相对要低一些。