Skip to content

MagicBowen/python-for-kids

Repository files navigation

🧑🏼‍💻 Python for Kids

一本专门为小学高年级孩子(3年级以上学生)及其家长编写的 Python 入门教程

Python License mdBook


📖 这是一本什么书?

这是一本为家长和孩子共同学习 Python 编程而设计的教程。作为一个有编程经验的家长,我在 2020 年疫情期间开始教当时 10 岁的孩子学习 Python。这份教程记录了我们的学习历程,从简单的备课大纲逐渐扩展成当前的教学内容。

🎯 核心理念

这本书希望通过编程教学,共建亲子关系——家长陪伴和引导孩子的成长,通过编程的创造力一起体验学习乐趣。

在这个 AI 大行其道的时代,人类的学习重在过程,不在目的!

💡 为什么还要学编程?

计算器很早就比人类在数学计算上强了,但是孩子依旧要学习数学,具备一定的计算能力。因为这是一种基本的能力培养,也是学习其它理科的基础;

AI 虽然很早就在下棋上战胜了人类,但是我们依旧会陪孩子下棋,通过下棋锻炼孩子的策略性思维,并享受下棋时的亲子乐趣!

学习编程的目的是了解数字世界运行的原理,培养思维能力和创造能力,而不是一定要成为程序员。


✨ 为什么选择 Python 而不是 Scratch?

对于**小学高年级(3年级以上)**的孩子来说,Python 是比 Scratch 更好的选择:

真实的编程体验 - 直接接触真实的代码和编程工具,了解计算机程序、命令行、开发工具以及基本的计算机体系结构

更深入的概念理解 - 每一步都是透明的,孩子能真正理解程序是如何运行的

更好的知识迁移 - 学到的编程思维可以轻松迁移到其他编程语言

更大的成长空间 - 可以陪伴孩子从小学到高中,甚至大学和工作

💡 实践证明:小学高年级的孩子完全有能力接受这些概念,并且会借此了解一些软件和计算机体系结构的基本知识!


👥 这本书适合谁?

这本书是同时为家长和孩子设计的,它既可以是家长的备课教案,也可以是孩子的自学课本

👦👧 对于孩子

适合年龄:小学高年级(10-12 岁)

知识基础

  • ✅ 掌握基本的数学运算(加减乘除)
  • ✅ 了解未知数和方程的概念
  • ✅ 会解简单的应用题
  • ✅ 具备简单的逻辑推理能力
  • ✅ 了解小数和分数运算
  • ✅ 掌握基本几何图形(长方形、正方形、圆等)的面积和周长计算
  • ⚠️ 未学习过数学中的函数概念
  • ⚠️ 未接触过逻辑运算符号和抽象的数据结构

学习方式

  • 在家长指导下学习新知识
  • 独立阅读和复习已学内容
  • 参考书中的例题和练习

👨‍👩‍👧‍👦 对于家长

知识基础

  • ✅ 具备高中数学知识
  • ✅ 学习过函数的概念
  • ✅ 具备基本的电脑操作能力
  • ✅ 如果家长本身会编程就更好,但不是必需的

使用方式

  • 作为教学参考和备课手册
  • 陪伴孩子学习,解决环境、安装和出错调试等问题
  • 如果不会编程,可以先自学、操作和练习,然后再给孩子讲解教学

💡 家长不会编程怎么办?

这完全不是问题!您可以把它变成一项共学活动

  1. 先自学:自己先跟着教程学一遍,完成练习
  2. 先操作:安装环境,编写代码,运行程序
  3. 先练习:自己动手做每个例题和练习
  4. 再教学:掌握后再给孩子讲解和教学

孩子会看到"爸爸妈妈也在努力学习",这反而会更好地激励孩子!学习过程本身就是最好的亲子陪伴。


🎨 教程特色

📝 符合儿童认知规律

考虑到小学高年级阶段孩子的知识结构特点,在内容编排上:

  • 生活化引入:每个概念都用生活化的例子来引入
  • 循序渐进:从简单到复杂,做好足够的逻辑台阶搭建
  • 自然衔接:避免突然跳跃,让知识点自然衔接
  • 类比教学:大量使用类比和比喻(比如把变量比作盒子)
  • 详细说明:提供详细的步骤说明和注释
  • 梯度练习:设计逐步增加的练习难度
  • 适度扩展:在合适的上下文下适度扩展一些软件设计和计算机体系结构知识

📐 数学与几何知识的复习和应用

  • 复习和巩固小学数学的各种知识,如数学运算和应用题、几何应用、统计概念等...
  • 通过编程为数学知识找到一个应用的场合,让学校的知识能够和解决具体的问题关联起来

🎮 趣味性与实用性结合

  • 练习题目贴近孩子的生活(计算图形、课表管理、小游戏)
  • 从基础的命令行程序,到图形界面,再到数据报表
  • 让孩子看到编程的实际用途,保持学习动力

👨‍👩‍👧‍👦 双重视角设计

这本书既可以作为家长的教学手册,也可以作为孩子的参考书:

  • 对孩子:用生动有趣的语言讲解,配上大量练习
  • 对家长:提供教学建议(Tips 标注的板块),指出易错点和教学技巧

📚 教程内容

整个教程分为 5 个阶段,共 18 章,循序渐进地引导孩子进入 Python 编程的世界:

📋 内容概览

第一阶段:入门基础(第 1-5 章)

  • 安装 Python 和编程工具
  • 学习输入输出、变量(字符串、数字、布尔值)

第二阶段:程序控制(第 6-9 章)

  • 顺序执行、条件判断、循环语句
  • 用流程图理解程序逻辑

第三阶段:程序组织(第 10-12 章)

  • 列表、字典、函数

第四阶段:综合应用(第 13-16 章)

  • 库的使用、命令行程序、图表、图形界面

第五阶段:知识扩展(第 17-18 章)

  • 程序设计方法、计算机体系结构

📄 详细目录

章节 标题 内容简介
第1章 安装环境 准备编程工具箱,了解计算机如何工作
第2章 输入与输出 让程序与你对话,用变量记住信息
第3章 字符串变量 处理文字信息,学习内存与索引
第4章 数值变量 掌握不同类型的数字,让程序进行数学计算
第5章 布尔变量 学会真与假的判断,控制程序流程
第6章 顺序语句 理解程序执行顺序,用Turtle画图
第7章 条件语句 让程序做决定,解决分支问题
第8章 循环语句 用循环简化代码,提升效率
第9章 流程图 用图形画出程序逻辑,理解算法
第10章 列表 管理有序数据,学习内存存储原理
第11章 字典 用键值对组织信息,像查字典一样快
第12章 函数 打包重复代码,像搭积木一样复用
第13章 使用现成的工具箱,站在巨人的肩膀上
第14章 命令行程序 制作实用工具,处理复杂任务
第15章 报表程序 把数据变图表,让数字说话
第16章 图形程序 创建可视化界面,提升用户体验
第17章 程序设计 写出好程序,培养工程师思维
第18章 计算机体系结构 理解硬件如何协作,连接软件世界

📘 使用指南

🌐 在线阅读(推荐)

点击访问:Python for Kids - 在线版

使用 mdBook 生成的精美网页版,支持:

  • ✅ 响应式设计,支持手机、平板、电脑阅读
  • ✅ 内置搜索功能
  • ✅ 代码高亮和复制功能
  • ✅ 侧边栏导航

👨‍👩‍👧‍👦 家长使用建议

第一步:家长先阅读

  • 家长完整阅读一遍教程,了解整体内容和结构
  • 理解各章节的知识点和难易程度
  • 提前熟悉要教授的知识,有针对性地备课

第二步:家长教孩子

  • 按照章节顺序,循序渐进地给孩子讲解
  • 演示代码的编写和运行过程
  • 引导孩子理解概念,而不是死记硬背

第三步:陪伴和解决问题

  • 帮助孩子解决环境配置、安装和出错调试等技术问题
  • 在孩子遇到困难时提供提示和引导
  • 鼓励孩子独立思考和解决问题

第四步:共建亲子关系

  • 通过编程教学,培养孩子的逻辑思维和创造力
  • 陪伴孩子在编程世界探索和成长
  • 一起体验编程创造的乐趣

🤝 贡献指南

欢迎任何形式的贡献!

🛠️ 本地构建

如果你想在自己的电脑上阅读或修改教程,可以使用 mdBook 构建本地版本。

前置要求

  1. 安装 Rust(如果尚未安装)

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  2. 安装 mdBook

    cargo install mdbook
  3. 安装推荐插件(可选)

    # Mermaid 图表支持
    cargo install mdbook-mermaid
    
    # 提示框支持
    cargo install mdbook-admonish

构建和预览

# 克隆仓库
git clone https://github.com/magicbowen/python-for-kids.git
cd python-for-kids

# 启动本地服务器
mdbook serve --open

浏览器会自动打开 http://localhost:3000,你就可以看到本地版本的教程了。

生成 PDF

如果你想导出 PDF 版本,最简单的方式是:

  1. 在网页版本中点击右上角的打印机图标
  2. 使用浏览器的"打印 → 另存为 PDF"功能

🐛 报告问题

如果你发现了:

  • 错别字或表述不清的地方
  • 代码错误
  • 内容缺失或需要改进

请提交 Issue

💡 提出建议

如果你有:

  • 更好的讲解方式
  • 新的练习题目
  • 有趣的项目想法

欢迎提交 Issue 或 Pull Request!

✍️ 贡献流程

  1. Fork 本仓库
  2. 创建你的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交你的修改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启一个 Pull Request

📄 许可证

本项目采用 MIT License 开源协议。


📮 联系方式

如果你有任何问题或建议,欢迎通过以下方式联系:


⭐ 如果这个项目对你有帮助,请给个 Star!⭐

Made with ❤️ by magicbowen

About

python book for my kids.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors