CCF开展编程培训师资认证项目(ProgrammingTrainerAccreditation,PTA),旨在建立一个规范的、科学的、权威且有公信力的第三方认证。认证分编程专业能力(P)和教学能力(T)两部分。
本标准根据《CCF编程培训师资认证条例》第十条制定。
一、测试目标
编程专业能力测试通过对认证参考人从事编程培训职业所需的专业核心能力进行测试并做出评价,为编程教育从业人员提供专业发展依据,为编程学习者选择师资提供参照依据。
编程能力测试内容包括程序设计的语言、算法、简单数据结构知识,以及观察和分析问题能力、对问题抽象化模型化的能力、算法设计的程序实现能力、测试数据的设计和程序调试能力等。
二、测试说明
2.测试语言。在PTA认证中,参考人可选择Scratch、Python和C/C++三种编程语言中的任何一种,通过后获得相应的证书。参考人如在报名时选择了C/C++语言,则在测试当日只得使用C/C++语言作答。
3.测试每年组织两次,约在1月、7月前后进行。
4.测试试题由CCFPTA认证技术委员会特邀专家组进行统一命题,每次5道题,每道题有10组测试数据,每个测试点分值为10分,试卷总分为500分。
7.如参考人已获得CCFNOI铜牌及以上、NOIP一等奖、CCFCSP认证成绩达到一定分数线或具有其他由CCF认定的公开竞赛成绩,本项可认定为合格,免编程测试。
三、能力目标
1.能够正确运用C/C++语言进行程序设计。
2.能够掌握常用的算法知识,理解算法设计在程序设计过程中的重要性。
3.能够掌握基本的数据结构知识,理解数据结构在程序设计过程中作用。
4.能够掌握进位制、组合数学、初等数论等数学知识,运用数学知识分析问题并求解问题。
5.具备程序设计思想,理解利用计算机解决问题的基本过程。能够根据题目进行建模和编程,能设计简单的测试数据并测试程序的正确性,能根据程序运行时出现的错误信息提示,针对性地修改调试程序。
四、知识范围
(一)C/C++语法
1.变量的定义、类型和转换、赋值等知识;
2.基本输入输出语句及常用格式;
3.算术运算符、关系运算符、逻辑运算符及相应运算规则;
4.变量自增自减运算、位运算;
5.顺序结构、分支结构和循环结构的程序设计(分支嵌套和循环嵌套);
6.一维及多维数组知识及应用;
7.字符与字符串知识及应用;
9.递归函数的知识及应用;
10.结构体知识及应用;
11.指针知识及应用;
12.C++标准模板库(StandardTemplateLibrary)知识及应用。
(二)数据结构
4.哈希表的原理及应用;
5.并查集的原理及应用;
6.哈夫曼树、线段树、树状数组、字典树、笛卡尔树、平衡树等特殊树的原理、基本操作及应用;
7.二分图、欧拉图、连通图、有向无环图等常见图的原理、基本操作及应用。
(三)算法
1.二进制、八进制、十六进制和十进制的转换;
2.枚举算法;
3.模拟算法;
4.递推算法;
5.贪心算法;
6.分治算法;
7.二分查找算法;
8.高精度算法;
9.动态规划算法;
10.深度优先搜索、广度优先搜索、记忆化搜索、启发式搜索迭代加深搜索、双向广度优先搜索等搜索算法;
11.排序算法(冒泡排序、选择排序、插入排序、基数排序、快速排序、堆排序、归并排序);
15.求最小生成树、求最短路、求有向无环图的拓扑排序、求欧拉道路和欧拉回路、求强连通分量、求割点割边等图论算法。