又是一年春暖花开时,大妈的蟒营又准备开课了。作为徒弟,作为网友,我应约来介绍一下大妈,也分享一些自己学习 Python 的经历。新浪微博 @ZoomQuiet(江湖上人送外号“大妈”),Python中文社区创始人、华蟒用户组(CPyUG)创办人之一和管理员、OBP及蟒营工程设计者/主持人、哲思社区资深成员、ECUG社区宣传部长。主持编撰了《可爱的Python》,主持翻译了多本 Python 技术图书,参与了各种开源项目的开发、运维、翻译和宣传实践。
看见这个头像,你要做好接梗的准备了~
开始的开始
跟大妈认识,还是在 2015 年,他是我 Python 入门的老师。那时的我还是个蠢蠢欲动的设计师(今天也还是),一直对技术和编程有着谜一样的好奇心。大学时学过 VB 和 C,试过编程编到运行时直接蓝屏……工作后读了不少 HTML 和 CSS 代码,然后在很久以后才发现它们并不算编程语言,也学了一段时间设计师最佳入门语言 Processing,但还是一直觉得没有迈入编程这个听起来有点吓人的大门。直到 2015 年,开智的第一期 Python 班由大妈全程策划、教学、答疑,这是开智课程的一块试验田,也是我进入代码世界的一条时光隧道。身为一名产品经理+设计师,我跟很多攻城狮打过交道,但是大妈仍然突破了我对这个群体的认识——思维如此奔逸,吐槽抛梗怼人怼 bug(更多是思路上的bug)可以无缝切换,涉猎范围之广让人应接不暇。也正是这些特质,让我和其他学员有了独特而难忘的编程初体验。编程和学习编程的正确姿势
跟绝大多数的编程课程都不一样,大妈的核心教学理念至今让我获益良多。教是最好的学
学习编程第一件事情,不是编程,而是理解「学习」。什么才是更有效的学习途径,这恰恰是绝大部分在线课程不去反思和讲述的元问题。大妈对此毫不含糊。他带来了一次彻底的翻转课堂教学。大妈和课程团队负责提供脚手架,负责当保姆(是真·大妈),而学员们的唯一目标:教会三个月前的自己学会编程。这颠覆了我对在线课程的认识,尤其是对编程这种心理距离颇为遥远的硬技能。还没等大家回过神来,大妈就发车了。于是我们一边听一边看一边写——听大妈唠叨,看各种文档,写教程教三个月前的自己要做什么。我想我写技术教程的叨叨范,应该就是在那时候形成的吧。kidult00/2015.OM.py.note: 00的Python 学习笔记 输出倒逼输入
常见的课程设计,大都是为了满足我们「输入=学到」的幻觉。老师准备了很多材料,也把自己的看家本领拆烂了揉碎了做成小药丸,让人不禁幻想,只要吃下脱水的小药丸,变身的过程也就大功告成。教会自己,意思是要用写的、画的、可运行的代码来告诉自己,编程是什么回事,Python 可以干什么。所以每位学员都有了自己的 gitbook 笔记,有了 Codeskulptor 上的代码,有了github 里面的项目记录。当我们每个人都有了「写点什么」的现实感和紧迫感时,输入才真正有了意义。用更浪漫的时下热播剧集中的台词来说,就是:只有当我要创造点什么的时候,我看的东西才有了存在的意义。为了写出代码,要去看文档;为了写教程,要去列问题和寻找答案;为了抄作业,要去偷看其他同学的代码……比如我在写这篇笔记的过程中,才发现自己原来是可以理解编程思维的。这不仅是写代码的本质,也是破除拖延开始行动的秘诀。何况,还有不停叨叨你的大妈当监工~在真实情境中学习
真正的 Python 语言是跑在程序中、跑在协作里的。而学习的过程就应该发生在真实情境中。我们并不是从 Python 的语法学起,而是先学习:- Markdown:如何清晰地表述问题,整理和传递文字信息
- 使用命令行:理解程序和代码运行的方式,以及如何高效执行批量命令
- 设置虚拟 Python 环境:理解 Python 生态和工具,搭建可以任意折腾的环境
- 使用 Git:版本迭代,多人协作,知识共享,问题追踪
这些往往被排除在编程学习之外,却是程序员每天都要做的事情。大妈在课程中反复叨念的,其实是他解决各种问题的一套程序,包括他是如何 debug 一个坏掉的脑回路的。
在项目协作中学习
从一个想法到一个可访问的应用,这才是完整的学习闭环。在大妈的课程中,项目实战不仅要实现这一闭环,而且要在真正的团队协作中应用课程中学到的一切。我跟另外两位小伙伴组队开发了「小小书童」的微信查书应用:虽然时隔多年,当时从项目计划、讨论和会议记录纪要、开发进度、应用使用说明,到路演大纲、路演视频,3 人小团队经历了一次完整的开发过程,今天仍然历历在目。我想,这是学习中最微妙、最内隐的部分。这其中大量的细节,并不能通过知识传授而习得,必需由实践和互动中的反馈来完成。
真正课程内容, 都是在学员间/学员和助教间/直播时/...课程和学员共同创造出来的,包含:
- 小团队协同时各种礼节/约定/困难的处置/弥合/...
正是在真实的创造中,学习和改变才得以发生。
编程改变不了太多,但可以改变自己
经历过这一次 Python 的初体验,我才算真正进入了这个光怪陆离的异次元。虽然后来并没有成为程序员,但也陆续完成了 Udacity 的 Deep Learning 课程、尝试编写爬虫、在 Blender 和 TouchDesigner 里面用代码生成实时动画等等。我一直很庆幸,在作为初学者时有这样一段独特的学习体验。它改变了我对编程的看法,也改变了很多对学习的认知。虽然直到今天,我还是 get 不到大妈在课程里提到的许多梗。蟒营是大妈为编程新手专门设计的 Python 入门班,第 6 期马上要开班了。经过整整 6 期的打磨,课程设计和体验都越来越完善,大妈也会一如既往地指路、吐槽和抛梗(By the way,“蟒”就是 Python,这个入门梗可以先记下)。也许同样蠢蠢欲动期待折腾的你,可以在大妈的叨叨下创造出属于自己的独特学习体验,并且打开一扇徘徊已久的新大门。蟒营 6 期于 2020.3.29 开学。课程共 6 周, 每周包含:更多课程信息可以查看 ,或点击原文链接
🧧 福利
敲黑板!大妈为 HackYourself 的读者准备了专门的优惠: