Py学习  »  Python

不懂编程,我用这四个工具让孩子自己学Python

BetterRead • 2 天前 • 38 次点击  


引发兴趣

每年假期,我都会安排两个孩子自学一些新知识。今年寒假,他们选择的是Python。

学Python本身不难,但如果父母自己既不懂也不感兴趣,还能引导孩子自学吗?

这是我的真实尝试,或许也是一些家庭共同的困惑。

我一直认为编程是很有意思也很有用的工具,孩子应该接触一下。但是我和先生都是文科生,对此一窍不通。所以这件事一直搁置,直到今年寒假才开始尝试。

你可能会问,为什么不选择更热门的信息学奥赛语言C++而是Python?为什么坚持自学而不是报班呢?

主要出于两点考虑:一是我更希望孩子能用一门实用语言尽快做出实际作品,而不是为了让孩子参加竞赛或者升学择校;二是过去三年孩子们已形成了自学习惯,我们的第一反应总是“先自己试试看”,实在不行,再考虑报班。

虽然是寒假开始学Python的,但是孩子自学的契机始于暑假一次偶发的兴趣。今年7月,我带着老二闹闹在香港逛书店,买了两本英文童书。


My Life as a Coder是一本日记体小说,小说主人公是一个不爱读书的男孩。他得到一台笔记本电脑,并且开始学习编程,由此认识了一个堪称编程高手的女孩,于是发生了一连串有意思的故事。

第二本是Minecraft官方小说,介绍了三个小伙伴的冒险经历。Minecraft是闹闹特别爱打的游戏,也有两个玩伴。所以三人行的主角团队和游戏本身都让他感到很亲切。

于是我问他:“有没有兴趣自己设计一款游戏?”他立刻表现出强烈的兴趣。

我们接着讨论了游戏类型、世界观和设定,比如2D还是3D游戏,主机还是手机游戏等等。

聊着聊着,他意识到,要实现这个想法,需要组建一个小团队。有意思的是,他设想的成员都是姐姐或姐姐认识的朋友,而不是同龄同学。比如他想让A来编程,B来负责美工,姐姐负责策划。

“那你负责什么呢?”

他说:“我负责玩,就是测试。”

“为什么不找自己的同学呢?”我问。

“他们都喜欢玩游戏,但不一定能一起完成项目。”他回答得很坦诚。

我顺势引导他:如果你希望邀请比你更有能力的人一起合作,最好自己先掌握一些相关技能。他也觉得很有道理。于是,我建议他先从游戏设计入门,再逐步过渡到编程。

暑假结束后,闹闹先在全球在线教育网站Coursera上完成了一门游戏设计基础课——Introduction to Game Design。这是他在Coursera上学的第二门课。

他的第一门课叫《我的第一本小说》,是密歇根州立大学的老师在Coursera上的。我之前在BetterRead介绍过:小说是怎样炼成的?

这门游戏设计课是加州艺术学院出的。这个学院最近刚刚破产倒闭,让人唏嘘不已。但是这门课不错,闹闹对游戏设计有了初步认识。

同时,我又给他买了CodeCombat这个游戏化编程平台的会员,初步接触Python。

CodeCombat是一个将编程学习与游戏闯关结合的平台,孩子通过编写真实的Python或JavaScript代码来控制游戏角色、完成任务。它有几个显著特点:

通过游戏化学习将抽象语法转化为具体操作;

通过结构化关卡从基础语法循序渐进到复杂算法;

即时反馈能立刻看到代码执行效果;

AI助手还能在出错时提供提示。

界面是这样的:

教学是这样的:

玩起来和一般的游戏没有什么区别,确实可以无痛熟悉编程语言。

我买了季卡,想着三个月可以确定孩子想不想学编程了。没想到,不到两个月,他就主动提出要系统学习Python——动力之一来自和同学的对比:对方用C++写几十行的功能,他用Python往往几行就能实现。

虽然CodeCombat对零基础人士很友好,但不能代替正式的课程。要系统学习的时候,我选择了Coursera上备受好评的《Python for Everybody》专项课程。

这套课最大的特点就是适合小白,而且是那种完全零基础的绝对小白。总共5门课,从基础语法一直教到实际应用。

我简单翻译翻译一下这五门课的内容:

  • 1. 零基础程序设计(Python入门):
  • 学习如何安装Python、编写第一个程序,理解变量、函数、循环等核心编程概念。

  • 2. Python数据结构:
  • 深入学习Python内置的核心数据结构,包括列表、字典、元组和字符串,掌握如何使用这些结构进行高效的数据处理和操作。

  • 3. 使用Python访问网络数据:
  • 学习如何将互联网作为数据源,通过网页抓取、解析HTML和XML数据、以及调用网络API(如JSON)来获取和处理在线数据。

  • 4. 用Python使用数据库:
  • 介绍如何在Python中使用SQL语言管理数据库,主要使用SQLite3作为示例数据库,学习数据的存储、查询和管理。

  • 5. 顶点课程:
  • 使用Python检索、处理和可视化数据:作为毕业项目,综合运用前四门课程所学技能,设计并完成一个完整的数据检索、处理与可视化应用项目。


但是在上课之前,他还要申请助学金。Coursera每个月收费50美元,但是如果申请了助学金,费用就大大降低了。以前助学金的链接很容易找到,现在被放到了网页右下角最不起眼的角落。

我给闹闹准备了几个申请助学金的理由,比如没钱、没工作,只想为爱发电等等。他参考我给的理由自己写申请信,足足花了3个小时才提交,最终以不到20美元的费用获得了学习资格。

第一门课很简单,然后从轻松逐渐进入深水区。第二门《Python数据结构》让他遇到了一些挑战。

有一次我和他在小区花园里散步,看他一路沉默,问他在想什么,他说做Python的作业遇到了难点。

我问:难点是什么呢?

他说:怎么用Python画一个方块。

我说:这很难吗?

他说:“这要求你的数学比较好。“

又有一次,他问爸爸有关视角变化的问题。原来他在用Python编程画一个三维立体的图。

他的问题大部分我们也帮不上忙,他只能自己动脑筋想,或者去问豆包。但是他很喜欢上课,一回家就想进房间学Python。每次让他做作业,他首选做Python课程的作业。

现在回到开头的问题:如果父母对相关领域一窍不通,还能引导孩子自学吗?

我的答案是:能。

关键在于帮助建立真实的人生目标,并提供持续而恰当的资源支持。孩子一旦有了动力认可了目标,也会认可技能学习是实现目标的有效途径。

具体来说,我的做法可以分为四步:

首先,发现兴趣。

通过编程小说和游戏小说,发现孩子的兴趣点,让孩子从情感上认同这个目标,而不是被动接受学习任务。

其次,用低门槛工具进一步确认兴趣,并且建议学习信心。

在孩子正式学习编程前,先让他接触游戏设计课程和游戏化编程平台,能快速建立“我能做到”的初步成就感。

然后,在适当时机引导至系统学习。

当孩子通过初步探索产生自发的学习意愿时,及时提供高质量的系统课程资源,支持他进入更结构化、更深入的学习阶段。

最后,始终保持支持但不代劳的原则。

无论孩子在申请课程助学金,还是在遇到难题时,我都只提供框架和建议,把查找资料、书写申请、调试代码的事情留给他自己。这既能让孩子感受到支持,又能锻炼他解决问题的能力。

这四步的核心就是持续激发动力。

在自学的模式下,孩子缺乏课堂的氛围和老师的即时指导,一切得靠自己。这就是为什么,报班只要付钱就行,但是像闹闹这样我得走到第三步才让孩子开始真正学习。

当然,如果闹闹要继续深入学习Python,找专业的老师指导肯定更高效。

这段经历让我看到:就算父母不懂,孩子也有机会通过自学入门一项新技能。父母未必要是专家,但可以成为那个点燃兴趣、提供工具并守护孩子成长节奏的人。

真正的学习,终究是自己走出来的路。

有关我家两娃利用Coursera自学英语、物理以及通过各种国内外的免费网站和工具学习英语的经历,请看《和孩子说一切》。 


相关文章

我推荐AI辅导,女儿却说“不用”,她去了两趟便利店
小说是怎样炼成的?
怎样才能做一件有结果的事?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/192577