第一阶段:Python 语法基础
变量与数据类型 · 输入输出 · 流程控制 · 函数定义
01
认识 Python · 第一行代码
安装 Python + IDLE(或 VS Code),运行第一个程序:`print("Hello, Python!")`。了解什么是解释器、什么是终端,学会用注释给代码写说明。
作品:自我介绍小程序
02
变量与数据类型
变量是存数据的"盒子"。学习四种基本类型:整数、浮点数、字符串、布尔值。用 `type()` 查看类型,用 `int()` / `str()` 做类型转换,避开常见报错。
作品:BMI 计算器
03
输入与字符串操作
用 `input()` 让程序接收用户输入,用 f-string 格式化输出漂亮的结果。学习字符串切片、`len()`、`upper()`、`replace()` 等常用方法,处理文本游刃有余。
作品:聊天机器人雏形
04
运算符与表达式
深入理解 `+` `-` `*` `/` `//` `%` `**` 七种算术运算符,掌握比较运算(`==` `!=` `>` `<`)和逻辑运算(`and` `or` `not`)。弄懂优先级,不再写出隐藏 Bug。
作品:判断闰年程序
05
条件判断:if / elif / else
Python 用缩进控制代码块,这和其他语言不一样。掌握 `if-elif-else` 多分支结构,学会嵌套条件。写出能根据输入做出不同反应的智能程序。
作品:石头剪刀布游戏
06
循环:for 与 while
用 `for` 循环遍历序列,用 `range()` 控制次数;用 `while` 循环做条件驱动的重复。`break` 提前退出,`continue` 跳过本次。写出九九乘法表,搞定双层循环。
作品:九九乘法表 + 猜数字游戏
07
函数:封装与复用
函数是把一段代码"打包"起来的方式。学习 `def` 定义函数、`return` 返回值、位置参数和默认参数。理解局部变量和全局变量的区别,写出整洁可复用的代码。
作品:工具函数库(温度转换、几何计算)
08
模块与标准库
Python 强大在于它庞大的库生态。学习 `import` 导入模块,使用 `math`(数学)、`random`(随机)、`time`(时间)三个标准库。了解 `pip` 安装第三方库的方法。
作品:随机密码生成器
09
异常处理:try / except
程序不能怕出错,要会处理错误。学习 `try-except` 捕获异常,了解 `ValueError` `ZeroDivisionError` `TypeError` 等常见类型,用 `finally` 做收尾。写出健壮不崩溃的程序。
作品:带容错的计算器程序
10
字符串深入与正则初探
字符串处理是 Python 最强的能力之一。深入学习 `split` 分割、`join` 合并、`strip` 去空白、`find` 查找。认识 `re` 正则模块,用模式匹配提取手机号、邮箱。
作品:文本词频统计工具
11
综合练习:命令行小工具集
综合前 10 节语法知识,写出 3 个实用小工具:① 成绩等级转换器 ② 数字猜谜游戏(带提示"太大/太小") ③ 简单记账本(输入支出,统计总额)。
同学互相测试,找出彼此代码中的 Bug
P1
🏆 阶段项目:命令行互动游戏
综合阶段一所有知识,独立完成一个命令行互动游戏。可选:① 文字冒险 RPG(多个场景、背包道具、HP系统)② 单词记忆闯关(随机出题、计时、错题重练)③ 数学竞赛题生成器(自动出题、评分、记录最高分)。代码不少于 100 行,有清晰的函数划分。
结课展示:演示游戏 + 讲解代码结构
第二阶段:数据结构与文件
列表 · 元组 · 字典 · 集合 · 文件读写 · 面向对象入门
13
列表:有序的数据集合
列表是 Python 最常用的数据结构。学习创建列表、用索引访问元素(正序/倒序)、增删改查操作,以及简洁强大的列表推导式 `[x*2 for x in range(10)]`。
作品:成绩管理系统(增删查改)
14
元组与集合
元组像"只读列表",适合存不需要修改的数据(如坐标);集合自动去重,支持数学集合运算。理解什么时候用列表、什么时候用元组或集合,做出正确的数据结构选择。
作品:班级选课重叠分析工具
15
字典:键值对数据存储
字典是 Python 里最灵活的数据结构,用"键→值"方式存储数据。掌握增删改查、遍历 `keys()` / `values()` / `items()`,以及字典推导式。是 JSON 数据处理的基础。
作品:通讯录查询程序
16
嵌套数据结构
现实中的数据往往是嵌套的,比如"学生列表,每个学生有姓名和成绩字典"。学习访问多层嵌套结构,理解 JSON 格式与 Python 字典的对应关系,为处理真实数据做准备。
作品:班级成绩单(多科目嵌套字典)
17
文件读写:让数据持久保存
程序关了数据就消失了?文件读写来解决。学习 `open()` 打开文件、`read()` / `write()` 读写、用 `with` 语句安全关闭文件。处理 `.txt` 文本文件和 `.csv` 表格文件。
作品:日记本程序(支持保存和读取)
18
面向对象初步:类与对象
面向对象是现代编程的核心思想。用"设计蓝图"的比喻理解类(Class)和对象(Object)。学会定义类、用 `__init__` 初始化属性、调用方法,把现实问题用对象来建模。
作品:学生类、银行账户类
19
继承与多态
子类继承父类的属性和方法,还可以重写覆盖。通过"动物→狗/猫/鸟"的例子理解继承树,用 `super()` 调用父类方法。初步体验多态:同一个方法名,不同类有不同表现。
作品:动物园信息管理系统
20
综合实战:用类重构项目
把第一阶段的命令行游戏或小工具,用面向对象的思想重写一遍。用类来组织代码,把数据存入文件实现持久化。感受 OOP 让代码更清晰、更易维护的好处。
对比重构前后代码,分析改进点
P2
🏆 阶段项目:图书馆管理系统
设计一个命令行图书馆管理系统:① 书籍类(书名、作者、ISBN、是否借出)② 图书馆类(添加书、借书、还书、搜索)③ 用户类(借阅记录、逾期提醒)④ 数据保存到 JSON 文件,重启程序不丢失。代码不少于 150 行,结构清晰,有完整注释。
结课展示:演示功能 + 讲解类设计思路
第三阶段:简单算法入门
排序 · 查找 · 贪心 · 递归 · 时间复杂度初步
25
算法是什么?怎么衡量好坏
算法就是"解决问题的步骤"。通过生活中的例子(找书、排队、地图导航)理解算法的本质。初步认识 O(1)、O(n)、O(n²) 时间复杂度,知道什么叫"高效算法"。
讨论:在100万个数里找一个数,最多找几次?
26
冒泡排序与选择排序
用动画理解"两两比较交换"的冒泡排序,用 Python 实现;理解"每轮找最小值"的选择排序。分析两者的时间复杂度都是 O(n²),感受算法可视化的魅力。
作品:可视化排序过程(打印每步状态)
27
插入排序与 Python 内置排序
插入排序就像整理扑克牌。学习实现后,对比 Python 内置的 `.sort()` 和 `sorted()` 函数(底层是 Timsort,O(n log n))。掌握 `key` 参数,按任意规则排序复杂数据。
作品:按成绩/姓名多字段排序的学生名单
28
线性查找与二分查找
在1000万个数里找目标,线性查找最坏要找1000万次;二分查找只需约23次。亲手实现二分查找,深刻感受 O(log n) 的威力。了解 `bisect` 模块的实际用法。
挑战:猜1-100的数字,最少几次必猜中?
29
栈与队列的应用
用列表模拟栈(LIFO:后进先出),用 `collections.deque` 模拟队列(FIFO:先进先出)。理解浏览器"返回"按钮、撤销操作的栈原理;理解排队系统的队列原理。
作品:括号匹配检查器(用栈)
30
贪心算法思想
贪心算法的思路:每一步都选当前最优。通过"找零问题"(用最少硬币凑出金额)、"区间调度"(安排最多不冲突的活动)两个经典题目,理解贪心思想的适用场景与局限性。
作品:活动安排最优化程序
31
递归:函数调用自身
递归就是"函数调用自己"。通过阶乘、斐波那契数列两个经典例子理解递归的结构:一定要有终止条件(基础案例),否则无限递归爆栈。用图示理解调用栈的展开与回收。
作品:递归求阶乘、斐波那契、汉诺塔
32
枚举与暴力法
很多问题用"暴力枚举所有可能"都能解决,虽然不够快,但是思路清晰。学习如何写多重循环枚举,同时学会"剪枝"——提前排除不可能的情况来提速。
挑战:百鸡百钱、三位数水仙花数
P3
🏆 阶段项目:算法挑战赛
小组 PK 赛!每组抽 3 道算法题(含排序、查找、递归各 1 道),限时 90 分钟内完成。题目来自洛谷 P 系列入门难度。完成后由老师逐题讲解最优解,对比不同思路的效率差异。额外挑战:用 matplotlib 绘制各种排序算法的对比折线图。
颁奖仪式 + 总结各组的亮点解法
第四阶段:Turtle 海龟制图
几何图形 · 颜色填充 · 分形艺术 · 动态动画
37
Turtle 入门:画你的第一条线
海龟就是一个"能画画的小机器人"。学习最基本的指令:前进、后退、左转、右转、抬笔/落笔。理解 Turtle 的坐标系和角度方向。用 for 循环轻松画出正多边形。
作品:正方形、正六边形、正十二边形
38
颜色、画笔与填充
给图形上色!学习设置画笔颜色 `pencolor()`、填充颜色 `fillcolor()`,用 `begin_fill()` / `end_fill()` 给封闭图形填色。用 RGB 值自定义任意颜色,画出彩色几何图案。
作品:彩色同心圆、彩虹条纹
39
循环绘图:玫瑰线与花瓣
用 `circle()` 画弧和圆,结合循环每次旋转一个角度,就能画出太阳花、螺旋线、玫瑰花等美丽图案。探索"每次移动+旋转"的规律,理解几何变换与代码的关系。
作品:多瓣玫瑰花图案
40
分形图形:科赫曲线
分形是"自相似"的几何图形,局部放大后和整体形状相同。用递归函数画科赫曲线:把一条线段"中间变成山峰",不断递归,就变成了雪花!感受递归与数学之美的完美融合。
作品:3阶/4阶科赫雪花
41
分形树与谢尔宾斯基三角形
用递归画"分叉树":每根树枝再长出两根小树枝,不断递归就变成了真实的大树!再挑战谢尔宾斯基三角形——把一个三角形不断切成小三角形,展示分形的无穷层次。
作品:春天的彩色分形树
42
动态动画:让图形动起来
静态图形太单调!学习 `tracer(0)` 关闭自动刷新 + `update()` 手动刷新的技巧,实现流畅动画。用 `ontimer()` 做定时回调,让小球弹跳、太阳旋转,把静态画面变成动态演示。
作品:弹跳小球动画
43
键盘事件与互动绘图
让用户能控制海龟!学习 `onkey()` 绑定键盘事件、`onscreenclick()` 响应点击。创建多个 Turtle 对象,让它们各自独立移动。做出一个能用方向键控制的绘图小游戏。
作品:键盘控制画笔自由绘图板
44
文字与屏幕交互
用 `write()` 在画布上输出文字,用 `Screen.textinput()` 弹出输入框获取用户名字,用 `numinput()` 获取数字。做出能显示分数、能输入姓名的完整 Turtle 小程序。
作品:带倒计时的打字练习小游戏
45
数学函数可视化
把数学公式变成图形!用 Turtle 画坐标轴,然后用 `math.sin()` / `math.cos()` 计算 y 值,描点连线,画出正弦波、余弦波、李萨如图形(两个正弦叠加的美丽曲线)。
作品:sin+cos 合成的参数曲线图
46
Turtle + 算法可视化
把第三阶段的排序算法用 Turtle 可视化!用柱状图表示数组,每次比较/交换时重绘对应的柱子,用 `time.sleep()` 控制速度。把抽象的算法变成直观的动态演示。
作品:冒泡排序 + 选择排序双屏对比动画
47
综合创作:我的艺术代码
48 节课即将结束,用 Turtle 创作一件属于自己的"艺术代码"作品。可以是城市夜景、宇宙星空、中国传统纹样、个人专属图标……发挥创意,把整个学期学到的语法、算法、制图技巧都用上。
构思草图 + 代码规划,下节课展示
P4
🏆 结课项目:Python 作品博览会
48 节课的终点,也是真正编程之路的起点!每位同学提交一件综合作品(任选方向):① 完整的命令行游戏或工具(含文件持久化)② 算法可视化演示系统(含3种以上算法对比)③ Turtle 艺术动画(含交互功能)作品评分维度:创意性 / 代码完整性 / 运行稳定性 / 演讲表达。邀请家长观摩,颁发结课证书。
🎓 结课典礼 · 颁发证书 · 家长观摩大会
为什么选 Python?
全球最受欢迎语言
连续多年蝉联 TIOBE 排行榜第一,AI / 数据科学 / 自动化的首选语言
语法简洁易读
接近自然英语的语法,让初学者专注于解题思路,而不是记忆语法规则
CSP/NOI 指定语言
信息学联赛 CSP-J/S 官方支持 Python,学好了可以直接参加正式竞赛
Turtle 可见即可学
每一行代码立刻变成图形,让抽象概念变得直观,学习动力显著提升
通向 AI 的大门
NumPy、pandas、TensorFlow 全用 Python,学好 Python 就等于学好了 AI 入门
库生态极其丰富
35万+开源库,爬虫、数据分析、游戏、GUI 应有尽有,想做什么都能找到
每节课上什么
知识导入
生活案例类比,带出本节核心概念,讲清"为什么需要这个"
约 15 分钟
跟练演示
老师边讲边敲代码,学生同步跟练,看懂不等于会写
约 30 分钟
自主挑战
独立完成课堂小任务,遇到 Bug 先自己 debug,再问同学或老师
约 30 分钟
分享展示
随机抽 2-3 位同学展示成果,讲思路、讲踩坑,全班一起 review
约 15 分钟
学完这 48 节你能做什么
🖥️ 编程能力
- 独立写出 200+ 行有清晰结构的 Python 程序
- 正确使用变量、条件、循环、函数等核心语法
- 设计类和对象,用面向对象思维解决问题
- 读写文件、处理 CSV/JSON 格式数据
- 独立调试 Bug,看懂报错信息,不怕出错
- 用 Turtle 绘制几何图形、分形艺术和动态动画
🧠 算法与竞赛
- 理解并实现冒泡、选择、插入三种排序算法
- 掌握线性查找和二分查找,初步分析时间复杂度
- 理解递归思想,能解决经典递归问题
- 了解栈、队列两种基础数据结构及其应用场景
- 具备参加 CSP-J 入门组的基础能力
- 学习路径可直接衔接信息学奥赛体系课程