查看原文
其他

我是怎样开始学习编程的?

kidult00 设计极客 00 2022-09-22
又是一年春暖花开时,大妈的蟒营又准备开课了。作为徒弟,作为网友,我应约来介绍一下大妈,也分享一些自己学习 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 周, 每周包含:
  • 42 分钟以内读完的内容
  • 150 行以内代码
  • 1+ 开发任务
  • 1+ 课外作业
  • 100+ 分钟在线交流
  • 全天候文字讨论
  • 定期在线答疑 以及可能的线下当面讨论活动.

更多课程信息可以查看 ,或点击原文链接

🧧 福利

敲黑板!大妈为 HackYourself 的读者准备了专门的优惠:

  • 报名时,推荐人一栏填写 HackYourself,即可享受 85 折

  • 如果是女生报名,填写 HackYourself  一律优惠 380 元(与85折不可叠加)


扫码下面图片即可进入课程介绍和报名页面。

人生苦短,我用 Python 🤘



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存