这里是CS50
2015-10-16李建欣等
李建欣等
如何教二分法?撕书
因为选课人数太多,CS50的上课地点定在哈佛的桑德斯剧院。这个剧场能坐下1000多人。每堂CS50课,也是控场大师马兰的表演时间。在剧场上课并不轻松。对坐在后排或者二层的学生来说,他们很难找到在场感,马兰必须将这些人的注意力牢牢拽在手中。
2014年的这堂开学第一课,他准备了整整一天。
事实上,除了开场白的刻意停顿,之后整堂课,马兰的语速就没有慢下来。他抖出一个又一个包袱,没有留白,没有磕巴;不同环节之间衔接紧凑,所有话题转化都平滑流畅。如果你发愣5秒钟,已足够马兰打着手势从讲台的这头走到那头,并且讲完一个段子。
为了解释二进制,他动用了一个顶着8个灯泡的道具。道具由CS50团队制作,用来展示比特的概念。马兰要和学生们玩个游戏,他说:我现在需要志愿者。大概“者”字的尾音还飘荡在剧场中,就有一堆手高高举起。一名女生幸运地获得了上台的机会。马兰递给她一个iPad,上面有一个小程序能够与这排灯泡交互。
“请输入15。”
女生需要在iPad上点亮对应位置的灯泡,展示二进制的15。亮表示“1”,灭表示“0”。她做到了。三盏灯亮起后,装置闪动绿光,在游戏里,这是顺利通关的意思。马兰递给女生一整盒灯泡作为奖励,告诉她可以用来装饰宿舍。台下随即发出一阵欢呼——对于和老师的互动,台下的学生不吝赐予他们最大的热情。
为了展示二分法,马兰使用了一个老桥段:撕书。这是他课堂上保留环节。在前几年CS50课上,他叫上一名志愿者,塞给他一本厚厚的电话簿。“我要找Mike Smith。”马兰说,“怎么能快速定位到他?”
台下有学生提议说:从书中间的部分找起。
“没错。”于是学生乖乖地打开电话簿,翻开一半,看向马兰。
“现在,把书对半撕了。”
拿着电话簿的学生愣了一下,脱口问道:“你是认真的?”
在马兰的鼓励下,学生撕了三次书。对好学生来说,撕书这事还是压力山大。马兰的撕法比拘谨的学生潇洒得多,他会把书本撕下的部分直接扔到台下,仿佛明星抛礼物给粉丝。他用撕书这种直观的方式告诉学生,二分法可以将复杂的问题简化。
品牌越擦越亮
计算机专业博士生罗伯特?鲍登(Robert Bowden)是马兰小组中最为人所知的一员。他是课程的首席教学助理,只要是上过 CS50课的学生,对他就不会陌生。对鲍登来说, CS50不仅是一门课。它有自己的独特气质,它还生长出了自己的独特文化。 CS50的教学团队很乐意被这样一门课所界定身份:他们都有自己的专属 T恤和运动衫。
因为 CS50,鲍登在某种程度上算是名人。 “我走在校园里,人们可能会说,看,这是 CS50的教学人员。我还听到有人这么跟我的学生说, 鲍登是你的学监?我的天,他可是 CS50的。”
这是一种沉甸甸的荣耀。
CS50的影响力并不仅限于桑德斯剧院,不仅限于每周有限的上课时间。只能通过网络视频学习CS50的学生,其最大遗憾大概就是——无法亲身参与CS50种类繁多的其他活动,比如Puzzle Day。这个节日高调而喧嚣。气球、彩灯、音乐、还有食物……这一切的组合,让CS50成为一种流行病毒。只要走在哈佛校园,你就一定能在那天注意到它。你可以在Puzzle Day上正儿八经地讨论计算机问题,也可以只是去端着饮料吃些披萨。在Puzzle Day上晃荡的,除了CS50的学生,还会有各大互联网公司的猎头们——Facebook已经连续赞助了Puzzle Day四年。
Puzzle Day需要金主,而科技公司们需要人才。这样完美的需求契合,使得Puzzle Day成为CS50的传统项目,也成为工作机会的集聚地。赞助名单里的公司,有亚马逊、佳能、微软、Facebook……科技公司的老板们趁此机会,寻找CS50的优秀毕业生,或干脆向CS50的职员们伸出橄榄枝。CS50的品牌效应,使得学生们默认这是一条能够通往硅谷的路径。上完一学期的课程,然后竞聘成为CS50的工作人员,也是发生在这一课堂的常态。
不过当CS50的员工,并不比当学生更为轻松。因为马兰,对,就是那个看起来亲切和蔼、毫无架子的马兰,其实是个彻头彻尾的完美主义者。
2014年秋季学期第一堂课的尾声,他特意安排的电子音乐秀出了问题。灯光已经熄灭,预期中该点燃全场的音乐却卡了壳。问题很快修复,而且气氛依然昂扬。这堂课在声光影的组合中落幕,严肃的桑德斯剧院变身舞池,800人随着节奏在座位上扭动身体。但马兰事后坦言,他沮丧到不行。“我简直想死,我本来应该让它完美地、流畅地结束。”CS50官方网站放出的课堂视频,省略了这个小小的插曲。
“所有教师都感到,给CS50干活所付出的精力,比其他课程多得多。马兰对课程质量有极高的要求。”鲍登说,马兰总给事情定下难以企及的目标;但如果每个人都不遗余力去做,又能堪堪达到他的要求。因此,给马兰干活,是荣耀,也是压力。你得使出浑身解数,来让这个叫做CS50的品牌越发闪亮。
“我对哈佛有很深的个人情结。它对我影响太大,定义了我的人生。而近几年来,毫不夸张的说,CS50构成了我的生活。”因为倾注太多,所以马兰斤斤计较课程的每一个细节。甚至在近似嘉年华的Puzzle Day上,他也不曾放松,紧盯活动的所有环节。他没有在活动上出场,甚至也放弃了发言。他就站在热闹人群的几英尺之外,以幕后掌控者的姿态,观察这个他一手创办的节日。
2014年登顶新生报名最多课程
“公平讲,马兰几乎是重新改造了CS50。”他的一位学生如此评价。
CS50其实开设于1989年,1990年代,选课人数基本徘徊在200人左右。互联网泡沫破灭后的2002年,人数下跌至不足100人。马兰接手后8年间,选课人数一直稳步上升,直到攀到顶峰——800多人。马兰在哈佛就读期间选了这门课,那是1996年。当时的任课老师是现在的普林斯顿计算机科学教授布莱恩?克尼汉(Brian W. Kernighan)。CS50改变了马兰的人生轨迹。在那之前,马兰给自己设计了步骤严密的人生规划。他一心想着进入政府走上仕途,选修CS50也曾让马兰纠结,他并非理工专业出身。不过克尼汉用了“及格/不及格”的打分机制,马兰不用担心这门课程会影响到他的GPA。
感谢克尼汉教授,让马兰来到了计算机的世界。然后,他爱上了计算机。因为CS50,马兰的人生方向开始不回头地向计算机拐去。他转变了人生重心。后来,马兰去剑桥大学,完成了硕士和博士学业。从那之后,马兰再没有离开哈佛。2007年,他成为CS50的任课老师。
从此,故事开始了。
CS50绝不是大学里让人喜闻乐见的那类活少分高的课程。它难度高、任务重,无怪乎CS50配备了阵容庞大的助教队伍,每周有四天的时间,这些师兄师姐们会在办公室等待CS50新人前来求助,为他们提供一对一贴心辅导。据马兰统计,78%的选课者都表示他们之前毫无计算机基础。但几乎所有学生都会在课程结束后完成蜕变——如果他们想要及格的话。他们会做出一款功能复杂的游戏,一个可以交互甚至能够风靡全校的网站,或干脆造出一个新鲜的装置。Facebook上,CS50课程群组里,已有近65000名成员,人数已经超过了很多大学的学生总和。
有人问马兰,CS50为何能有超高人气?马兰回答,摆在第一位的,是教好计算机。他常常思考,要给学生创造一种怎样的体验。这种体验应该与传统的计算机教学截然不同,它不能枯燥无聊,也不能生拉硬扯。他尝试着在班级中创造一种文化,这种文化让学生能心甘情愿地为课程付出时间和精力。只有真正的付出,学生才能顺利进入一个他们此前毫不熟悉、高门槛领域。因此,马兰要对课程进行精心设计。他要激发学生的好奇心,要挑逗他们,引诱他们,吸引他们,刺激他们,他们会为课程兴奋,为自己掌握的知识感到不满足。然后,马兰就可以顺理成章地对学生提出更高阶的要求。
你们彼此连接,你们并不孤单,你们共同属于CS50的大家庭——这是马兰极力传达的理念。
2012年,马兰把课程的视频放上了在线开放式课程网站edx,得到了来自全世界的更多学生。顺应学生的需要,马兰团队在Facebook上建立了CS50的官方小组。他利用各类学生们已经熟悉的社交网站,来降低同学之间的沟通门槛,让这些遥远的不曾谋面的学生能够用他们的方式参与到这门课程,并且同样的共享CS50的标签。
“我能在Facebook上看到他们的照片和动态,这让我觉得,我每天都能真正看到这些学生。”马兰拥抱这种新的教学方法,用同样的热忱对待他的编外学生。马兰也鼓励能够来桑德斯剧院的同学回去看挂在网上的教学视频。“毕竟我们是个800人的大课堂。如果他们只是坐在剧院里,听我讲解,被我带着走,并不是最有效率的学习方法。”马兰觉得,网络视频让学生有权利自己控制课堂节奏,快进、回放、暂停或者重播,这无疑是更佳的学习体验。
技术给了学生这么多样的学习工具,他们可以自己找到更适合自己的学习方式。正如马兰所说,这是一个愈发技术化的时代。技术,渗透进生活的方方面面,在改造、在颠覆。CS50的成功,或许也要部分归功于这个变化的时代。2014年,CS50打败了“经济学”,成为哈佛大学新生报名数量最多的课程。然而很少还有人记得,2005年年末Facebook的创始人马克?扎克伯格来哈佛大学演讲时,只有不到20名学生捧场参加。那时,人们对计算机科学并不感冒。
“……这就是我认为现在学习计算机科学很明智的原因之一。在过去任何时候,你都不可能利用这样少的资金,获得这样强大的技术,进而影响到这个世界上的很多人。”那场演讲中,扎克伯格如此苦口婆心地劝说他的师弟师妹。
进入互联网时代,计算机的重要性已经不言自明。即使你无意从事相关行业,也仍然绕不开计算机。马兰建议,所有学生都该至少了解点计算机的基础知识。重要的是思维方式。这种思维方式能够在你面对问题时,帮你理清思绪,让你更有逻辑。他强调,这是计算机科学能够给予学生的更为长远的东西。