(注:公共部分作者 3C团队刘洋洋,项目部分由个人叙述,龚小聪整理)
今天从Percopo Hall到Hatfield Hall参加晨会的路中,我们发现一个有趣的东西。因为逆光有点不清楚,大家注意看图1篮球架的附近,二楼的位置有个横臂,横臂前端有一个斗,斗上站着工作人员正在清理Speed Hall(图1最右边建筑),这个横臂是一个机车伸出来的,是用来清洁不高的楼房的专业设备。

图1 工作人员在清洁宿舍Speed Hall 的外墙@Road beside Speed Hall
开完晨会从Hatfield Hall出来的时候,我们又看到了这个车,它的奇特之处在于驾驶室在悬臂上(图 2),工作人员是在离地很高的工作斗里操作车辆,与一般车辆布局正好相反,感觉很有意思。在这种设计模式下,清洁工作和车辆操作工作可以由一个人完成。如果驾驶室不在清洁工作台(工作斗)上。那么在工作的时候,就需要两个人,一个人驾驶,一个人清洁;或者同一个人频繁的进出驾驶室和工作斗,会大大影响工作效率。
图 2 工作车在路上走@Road beide Hatfield Hall

图3 霸气哥们吹树叶@Rose-Hulman
在Rose-Hulman里面经常可以看到类似的机械。比如每天早上都可以看见有做暑期工的学生用一个大型吹风机吹树叶,这些学生只负责将树叶从草地或者小路吹到主干道上,另有小车收集主干道上的树叶。
其实美国的机械化和自动化体现在方方面面,以前曾经听说在美国就连私人装修都有小铲车用(可以在各个穿过房间门,有的还能上楼)。而现在校园清洁也是用机械。另外宿舍内部铺地毯,宿管做清洁的时候也是用吸尘器。凡可以借助机械的地方几乎都可以看到机械。
晨会的时候,助教又Cosplay了(图 4),左边三人分别扮演mum、Ironman和Mario,右边那人扮演威尔·特纳,感觉此人非常像原版的那个人。还有人扮演日本人武士和小蜜蜂(图 5)。

图4 晨会的时候助教们Cosplay @Hatfield Hall 图5 扮演小蜜蜂的助教@Hatfield Hall
总体说来,助教们每天都会在着装或其他方面想心思Do something special,或者在晨会过程中幽上一默。或者为当天过生日的营员一起唱上一首生日歌。这样潜移默化之下产生的亲切感可以润滑管理与被管理者之间的关系,从而让夏令营更顺利的进行。

图6 没带胸牌要带上超大的牌子@Hatfield Hall
晨会的时候会惩罚昨天犯错的人,如果前一天没有带胸牌就会要求带一个超大的胸牌(图6),如果迟到就会要求带上一个大的纸手表,如果男女生在公众场合过于亲密会被要求带上安全帽。所有的惩罚都是象征意义大于实际意义。Anyway,Rose-Hulman的惩罚其实并不是要怎么样,只是想办法让人能够印象深刻就好了。
今天继续和小孩子在一起,感觉坐在我们前面的这一组同学很强,只4-5天的工夫就能够组成团队,并进行有效的分工。一个小孩做硬件调电路,一个小孩做软件调程序,再一个小孩做骨架,还一个小孩裁铝箔做表面。分工和责任意识很强。
刘玉老师在创办点团队之前,很少有人认为本科生有科研能力,而来Rose-Hulman之前我也没有想过高中生做工程能做到这个程度,虽然也有酱油男、休闲女,但是至少超过1/3的同学的能力让人刮目相看。所以说我个人感觉做教育最重要的是不要有太多先入为主的观念。
最后放张大图(见图7),这是校园喷泉旁的路上的砖块,上边全是校友的名字。细节决定成败,校友工作其实不难做,关键是做不做和怎么做。
图7 喷泉旁的路@the Spring road out of Hatfield Hall
昨天教授讲解了Python的类、方法、对象等知识,今天就将理论应用于实践,编写一个Fraction Class,进行分数的处理和计算。美国高中生基础数学知识并不多,Anderson教授讲了一下分数的运算方法就开始编写程序。授课方式依然是教授在大屏幕上边写边讲,学生在下面跟着写。
按照安排,下午会讲解pygame这个应用开发库,首先学生在Rose-Hulman的CSSE(Computer Science & Software Engineering)网站上下载一个程序样例,由Anderson教授指导阅读代码。CSSE网站上包含了很多课程资源,浏览一下可以发现课程内容非常丰富,比如编程语言除了C、Java之外,还有Erlang、Haskell甚至是Google新推出的Go语言。为了方便教学,编程环境使用虚拟机,老师将搭建好环境的虚拟机文件提供给学生,非常方便。对比下来,华中大计算机专业的部分课程已经相当落后,既不是算法、数据结构一类的理论知识,又不是当今最新的计算机技术,这样的学习导致大学教育和社会需求脱节,让学生也承受较大的就业压力。这个问题很严峻,但是解决起来又会涉及到更多问题,让人感到无能为力。
在中途休息的时间,有个学生问Anderson他最喜欢哪个编程语言,Anderson回答,喜欢的语言会变化,取决于最近正在使用什么。使用C#就会喜欢C#,使用Python就会喜欢Python。他喜欢的不是语言本身,而是设计程序解决问题的过程。
在完成代码讲解后,Pygame居然是由助教Jeremy负责讲解,而Dr.Anderson则坐在教室后面听课。毕竟还是新手,Jeremy讲课节奏有点快,导致有些人感觉跟不上进度,不过问题反映后马上就得到了改善,下午的课程以一个移动方块的游戏结束。
今天是我们这组学生最后一次机会决定自己做什么项目。从夏令营开营的那一天开始,同学们就开始寻找自己感兴趣的项目。最初的选择并不是一锤定音,之后一段时间你都可以改变选择。因为刚开始的第一印象往往是有问题的,除非你之前就对其有很深刻的认识。所以这几天的弹性时间就是拿给你去尝试,去看看究竟这是不是和你想象中一样。
上午和rail runner项目组的美国同学有一些交流。了解到他们也是用inventor做模型,顿时有种很高兴的感觉,因为这是我的强项,我熟悉的领域,希望我能帮到他们一些什么。
下午的时候,其中一个小组已经把实物做出来了,在场地上调试,我们很荣幸得到他们的允许就近旁观。其实他们小组与小组之间保密工作做得很到位,我不知道应该归结为美国人的一种版权意识还是一种不成熟的表现,因为内心足够自信的话,就不会担心那些所谓的盗版。另外有一个非常吃惊的感觉,美国学生的速度超乎我们的想象,题目出来的第三天就已经有实物做出来了,而我们中国组还在设计阶段,纠结于细节的尺寸。美方的思路是有一个大的框架就马上把大框架做出来,做出来之后在调试中发现问题,然后一个个解决。
今天ECE中的Catapult成员们开始进入项目实施阶段,大家已经组好团队并确定好各自的题目。有做小车的,有做小船的,还有做音频功放的,我和前排的小组进行了交流,发现他们分工非常明确,分为上层软件,底层电路和模型外壳。此外其项目进展的思路也很明确,在软件方面先看懂demo,试着修改后,自己再重新编写;在硬件方面,他们懂得了先设计原理图,再制作PCB,最后编程通过后进行调试;在模型设计方面,他们先通过网上视频和图片了解轮船的大致轮廓,然后通过折纸方式分析轮船的结构特点,做出纸质的小船,最后根据这种结构用木棍和金属薄片搭建实际的小船模型。这样的团队分工、研究思路对于高中生而言还是很不错的。但是他们小组是如何组建,如何分工,是否以前学过模型设计等等问题还有待后续调查。
另一个团队中的Tom小弟也展现出了极高的科研素养。在技术层面上遥遥领先其他团队,各种电源,各种驱动,各种程序基本都已搭好。才三天时间啊,就能玩转单片机,搞定电机驱动,真的大为惊叹。
对于我们自己的开发工作,今天已经把电路板画好,然后继续准备相关器件。明天争取把板做好,尽快结合机械模型,做出demo。
今天是开营的第四天,也是我和郭朝科负责协助的机械组项目开始的第三天,今天到小组的工作室,有点unbelievable的感觉,前两天还空荡荡的房间,桌上已经摆放了不少各项目组的半成品。两个飞盘投手的基本框架已经搭建完毕,而另外一个Rail-Runner的制作房间中,三个小组的作品也基本成型了。在一整天仔细的观察和交流过程中,发现他们在制作的过程中,并没有一个具体化到图纸的设计过程,而大多数只是一个整体框架搭建出来后,就开始实物的制作和调试。飞盘投手项目的Max说,如果要仔细地考虑和验证设计方案,会浪费很多的时间,还不如在确定一个方案的框架后,一边制作一边实验,也许能成功、也许会失败,但是会有更大的可能make it,而如果先要去考虑详细的设计,也许花一周的时间去设计,再去调试,如果出了问题,也许就没有足够的时间去完成了。这番话让我想起一个例子,对于一昼夜中时钟的上的分针和时针重合多少次?这个问题,中国学生善逻辑思维,立即拿笔画图计算;美国学生善观察,取下手表拨针做实验,如果规定时间比较短,两种方法都可能出错,但从统计的角度看,美国学生的实验法出错率会少一些。
我的感受是,中国学生对于解决问题,更多的是喜欢去脑力思维,而很少去尝试使用实践的方法去解决,而美国学生更注重实践实验的方法去解决问题,对于各种不可预见的问题,采用实践的方法,也许比单纯的逻辑思维方法更为高效快捷,这点是很值得我们去借鉴学习的一点。
今天Computer Science 课程的内容是更深入的学习了Python面向对象的编程,并开始介绍Pygame游戏引擎。Pygame致力于2D游戏开发,是比较基础的游戏引擎,学习游戏引擎从简单的2D开始才是正途。美国人的教育非常强调动手实践。Pygame引擎的教学方法也很简单。老师敲一行代码,学生在下面跟着敲一行代码,边敲边讲解,老师写完一个很小的游戏,学生们也写完了。然后学生们就开始在老师教的代码的基础上,不断添加新的东西,创造新的内容,学习起来很是带劲。这种教学方式可以很快让学生上手,很快的感受到成就感,从而不断推动着学生们继续往下更深入的学习探索。
今天是Catapult开营的第四天。按照计划,今天也是营员们根据需要转换自己项目选择的最后期限。经过我之前项目“流产”的惨痛境况(今年与我专业对口的GIS与环境类项目都不在项目列表之中),在这前两天时间内我只能尽量调整自己的位置。这个过程虽然曲折且漫长,但是我却获得了意料之外的收获和心路历程。
在Project choice之后的第一天,我首先决定发挥自己的所长,去寻找适合我所能的项目。可首战就遇到了困难。在我最初参与的3D Printer小组中,我的计划是利用自己的建模技能,运用SkechUp、AutoCAD等软件建造出Rose-Hulman校园内的建筑或场地模型,最后用3D打印机做出实体。可是在经过与该小组的成员讨论之后,发现我们的目标有着根本的分歧——他们更倾向于做3D打印机机器本身的设计与机械开发,并非牵涉到运用层面。因此我接着尝试着与项目组内其他的课题组合作,希望能够找到我在机械方面的应用空间。可是在与Juggling Machine(杂耍机)小组合作了一下午之后,我感觉这仍然不是最适合我的地方。
第二天我又随着几位队员在CSSE项目组,希望能尝试发挥自己在计算机方面的技能。整个课程听下来,我总结大部分时间都是教授讲解、学生独立作业,并没有许多小组合作或者团队竞争。并且还有同行的几位中国学生在组内,也不缺我一个,我还是更倾向于做有挑战的事情。而这时已经是夏令营开营后的第三天了,这个时候如果还对于自己的项目摇摆不定,实在让人不安。在这里我曾怀疑过自己,也对“技能—兴趣”二者的选择很难做出平衡。再三思考,我认为既然没法完全发挥自己的专业知识,那么为何不享受这个过程,找最有兴趣的事情做呢?
于是今天,我毅然决定再次更换自己的项目,加入Dr.Coppinger的Microbiology(微生物)小组。教授十分热情地接受了我,并把我介绍给项目组的各个同伴。我选择了一组在食品方向进行实验的项目。他们会分析不同的生肉类(猪肉、牛肉和鸡肉)上的细菌种类,然后通过设置一系列温度梯度,检测在各个温度的时候各菌群的存活情况,以研究出烹饪温度对食物杀菌的效率、是否存在各种有益菌和有害菌以及它们之间的平衡关系等。经过一天的项目合作,我觉得这个团队不管在项目本身或者团队合作上都非常适合我。我也感觉十分幸运。
但最让我兴奋的并不是找到了合适的项目这一点,而是我体验到了美国人对学生教育的整个过程。和我们本科的教育系统不一样,他们的大学教育并不会用专业选择来限定学生的兴趣方向,而是利用完全敞开式的平台,让学生充分发挥主观能动性,选择任意自己感兴趣并且擅长的方向进行学习。在这样的意义上,专业对他们来说只是一个附加的属性,关键的部分在于他们做的事情。和我们相比,这就像是完全相反的两个过程。
而我在项目选择这样一个小小的事件里,充分体会到了他们大学教育的精神。以至于到了今天我加入Dr.Coppinger的小组中并且完成了一天的工作之后,他仍在和我建议带我去他们之中另外的课题组体验一把,届时再做决定。我委婉地拒绝了他的提议,因为这一天和Microbiology小组的合作我已经十分享受。通过对比自己之前和现在的心态,我发现我已经历了从“遵循规则”、“害怕打破规则”到“打破规则”并且“选择自己的选择”的心路体验。他们的教学精神感染了我。我想,暂且不论国内外这两种教育体制的利弊,对于我们大学生来说,他们追求自己的心之所向的这种精神,我们应该有更深刻的认识。而我相信在Catapult接下来的两个星期里面,还会有更多美国式的思想和理念等待我们去探索、思考。我也会在最终确定的这个项目上面尽我所能、收获成果。
Anderson教授一如既往地边编程边讲解,上午的内容主要是以实现一些基本的数学公式和基本的算法为主。下午一开始,在Anderson教授的带领下,学生们开始写一个碰撞检测的小游戏,这个小游戏需要用到图形库、动画、数学等多方面的知识,游戏分为四个场景,难度依次增大,但因为是阶梯式的,所以每实现一步,都能带来信心。下午的时候,我坐到了几个学生中间,和他们的交流也不断增多。坐在我右边的一个高中生很是自信,他说他会10种不同的编程语言,而对面的一个学生则表示除了VB,没有接触过其他的语言。在这种迥异的技术背景下,每个学生都很努力的Coding,遇到问题也会毫不客气的请教老师或者助教。美国的作息时间是没有午休的,跟学生们聊的时候,他们也说很困,但是课堂上几乎没有打瞌睡的,也没有玩手机混时间的,每个人都在很认真的学习和练习着。下午的最后一点时间,助教Jeremy上台了,他代替Anderson教授向大家介绍了Python游戏引擎paygame,并以极快的速度教大家编写了一个黑白机时代的简单游戏。在完成编码和调试后,我也帮几个遇到问题的高中生调试了一把程序。明天,项目分组将揭晓,project将正式开始。