GESP等级大纲

news2024/11/16 20:35:36

CCF编程能力等级认证概述

CCF编程能力等级认证(GESP)为青少年计算机和编程学习者提供学业能力验证的规则和平台。GESP覆盖中小学阶段,符合年龄条件的青少年均可参加认证。C++ & Python编程测试划分为一至八级,通过设定不同等级的考试目标,让学生具备计算机使用的基础能力和通过编程思维解决生活问题的能力,激发青少年编程相关知识与技术的兴趣,提高青少年编程科学技术素养,培养青少年编程综合实践能力,为广大学员在进修等方面提供编程能力水平的证明。

认证知识体系

级别

知识内容(C++)

知识内容(Python)

知识目标

一级

计算机基础与编程环境

计算机历史

变量的定义与使用

基本数据类型(整型、浮点型、字符型、布尔型)

控制语句结构(顺序、循环、选择)

基本运算(算术运算、关系运算、逻辑运算)

输入输出语句

计算机基础与编程环境

计算机历史

变量的定义与使用

基本数据类型(整型、浮点型、字符型、布尔型)

控制语句结构(顺序、循环、选择)

基本运算(算术运算、关系运算、逻辑运算)

输入输出语句

Turtle绘图

掌握顺序、循环、分支的简单程序结构,可以使用集成开发环境进行编程与调试,通过编程基础知识的学习,完成单一功能的程序设计。

二级

计算机的存储与网络

程序设计语言的特点

流程图的概念与描述

ASCII编码

数据类型的转换

多层分支/循环结构

常用数学函数(绝对值函数、平方根函数、max函数、min函数)

计算机的存储与网络

程序设计语言的特点

流程图的概念与描述

ASCII编码

数据类型的转换

多层分支/循环结构

常用数学函数(绝对值函数、平方根函数、max函数、min函数)

掌握程序基本设计,能够使用简单数学函数。可以独立完成包含分支语句、循环语句等比较综合的案例,可以使用分支循环嵌套结构。

三级

数据编码(原码、反码、补码)

进制转换(二进制、八进制、十进制、十六进制)

位运算(与(&)、或(|)、非(~)、异或(^)、左移(<<)、右移(>>))

算法的概念与描述(自然语言描述、流程图描述、伪代码描述)

C++一维数组基本应用;Python列表、字典、元组、集合的基本应用、内置函数以及列表解析的使用

字符串及其函数

算法:枚举法

算法:模拟法

掌握数据编码、进制转换、位运算等知识,掌握一维数组、字符串及函数的使用,能够独立使用模拟法、枚举法解决对应的算法问题。

四级

函数的定义与调用

形参与实参、作用域

C++指针类型的概念及基本应用

函数参数传递的概念(C++值传递、引用传递、指针传递;Python值传递、引用传递)

C++结构体

C++二维数组与多维数组基本应用;Python复合数据类型的嵌套

算法:递推

算法:排序概念和稳定性

算法:排序算法(冒泡排序、插入排序、选择排序)

简单算法复杂度的估算(含多项式、指数复杂度)

文件重定向与文件读写操作

异常处理

掌握函数的定义、调用及函数参数传递的方法;掌握二维数组与多维数组的使用技巧;掌握常用排序算法、文件读写和异常处理的使用。能够解决递推相关问题。

五级

初等数论

(C++)数组模拟高精度加法、减法、乘法、除法

单链表、双链表、循环链表

辗转相除法(也称欧几里得算法)

素数表的埃氏筛法和线性筛法

唯一分解定理

二分查找/二分答案(也称二分枚举法)

贪心算法

分治算法(归并排序和快速排序)

递归

算法复杂度的估算(含多项式、指数、对数复杂度)

掌握初等数论,线性表的知识,二分法、分治法、贪心法的思想,完成指定功能的程序。C++掌握数组模拟高精度的运算。

六级

树的定义,构造与遍历

哈夫曼树

完全二叉树

二叉排序树

哈夫曼编码

格雷编码

深度优先搜索算法

宽度优先搜索算法(也称广度优先搜索算法)

二叉树的搜索算法

简单动态规划(一维动态规划、简单背包问题)

面向对象的思想

类的创建

栈、队列、循环队列

掌握树的基础知识,能够分辨不同的树,并根据不同的搜索算法进行遍历,掌握简单线性动态规划和简单背包问题。

七级

数学库常用函数(三角、对数、指数)

复杂动态规划(二维动态规划、动态规划最值优化)

图的定义及遍历

图论算法

哈希表

掌握图的定义与遍历相关算法,能使用二维动态规划、动态规划最值优化的知识完成复杂的动态规划算法。

八级

计数原理

排列与组合

杨辉三角

倍增法

代数与平面几何

算法的时间和空间效率分析

算法优化

掌握组合数学中基本知识,通过算法的时间和空间效率分析,可以完成相对应的算法优化。

C++&Python编程三级标准

(一)知识点详述

(1)了解二进制数据编码:原码、反码、补码。

(2)掌握数据的进制转换:二进制、八进制、十进制、十六进制。

(3)掌握位运算:与(&)、或(|)、非(~)、异或(^)、左移(<<)、右移(>>)的基本使用方法及原理。

(4)了解算法的概念与描述,熟练运用自然语言、流程图、伪代码方式来描述算法。

(5)C++一维数组基本应用;Python列表、字典、元组、集合的基本应用、内置函数以及列表解析的使用.

(6)掌握字符串及其函数的使用包括但不限于大小写转换、字符串搜索、分割、替换。

(7)理解枚举算法、模拟算法的原理及特点,可以解决实际问题。

(8)理解模拟算法、模拟算法的原理及特点,可以解决实际问题。

(二)考核目标

掌握计算机中常用进位制、位运算及数据编码的知识,掌握一维数组、字符串类型及其函数的使用,掌握枚举法、模拟法的原理和运用技巧,对于较简单的实际问题能构造算法、描述算法、实现算法并调试程序。


(四)知识点描述

编号

知识块

知识点

1

数据编码

原码、反码、补码

2

进制转换

二进制、八进制、十进制、十六进制

3

位运算

与(&)、或(|)、非(~)、异或(^)、左移(<<)、右移(>>)

4

算法与描述

枚举法、模拟法

自然语言描述、流程图描述、伪代码描述

5

数据结构

C++一维数组;Python列表、字典、元组、集合、列表解析

6

字符串及其函数

大小写转换、字符串搜索、分割、替换等

(五)题型分布

单选题

判断题

编程题

15道(2分/道)

10道(2分/道)

2道(25分/道)

考试时间:120分钟

C++&Python编程四级标准

  • 知识点详述

(1)理解C++指针类型的概念,掌握指针类型变量的定义、赋值、解引用。

(2)掌握C++结构体、二维及多维数组的基本概念及使用;掌握Python复合数据类型的嵌套使用。

(3)理解模块化编程思想,掌握函数的声明、定义及调用,掌握形参与实参的概念及区别。

(4)掌握变量作用域的概念,理解全局变量与局部变量的区别。

(5)掌握函数参数的传递方式:C++值传递、引用传递、指针传递;Python值传递、引用传递。

(6)掌握递推算法基本思想、递推关系式的推导以及递推问题求解。

(7)掌握排序算法的概念,了解内排序和外排序的概念及差别,理解排序算法的时间复杂度、空间复杂度、使用场景以及稳定性。

(8)掌握排序算法中的冒泡排序、插入排序、选择排序的算法思想、排序步骤及代码实现。

(9)简单算法复杂度的估算,含多项式、指数复杂度。

(10)掌握文件操作中的重定向,实现文件读写操作,了解文本文件的分类,掌握写操作、读操作、读写操作。

(11)了解异常处理机制,掌握异常处理的常用方法。

  • 考核目标 

掌握C++指针类型、二维及多维数组的基本使用;掌握Python复合类型的嵌套使用。通过函数相关知识的学习,掌握模块化设计思想,具备编写自定义函数程序的能力。掌握文件读写操作,并通过对排序算法、递推法的学习,可以根据不同的使用场景,合理选择最优的算法。

  • 知识块

(四)知识点描述

编号

知识块

知识点

1

指针

指针类型,指针类型定义变量,指针类型变量的赋值、解引用

2

二维及多维数组

C++二维及多维数组的定义、使用

Python复合类型的嵌套使用

3

结构体

结构体定义和使用,结构体数组,结构体指针,结构体嵌套结构体,结构体做函数参数 ,结构体中 const使用场景

4

函数

函数的定义、调用、声明

形参、实参

全局作用域、局部作用域

值传递、引用传递

5

递推算法

递推算法基本思想、递推关系式推导

6

排序算法

冒泡排序、插入排序、选择排序

时间复杂度、空间复杂度、算法稳定性

简单算法复杂度的估算,含多项式、指数复杂度

7

文件操作

文件重定向,读操作、写操作、读写操作

8

异常处理

异常处理机制和常用方法

(五)题型分布

单选题

判断题

编程题

15道(2分/道)

10道(2分/道)

2道(25分/道)

考试时间:120分钟

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1697922.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CAD二次开发(2)-将直线对象添加到CAD图形文件

1. 准备工作 创建一个类库项目&#xff0c;如下&#xff1a; 2. 分析Line对象 Line类的初始化方法和参数 using Autodesk.AutoCAD.DatabaseServices; Line line new Line();Line 继承Curve 继承Entity 继承DBObject 继承Drawable 继承RXObject 初始化方法有两个&#xf…

探索微软Edge开发者工具:优化前端开发的艺术与科学

探索微软Edge开发者工具&#xff1a;优化前端开发的艺术与科学 引言&#xff1a;Edge开发者工具概览一、基础操作&#xff1a;步入DevTools的大门1.1 启动与界面布局1.2 快速导航与定制 二、元素审查与样式调整2.1 精准元素选取2.2 实时CSS编辑2.3 自动完成与内联文档 三、Java…

代码随想录|Day56|动态规划 part16|● 583. 两个字符串的删除操作 ● 72. 编辑距离

583. 两个字符串的删除操作 class Solution: def minDistance(self, word1: str, word2: str) -> int: dp [[0] * (len(word2) 1) for _ in range(len(word1) 1)] for i in range(len(word1) 1): dp[i][0] i for j in range(len(word2) 1): dp[0][j] j for i in rang…

js 生成二维码

第一种&#xff0c;需要先下载包 npm install qrcode <template><div><h2>二维码</h2><img :src"qrCodeImage" alt""></div> </template><script> import QRCode from qrcode export default {dat…

【OpenGL实践12】关于缓存区Framebuffer的运用

文章目录 一、说明二、帧缓冲区三、创建新的帧缓冲区四、附属装饰4.1 纹理图像4.2 渲染缓冲区对象图像 五、使用帧缓冲区5.1 后期处理5.2 更改代码 六、后期处理效果6.1 色彩处理6.2 模糊6.3 Sobel算子 七、结论练习 一、说明 关于FrameBuffer的使用&#xff0c;是OpenGL的高级…

spark实战:实现分区内求最大值,分区间求和以及获取日志文件固定日期的请求路径

spark实战&#xff1a;实现分区内求最大值&#xff0c;分区间求和以及获取日志文件固定日期的请求路径 Apache Spark是一个广泛使用的开源大数据处理框架&#xff0c;以其快速、易用和灵活的特点而受到开发者的青睐。在本文中&#xff0c;我们将通过两个具体的编程任务来展示S…

spiderfoot一键扫描IP信息(KALI工具系列九)

目录 1、KALI LINUX简介 2、spiderfoot工具简介 3、在KALI中使用spiderfoot 3.1 目标主机IP&#xff08;win&#xff09; 3.2 KALI的IP 4、命令示例 4.1 web访问 4.2 扫描并进行DNS解析 4.3 全面扫描 5、总结 1、KALI LINUX简介 Kali Linux 是一个功能强大、多才多…

Spring Boot集成testcontainers快速入门Demo

1.什么是testcontainers&#xff1f; Testcontainers 是一个用于创建临时 Docker 容器进行单元测试的 Java 库。当我们想要避免使用实际服务器进行测试时&#xff0c;它非常有用。&#xff0c;官网介绍称支持50多种组件。​ 应用场景 数据访问层集成测试&#xff1a; 使用My…

掌握ASPICE标准:汽车软件测试工程师的专业发展路径

掌握ASPICE标准&#xff1a;汽车软件测试工程师的专业发展路径 文&#xff1a;领测老贺 随着新能源汽车在中国的蓬勃发展&#xff0c;智能驾驶技术的兴起&#xff0c;汽车测试工程师的角色变得愈发关键。这一变革带来了前所未有的挑战和机遇&#xff0c;要求测试工程师不仅要具…

Matlab中函数或变量 ‘eeglab‘ 无法识别

EEGLAB 没有安装或添加到 MATLAB 路径中&#xff1a; 确保已经安装了 EEGLAB&#xff0c;并且将其添加到 MATLAB 的路径中。您可以通过在 MATLAB 命令窗口中运行 which eeglab 来检查是否能够找到 EEGLAB。 EEGLAB 函数路径设置错误&#xff1a; 如果已经安装了 EEGLAB&#x…

Mac | Mac 移动硬盘无法分区问题

现象问题 电脑配置&#xff1a;MacBook Pro M1&#xff0c;系统 Sonoma Mac 系统新升级了 Sonoma&#xff0c;结果出现各种问题。外接屏幕居然不能旋转 90 &#xff0c;查了一下是Sonoma系统导致的&#xff0c;以及莫名发热的问题。想着要么回退一下系统算了&#xff0c;于是网…

Sql Sever删除数据库时提示数据库正在被使用,解决办法

报错解释&#xff1a; 当您尝试删除SQL Server中的某个对象&#xff08;如数据库、表等&#xff09;时&#xff0c;如果有程序或进程正在使用该对象&#xff0c;您可能会收到一个错误信息&#xff0c;提示该对象正被使用。这通常是因为还有一个或多个数据库连接仍然保持着对该…

使用libtorch加载YOLOv8生成的torchscript文件进行目标检测

在网上下载了60多幅包含西瓜和冬瓜的图像组成melon数据集&#xff0c;使用 LabelMe 工具进行标注&#xff0c;然后使用 labelme2yolov8 脚本将json文件转换成YOLOv8支持的.txt文件&#xff0c;并自动生成YOLOv8支持的目录结构&#xff0c;包括melon.yaml文件&#xff0c;其内容…

网络通信(二)

UDP通信 特点&#xff1a;无连不是先接、不可靠通信 不事先建立连接&#xff1b;发送端每次把要发送的数据&#xff08;限制在64KB内&#xff09;、接收端IP、等信息封装成一个数据包&#xff0c;发出去就不管了 java提供了一个java.net.DatagramSocket类来实现UDP通信 Dat…

20.SkyWalking

一.简介 SkyWalking用于应用性能监控、分布式链路跟踪、诊断&#xff1a; 参考连接如下&#xff1a; https://github.com/apache/skywalking https://skywalking.apache.org/docs/ 二.示例 通过官网连接进入下载页面&#xff1a;https://archive.apache.org/dist/skywalkin…

普通人转行程序员,最大的困难是找不到就业方向

来百度APP畅享高清图片 大家好&#xff0c;这里是程序员晚枫&#xff0c;小破站也叫这个名。 我自己是法学院毕业后&#xff0c;通过2年的努力才转行程序员成功的。[吃瓜R] 我发现对于一个外行来说&#xff0c;找不到一个适合自己的方向&#xff0c;光靠努力在一个新的行业里…

美团Java社招面试题真题,最新面试题

如何处理Java中的内存泄露&#xff1f; 1、识别泄露&#xff1a; 使用内存分析工具&#xff08;如Eclipse Memory Analyzer Tool、VisualVM&#xff09;来识别内存泄露的源头。 2、代码审查&#xff1a; 定期进行代码审查&#xff0c;关注静态集合类属性和监听器注册等常见内…

Leetcode算法题笔记(3)

目录 矩阵101. 生命游戏解法一解法二 栈102. 移掉 K 位数字解法一 103. 去除重复字母解法一 矩阵 101. 生命游戏 根据 百度百科 &#xff0c; 生命游戏 &#xff0c;简称为 生命 &#xff0c;是英国数学家约翰何顿康威在 1970 年发明的细胞自动机。 给定一个包含 m n 个格子…

Redis简介与安装到python的调用

前言 本文只不对redis的具体用法做详细描述&#xff0c;做简单的介绍&#xff0c;安装&#xff0c;和python代码调用详细使用教程可查看一下网站 https://www.runoob.com/redis/redis-tutorial.html https://pypi.org/project/redis/ 官方原版: https://redis.io/ 中文官网:…

齿轮常见故障学习笔记

大家好&#xff0c;这期咱们聊一聊齿轮常见的失效形式&#xff0c;查阅了相关的资料&#xff0c;做个笔记分享给大家&#xff0c;共同学习。 介绍 齿轮故障可能以多种方式发生。如果在设计阶段本身就尽量防止这些故障的产生&#xff0c;则可以产生改更为优化的齿轮设计。齿轮…