# CSP03班 - 课程库

> 周六早上0830CSP03班 & 周六下午1400CSP03班 & 周日早上1030CSP03班

---

## 📅 本学期课程表

| 课次 | 课程名称 | 日期 | 状态 |
|------|----------|------|------|
| 第2课 | 《一维数组》 | 2026-03-08 | ✅ 完成 |
| 第3课 | 《数组增删操作》 | 2026-03-15 | ✅ 完成 |
| 第4课 | 《数组计数法》 | 2026-03-22 | ✅ 完成 |
| 第5课 | 《连续性元素处理》 | 2026-03-29 | ✅ 完成 |
| 第6课 | 《字符数组》 | 2026-04-05 | ✅ 完成 |
| 第7课 | 《string字符串使用（一）》 | 2026-04-18 | ✅ 完成 |
| 第8课 | 《string字符串使用（二）》 | 2026-04-19 | ⏳ 待进行 |
| 第9课 | 《枚举算法》 | 2026-04-26 | ⏳ 待进行 |
| 第10课 | 《模拟算法》 | 2026-05-03 | ⏳ 待进行 |
| 第11课 | 《进制转换》 | 2026-05-10 | ⏳ 待进行 |
| 第12课 | 《数据编码》 | 2026-05-17 | ⏳ 待进行 |
| 第13课 | 《位运算》 | 2026-05-24 | ⏳ 待进行 |
| 第14课 | 《GESP三级真题训练》 | 2026-05-31 | ⏳ 待进行 |
| 第15课 | 《C3阶段测试与总结》 | 2026-06-07 | ⏳ 待进行 |

---

## 第2课：《一维数组》

**上课时间**：2026-03-08  
**上课班级**：周六早上0830CSP03班、周六下午1400CSP03班、周日早上1030CSP03班

### 教学目标
1. 理解数组的概念，掌握数组的定义与声明方法
2. 学会数组的赋值与初始化操作，掌握不同类型数组的初始化方式
3. 掌握数组元素值的查找方法，能够遍历数组获取指定元素
4. 学会数组元素位置的查找，理解下标与元素的对应关系
5. 掌握数组遍历的基本方法，能够使用循环结构处理数组元素

### 知识点
- 数组的定义与声明
- 数组的赋值与初始化
- 数组元素值的查找
- 数组元素位置的查找
- 数组遍历的基本方法

---

## 第3课：《数组增删操作》

**上课时间**：2026-03-15  
**上课班级**：周六早上0830CSP03班、周六下午1400CSP03班、周日早上1030CSP03班

### 教学目标
1. 掌握数组元素的插入操作，理解插入位置对数组的影响
2. 学会数组元素的删除操作，能够安全地移除指定元素
3. 掌握数组元素的交换方法，理解交换过程中的中间变量使用
4. 学会逆序数的计算与应用，能够将数组元素进行逆序排列
5. 理解数组边界条件的处理，避免数组越界等常见错误

### 知识点
- 数组元素的插入操作
- 数组元素的删除操作
- 数组元素的交换方法
- 逆序数的计算与应用
- 数组边界条件的处理

---

## 第4课：《数组计数法》

**上课时间**：2026-03-22  
**上课班级**：周六早上0830CSP03班、周六下午1400CSP03班、周日早上1030CSP03班

### 教学目标
1. 理解下标的特殊使用技巧，掌握数组下标作为计数器的思想
2. 掌握数组计数法的基本原理，理解计数数组的设计思路
3. 学会数组计数法的适用条件，能够判断哪些问题适合用计数法
4. 掌握计数数组的初始化与使用，能够正确进行计数操作
5. 初步认识桶排序思想，理解计数法在排序问题中的应用

### 知识点
- 下标的特殊使用技巧
- 数组计数法的基本原理
- 数组计数法的适用条件
- 计数数组的初始化与使用
- 桶排序思想的初步认识

---

## 第5课：《连续性元素处理》

**上课时间**：2026-03-29  
**上课班级**：周六早上0830CSP03班、周六下午1400CSP03班、周日早上1030CSP03班

### 教学目标
1. 掌握连续出现最多的值的统计方法，能够识别数组中最长连续序列
2. 学会连续区间的查找方法，能够定位满足条件的连续子数组
3. 理解连续子数组的特征分析，掌握连续性问题的解题思路
4. 初步应用双指针思想，学会使用快慢指针解决连续性问题
5. 掌握连续性问题的高效解法，能够优化算法降低时间复杂度

### 知识点
- 连续出现最多的值的统计
- 连续区间的查找方法
- 连续子数组的特征分析
- 双指针思想的初步应用
- 连续性问题的高效解法

---

## 第6课：《字符数组》

**上课时间**：2026-04-05  
**上课班级**：周六早上0830CSP03班、周六下午1400CSP03班、周日早上1030CSP03班

### 教学目标
1. 理解char数组与字符的关系，掌握字符数组的存储原理
2. 掌握字符数组的输入输出方法，能够正确处理字符串数据
3. 学会字符数组的常用函数（strlen、strcpy等），理解函数的使用场景
4. 掌握字符数组的遍历与处理，能够对字符串进行操作
5. 了解字符数组的实际应用场景，能够在实际问题中运用字符数组

### 知识点
- char数组与字符的关系
- 字符数组的输入输出
- 字符数组的常用函数（strlen、strcpy等）
- 字符数组的遍历与处理
- 字符数组的实际应用场景

---

## 第7课：《string字符串使用（一）》

**上课时间**：2026-04-18
**上课班级**：周六早上0830CSP03班、周六下午1400CSP03班、周日早上1030CSP03班

### 教学目标
1. 理解string类的基本概念，掌握string与char数组的区别和优势
2. 学会使用getline()函数读取一整行字符串，处理含空格的输入
3. 掌握substr()函数的使用方法，理解字符串截取的参数含义
4. 学会size() / length()函数，掌握获取字符串长度的方法
5. 掌握find()函数的使用，理解字符串查找的原理和返回值（包括string::npos）

### 知识点
- string类的基本概念与char数组的区别
- getline()函数读取一整行字符串
- substr()函数截取子串
- size() / length()函数获取字符串长度
- find()函数查找字符串及string::npos的含义

---

## 第8课：《string字符串使用（二）》

**上课时间**：2026-04-19  
**上课班级**：周六早上0830CSP03班、周六下午1400CSP03班、周日早上1030CSP03班

### 教学目标
1. 掌握字符串子串的提取方法，能够获取字符串的指定部分
2. 学会字符串对称性判断，能够判断字符串是否对称
3. 掌握回文字符串的识别方法，能够判断和生成回文字符串
4. 学会字符串综合应用，能够结合多种操作解决实际问题
5. 理解字符串与算法的结合，能够在算法问题中灵活运用字符串

### 知识点
- 字符串子串的提取
- 字符串对称性判断
- 回文字符串的识别
- 字符串综合应用
- 字符串与算法的结合

---

## 第9课：《枚举算法》

**上课时间**：2026-04-26  
**上课班级**：周六早上0830CSP03班、周六下午1400CSP03班、周日早上1030CSP03班

### 教学目标
1. 掌握使用自然语言、流程图、伪代码描述算法的方法
2. 理解枚举法的概念与思想，掌握枚举法的基本实现方式
3. 学会枚举法的边界确定，能够合理设置枚举范围
4. 掌握枚举法的优化策略，能够减少不必要的枚举
5. 学会枚举法的代码实现，能够将枚举思想转化为程序代码

### 知识点
- 自然语言、流程图、伪代码描述算法
- 枚举法的概念与思想
- 枚举法的边界确定
- 枚举法的优化策略
- 枚举法的代码实现

---

## 第10课：《模拟算法》

**上课时间**：2026-05-03  
**上课班级**：周六早上0830CSP03班、周六下午1400CSP03班、周日早上1030CSP03班

### 教学目标
1. 掌握模拟算法的特征识别，能够判断哪些问题适合用模拟法
2. 学会题目要求的模拟实现，能够按题目描述逐步实现功能
3. 掌握过程模拟的基本方法，能够模拟各种实际过程
4. 学会模拟中的边界处理，能够正确处理模拟的终止条件
5. 理解模拟算法与枚举的结合，能够在模拟中灵活运用枚举

### 知识点
- 模拟算法的特征识别
- 题目要求的模拟实现
- 过程模拟的基本方法
- 模拟中的边界处理
- 模拟算法与枚举的结合

---

## 第11课：《进制转换》

**上课时间**：2026-05-10  
**上课班级**：周六早上0830CSP03班、周六下午1400CSP03班、周日早上1030CSP03班

### 教学目标
1. 掌握十进制与X进制的相互转换，能够灵活进行进制转换
2. 学会二进制与2^n进制的快速转换，理解位运算在进制转换中的应用
3. 掌握X进制与Y进制的相互转换，能够以十进制为桥梁进行任意进制转换
4. 理解进制转换的数学原理，能够推导进制转换的公式和方法
5. 学会进制转换的代码实现，能够将进制转换思想转化为程序代码

### 知识点
- 十进制与X进制的相互转换
- 二进制与2^n进制的快速转换
- X进制与Y进制的相互转换
- 进制转换的数学原理
- 进制转换的代码实现

---

## 第12课：《数据编码》

**上课时间**：2026-05-17  
**上课班级**：周六早上0830CSP03班、周六下午1400CSP03班、周日早上1030CSP03班

### 教学目标
1. 理解机器数的概念与表示，掌握有符号数和无符号数的表示方法
2. 掌握原码的概念与转换方法，能够进行原码与真值的相互转换
3. 学会反码的概念与转换方法，能够进行反码与真值的相互转换
4. 掌握补码的概念与转换方法，能够进行补码与真值的相互转换
5. 理解原码、反码、补码的应用场景，能够在实际问题中选择合适的编码方式

### 知识点
- 机器数的概念与表示
- 原码的概念与转换方法
- 反码的概念与转换方法
- 补码的概念与转换方法
- 原码、反码、补码的应用场景

---

## 第13课：《位运算》

**上课时间**：2026-05-24  
**上课班级**：周六早上0830CSP03班、周六下午1400CSP03班、周日早上1030CSP03班

### 教学目标
1. 掌握位与（&）运算及应用，能够使用位与进行特定位的清零和判断
2. 学会位或（|）运算及应用，能够使用位或进行特定位的置一
3. 掌握位非（~）运算及应用，能够理解位非的取反作用
4. 学会异或（^）运算及应用，能够使用异或进行无进位加法和交换
5. 掌握左移（<<）和右移（>>）运算及应用，能够使用移位进行快速乘除

### 知识点
- 位与（&）运算及应用
- 位或（|）运算及应用
- 位非（~）运算及应用
- 异或（^）运算及应用
- 左移（<<）和右移（>>）运算及应用

---

## 第14课：《GESP三级真题训练》

**上课时间**：2026-05-31  
**上课班级**：周六早上0830CSP03班、周六下午1400CSP03班、周日早上1030CSP03班

### 教学目标
1. 掌握GESP三级选择题考点，能够准确解答各类选择题
2. 学会判断题答题技巧，能够辨析概念的正确与错误
3. 掌握编程题解题思路，能够独立完成GESP三级编程题
4. 学会常见易错点分析，能够避免常见错误和陷阱
5. 掌握考试策略与时间管理，能够在规定时间内完成试卷

### 知识点
- 选择题考点梳理
- 判断题答题技巧
- 编程题解题思路
- 常见易错点分析
- 考试策略与时间管理

---

## 第15课：《C3阶段测试与总结》

**上课时间**：2026-06-07  
**上课班级**：周六早上0830CSP03班、周六下午1400CSP03班、周日早上1030CSP03班

### 教学目标
1. 完成选择题综合复习，巩固C3阶段所有知识点
2. 完成判断题综合复习，强化概念理解和辨析能力
3. 完成编程题综合复习，提升综合编程能力
4. 梳理阶段知识体系，建立完整的知识框架
5. 明确后续学习方向与建议，为下一阶段学习做好准备

### 知识点
- 选择题综合复习
- 判断题综合复习
- 编程题综合复习
- 阶段知识体系梳理
- 后续学习方向与建议

---

## 📋 快速查找表

| 课次 | 课程名称 | 核心内容关键词 |
|------|----------|----------------|
| 第2课 | 一维数组 | 定义、初始化、查找、遍历 |
| 第3课 | 数组增删操作 | 插入、删除、交换、逆序 |
| 第4课 | 数组计数法 | 下标技巧、计数原理、桶排序 |
| 第5课 | 连续性元素处理 | 最多值统计、区间查找、双指针 |
| 第6课 | 字符数组 | char数组、常用函数、字符串处理 |
| 第7课 | string字符串使用（一） | string特性、大小写、搜索分割替换 |
| 第8课 | string字符串使用（二） | 子串提取、对称判断、回文 |
| 第9课 | 枚举算法 | 算法描述、枚举思想与边界 |
| 第10课 | 模拟算法 | 模拟特征、过程实现 |
| 第11课 | 进制转换 | 十进制、二进制、X进制转换 |
| 第12课 | 数据编码 | 机器数、原码、反码、补码 |
| 第13课 | 位运算 | 与或非异或、左右移位 |
| 第14课 | GESP三级真题 | 选择题、判断题、编程题训练 |
| 第15课 | C3阶段测试 | 综合复习、阶段总结 |

---

*CSP03班课程库 v2.1 - 更新日期：2026-04-18*
