计算机科学课程
经过一段时间的顾问工作和聊天沟通,比较深入的了解到国内计算机科学教育的现状和大家对于学习的困惑,我觉得是可以“系统授课”的时候了。只是这次的授课,恐怕和我原来设想的方式有很大不同。
每当需要“系统”的准备任何事情,我都会犯严重的拖延症。一方面是我其实不想对别人负责,而且“系统”这个词的含义,对于我来说也很模糊。心里有了“教好这门课”,“系统化”…… 这些目标,反而很难真正开始准备课程。我要教他们什么内容呢?从哪里开始?要是我没理解他们,他们听不懂怪我呢?做幻灯片好麻烦啊,精益求精…… 一系列的紧张。
最后经过思考,我发现自己最有效的工作方式,其实不是系统而周密的准备,而是即兴的发挥,边做边想。不管是参加我的顾问服务,还是加入我的聊天室的人,都发现学到了很多。他们是从对话中去领悟,而不是传统的课堂。我不是作为一个“真理传播者”,而只是一个“启发者”。我甚至可以有些时候头脑不清楚,概念也稀里糊涂,而且很多的“新概念”我其实没仔细看过,我甚至可以完全是错的。
但通过对话和提问,我们产生了头脑里从来没有过的知识,而且深刻理解了它的来龙去脉。这种认识可能超越任何现存的文档或者书籍。
这就是对话的力量,这让我再一次想起“Little 系列”书籍。为什么『The Little Schemer』是对话的形式,为什么它用那么短的篇幅,可以教会我比普通平铺直叙的书籍多很多的东西?我一直很好奇这个现象。
有一次我问 Friedman,你的书怎么都是这种对话风格啊?这叫什么 style?他笑了:“这叫 little style!” 后来我发现,这种对话式的教学方式,被叫做「苏格拉底方法」。
苏格拉底承认他自己本来没有知识,而他又要教授别人知识。这个矛盾,他是这样解决的:这些知识并不是由他灌输给人的,而是人们原来已经具有的;人们已在心上怀了“胎”,不过自己还不知道,苏格拉底像一个“助产婆”,帮助别人产生知识。
中国的孔夫子,似乎也用了不少对话式的教学。不过孔子的方式是学生提问,老师只是回答,而苏格拉底的方式是老师提问,学生回答。方向是相反的。
我个人认为苏格拉底的方式要好些,因为苏格拉底方法中的老师并不是“布道者”或者“圣人”的角色,而只是一个“启发者”。对某些话题,老师可以本来没有知识,但是老师很会提问,通过追问和对话,最后大家都得到了新的知识。
没想到两千多年前,有人认识到比我们深刻很多的教学原理,而且它在我的实践中被印证了。每一次有意义的对话,都是一场头脑的 SPA,让人身心愉悦。当初我是作为学生,现在我是作为“老师”。我发现“老师”和“学生”的界限越来越模糊。到底是谁教会了谁,也许其实并没有谁教会了谁?是的,作为一个“老师”,很多时候我并没有知识,可是通过对话式的教学,却产生了知识。
鉴于如此成功而快乐的试验,我决定不再试图准备一堂“系统”的课程,而是像爵士乐手一样即兴发挥。我授课的内容,授课的方式,都可能即兴改变。
现在我说一下我的授课计划:
- 我准备每周讲两次课,间隔适当的时间,用于讨论和交流。时间会安排在大部分国内同学方便的时候。如果参与人数超过了容量,可以分组,采用“流水线作业”。比如每一堂课对两组人分别讲,再准备下一堂。
- 原则上,课程从最基础的常识出发,只需要幼儿园数学作为基础,没有行业壁垒。
- 讲授的内容不事先确定,而是跟着感觉走,无压力进行。通过大家在课堂和课后的反馈,再准备下一节课。不清楚的内容可能在下一堂课重复讲。
- 课程通过在线会议的方式进行。我会根据实际情况调整使用的技术,目前的选择是 Zoom 会议软件。我买了 Zoom 的标准服务,最多可以支持 100 人同时对话开会,多出来的人还可以旁听。
- 在线课程是完全免费的。不过如果你喜欢一堂课,我欢迎你捐赠适当的数额。
- 为了照顾很多人的提问需求,我会通过聊天室和付费平台进行课堂前后的讨论,问答,知识整理等工作。
- 聊天室是可以免费加入的。目前使用的是 slack,因为它有对程序代码很友好的功能。需要加入聊天的人,可以通过这个邀请链接。聊天室是发布课程通知的主要地方,所以请务必加入。聊天请注意文明礼貌和秩序。
- 课后的知识总结和答疑,会部分转移到某种付费平台。经过跟一些人的讨论,目前考虑的平台是知识星球,因为它似乎对交互式的提问答疑比较友好。由于不知道这种平台的质量,我可能会进行一些试用。如果你有兴趣吃螃蟹,请 email 联系我。如果你有其它建议,也请联系我。
- 如果你需要个人辅导,也可以加入我的顾问服务。
基本的情况就是这样。如果有其它疑问,也可以加入聊天室之后跟我讨论。