我在CMU交换的那半年,看见美国、台湾电脑科学教育的巨大鸿沟

我在CMU交换的那半年,看见美国、台湾电脑科学教育的巨大鸿沟
前言

落笔的此刻是学期结束的隔天,与撰写前两篇心得的动机是一样的,希望把交换过程间的所见所闻与更多人分享。而不同之处是我已经在这儿待颇久,融入并适应之后很多想法可能较无法很客观地从第三人角度撰写。

学期初多半的精力我用在适应环境,然而学期中之后,因为几乎每一堂课的主轴都变成 Project ,我在学习上的重点变成怎幺与人互动、和大家怎幺一起把东西做好,而不同文化的优秀学生合作经验成为最宝贵的收穫。

以下针对我所修的四门课,在期末这段时间值得分享的地方,接着是我跟过往在交大学习经验上的反思。

修课

Principles of Software Construction: Objects, Design, and Concurrency

这堂课仍一直是以作业考试为主的,课程目标是让我们从较高角度但兼具实作的方式学习各种中大型程式的设计与需要用到的技巧,以下是学期后半段的作业以及简介:

整体而言,这堂课教导学生从原本写单份的小型程式到架构较複杂的中大型程式。

Web Application Development

学期中我们作业是完成一个社群网站,其中功能包含注册、 Email 确认信、登入、留言、上传相片与即时更新等,最后再把网页放到云端服务上,我的做起来像是 这样 。

接下来的时间我们都分组完成一份 Project ,过程中有很多的次的进度报告,是在一个小会议室中跟助教还有一些其他同学报告、听取建议。我们做的是 Bug Killer ,概念如 StackOverflow 让人可以发问 Bug 与回答 Bug ,不同之处在于我们加上点数的功能,于是使用者发问 Bug 需要付出点数、回答问题则可以得到点数,且点数是可以用实际金钱买的,最终的作品放在 这里 。

其他同学有人做类似 SoundCloud 线上音乐平台、同时包含商家与客人端的点餐系统以及旅行路程规划等网站。

Network Security

每堂课上课前的论文阅读仍持续至期末考前,而 Project 部分我们每週见面讨论,分头做实验,最后再撰写一份论文并有海报的期末报告。我们做的是分析网路上贩卖假 YouTube 浏览量的方式,透过实际购买假浏览量,我们能分析流量的特徵,并尝试写自己的程式去产生浏览量。论文放在 这里 。

期末的海报报告颇有趣的,在一个室内空间中有免费点心食物,然后感兴趣的人会进来听各组的作品,最后透过投票选出最佳的组别。有组别做新式的防火墙并在学校工作站上测试、有组做网线网路未注册使用者侦测系统并录製了影片展示等,大家都很愉快并认识彼此的作品、互相学习。

Advanced Web Design

这堂课总共有四份作业,最后另外有一个分组 Project ,且有一个共同展示成品的时间。我们做的作品叫做 Tmate ,灵感来自于我们发现设计师与工程师这两个族群通常有各自的社交圈,彼此之间的交集并不多,然而以一个完整作品的角度而言,这两个社交圈若能彼此认识是很好的,于是 Tmate 让设计师与工程师可以登记自己的页面、彼此认识,并可以依照专长搜寻。成品在 这里 ,是同时支援各种萤幕大小的。

我在CMU交换的那半年,看见美国、台湾电脑科学教育的巨大鸿沟
Tmate 网站支援多种萤幕大小
不只是修课

有趣的是,在 CMU 这段时间里,我学到最有用的知识其实并不是来自课堂,主要以下几项值得分享:

结语

网页设计的 Project 我们在展示的前一天在图书馆通宵赶工,隔週週末我们一起去动物园玩; Network Security 的 Project 我们合作间不时会吵架,但最终得了第二名,队友们感情很好我们更曾一起去华盛顿玩; Principles of Software Construction 分组作业的印度队友则跟我一样喜欢贴贴纸在电脑上,于是我们互送了很多贴纸;而 Web Application 的队友则是我这段时间最好最好的朋友,我们总是一起唸书。

于是乎,在不同学校交换的过程中,最重要的是遇见什幺人,而大家彼此之间的态度又是如何。所学的知识固然珍贵,但会让我难忘而永存的是这里遇到的每一个人,以及我们如何互相对待彼此。诚心待人、遇到问题直问、专注并投入在自己的学习上是这回交换日子里我学习到的态度,让自己保有这样的态度是不需要跑到地球另一端、也不需要花钱的。

上一篇:
下一篇: