Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

前言

写作背景

2020年,突如其来的疫情让整个世界按下了暂停键。居家隔离的日子里,我想给家里10岁的孩子找点有意义的事情做。考虑到编程既能帮孩子巩固和应用数学知识、培养逻辑思维,又充满创造乐趣,于是我决定教他学编程。

为什么选择Python?因为它简单易学,相比别的编程语言更有乐趣,又能下探到计算机的基础知识。对于孩子来说,Python就像一把入门的钥匙,能快速打开编程世界的大门。

为什么选择Python而不是Scratch?

很多家长会问:现在不是流行用Scratch教孩子编程吗?为什么选择Python?

这是一个很好的问题!Scratch确实有其优点,但对于小学高年级(3年级以上)及以上的孩子来说,Python是更好的选择。

真实的编程体验

  • Scratch使用积木块拼接,更像是玩游戏,虽然有趣但距离真实的编程环境较远
  • Python让孩子直接接触真实的代码和编程工具,了解什么是计算机程序命令行开发工具以及基本的计算机体系结构

经过实践验证,小学高年级的孩子完全有能力接受这些概念,而且他们会对能深入的控制计算机感到自豪!

更深入的概念理解

  • Scratch隐藏了太多细节,孩子可能只学会了拖拽积木,但不理解背后的软件和计算机体系结构原理
  • Python虽然需要写代码,但每一步都是透明的,孩子能真正理解程序是如何一行行执行的、变量是如何存储和传递数据的、语法错误是什么以及如何调试

更好的知识迁移

  • Scratch的积木编程方式相对独特,学完后如果要转其他语言需要重新适应
  • Python学到的编程思维和语法知识,可以轻松迁移到其他编程语言(如JavaScript、C++等)

更大的成长空间

  • Scratch更适合编程启蒙(幼儿园到小学低年级)
  • Python可以陪伴孩子从小学到高中,甚至大学和工作都能用到;孩子可以用Python做真正有用的项目(数据分析、网站开发、自动化工具等)

💡 给家长的建议

如果您的孩子:

  • 年龄在8岁以下,Scratch可能是更好的起点
  • 年龄在10-12岁(小学高年级),完全可以直接学Python
  • 已经学过Scratch,现在可以挑战Python,进入真正的编程世界

这本书适合谁?

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

对于孩子

  • 年龄:小学高年级(10-12岁)
  • 数学基础
    • ✅ 掌握基本的数学运算(加减乘除)
    • ✅ 了解未知数和方程的概念
    • ✅ 会解简单的应用题
  • 编程基础:零起点,不需要学过编程
  • 学习方式
    • 在家长指导下学习
    • 独立阅读和复习
    • 参考书中的例题和练习

对于家长

  • 数学基础
    • ✅ 具备高中数学知识
    • ✅ 学习过函数的概念
    • ✅ 如果家长本身会编程就更好,但不是必需的
  • 电脑操作能力:具备基本的电脑操作能力即可
  • 学习方式
    • 作为教学参考和备课手册
    • 陪伴孩子学习,解决环境、安装和出错调试等问题
    • 如果不会编程,可以先自学、操作和练习,然后再给孩子讲解教学

💡 这本书的核心目的

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

如果家长不会编程,也没关系!这可以变成一项共学活动:家长先自学掌握,然后教孩子。这反而会让孩子看到“爸爸妈妈也在学习“,更有激励作用!

编写原则

📝 符合儿童认知规律

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

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

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

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

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

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

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

🎮 趣味性与实用性结合

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

使用指南

学习路径

整个教程分为18章,按照以下逻辑递进展开:

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

  • 准备工作:安装Python和编程工具
  • 输入输出:了解程序如何与人交互
  • 变量类型:学习字符串、数字、布尔值

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

  • 顺序执行:理解程序的执行流程
  • 条件判断:学会让程序做决定
  • 循环语句:掌握重复执行的技巧
  • 流程图:用图形化方式理解程序逻辑

第三阶段:数据与行为组织(第10-12章)

  • 列表:管理多个相关的数据
  • 字典:用键值对组织信息
  • 函数:学习代码中的抽象和复用

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

  • 库的使用:学会使用现成的工具
  • 命令行程序:制作实用的脚本工具
  • 报表程序:用图表展示数据
  • 图形界面:创建可视化的应用程序

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

  • 程序设计方法:了解所谓的软件设计和软件工程
  • 计算机体系结构:理解程序运行的物理硬件基础

如何使用这本书?

这本书建议的使用方式是:

第一步:家长先阅读

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

第二步:家长教孩子

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

第三步:陪伴和解决问题

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

第四步:共建亲子关系

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

💡 如果家长不会编程

这完全不是问题!您可以:

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

把它变成一项共学活动,孩子会看到“爸爸妈妈也在努力学习“,这反而会更好地激励孩子!学习过程本身就是最好的亲子陪伴。

给家长的教学建议

⏰ 合理安排时间

  • 每次学习1-2个知识点,不要贪多
  • 理论讲解与练习时间比例约为1:2
  • 鼓励孩子动手修改代码,观察变化

🎭 注重过程而非结果

  • 编程出错是正常现象,教会孩子调试
  • 让孩子解释自己的思路,培养表达能力
  • 即使有AI工具,亲自编程仍然是思维训练的好方法

🎯 因材施教

  • 根据孩子的接受速度调整进度
  • 兴趣是最好的老师,选择孩子感兴趣的练习
  • 鼓励创造性的改进和扩展

给孩子的学习建议

  • 多动手:编程是动手的技能,只看不练学不会
  • 多思考:理解为什么这样做,不要死记硬背
  • 多提问:不懂就问家长,或者记录下来一起查资料
  • 多创造:学完基础后,尝试做自己的小项目

关于AI时代的学习

有人可能会问:AI这么强大,还需要学编程吗?

这个问题我想了很久,目前给出的答案是需要的!

具两个例子:

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

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

因此,我强烈建议,家长和孩子一起学习,然后亲自给孩子教编程,除了培养孩子逻辑思考、问题分解、抽象建模的能力,更是一个和孩子一起体验创造的乐趣的亲子时光!

在这个 AI 大行其道的时代,人类的学习重在过程,不在目的!学习编程的目的是了解数字世界运行的原理,培养思维能力和创造能力,而不是一定要成为程序员。

反馈与改进

如果你在使用过程中发现任何问题,或有改进建议,欢迎一起完善这份教程,帮助更多孩子走进编程的世界,理解这个世界。