芥末堆注:本文系芥末堆与WISE合作的中西辩论专题【人人都该学编程?】的第六篇,邀请国内外在信息技术和教育领域均有思考的学者来参与这次探讨,本篇作者叶丙成。
日前有一位大二同学跟我约喝咖啡聊天。这位同学是位相当聪明优秀的学生。在台大读了一年半之后,对于学习,有些想法也有些疑问,所以找我聊。当中聊到了一个问题。他问我系上安排的这些课,以后到底有什麽用?有些好像修了以后也不见得用到。如果是这样,那何必要他们花时间修?
是啊,这似乎是很多同学在修课、念书时会产生的疑问:「我念这个到底有什麽用?」特别是在期末考前熬夜念不完时,这谜之声便不停的在脑海中反覆出现,彷彿是「台科兄弟」的旋律,久久挥之不去。
一个课有什麽用,确实是很重要的问题。在我以前写过的一篇故事中,我的教学启蒙老师耶哥教授来台演讲时,便对大家耳提面命:「老师最重要的工作就是要让学生知道修这个课有什麽用。学生知道之后,才会有动机学习。」
所以让学生知道修这个课有什麽用,是老师们的义务。不过,这样的问题,每个人都会有很主观的看法。老师的看法并不见得是唯一的面相。特别是老师属于专业的人士,他们的看法有时候会比较偏重在专业面而不够全面。同学们除了听老师的说法外,也还是应该要靠自己来发掘。在学习的过程中,慢慢体悟你学到了什麽,并深入思考你学到的东西对你的未来究竟有何意义?
乍听起来,好像摸不著头绪,对吧?这边我给大家一个例子。「计算机程式」,是许多系所的必修或选修课程。修「计算机程式」到底有什麽用呢?直觉的答案是:「学了之后就会写程式了」、「会写C/C++程式以后才能修下一个XX课」、「学会了之后在业界比较好找工作」。这些答案对不对?都对。但是学写程式的用处就仅仅是这样吗?
写过程式的人都知道,写程式最痛苦的,就是要抓虫(debug)。所谓的「虫」,指的就是自己写的程式码中的错误。只要有虫没抓完,程式就无法正常运作。可是我们写的程式,往往有成千、甚至上万行的程式码。一旦程式无法运作,要如何知道虫儿们到底躲在哪些地方呢?特别是程式写的不好的人,程式码往往都是写成一大沱,main() 函数总是写的特别肥大。一旦程式出错,实在很难抓到虫。有道是:「只在此沱中,沱深不知处。」
程式课程最重要的训练,就是要大家学会抓虫的功夫。为了抓虫,写程式不能再写成一大沱,而是要学著把程式的功能切割成一个个独立的小模组,分别写出程式码。最后再把所有的小模组串起来完成程式。由于这些独立的小模组的功能都被不是很複杂,程式码的行数也不是那麽多,所以每个小模组运作正常与否可以很容易的测试出来。相较于一大沱的程式来说,要抓虫就容易多了。举例来说,如果有几隻蚂蚁跑到一个饼乾瓮中,要找到所有的蚂蚁会很困难。但如果饼乾当初是被分包成一小包一小包,那我们可以每包个别检视。要抓到所有的蚂蚁,就不是那麽困难了!
讲到这边,修过程式课的人可能都觉得我在说废话,这些大家早就知道了。不过,大家可不要轻忽了这程式课所训练出来的抓虫心法。这心法可不是只有写程式或电路设计才有用的,到处都有用!举例来说,如果你以后在职场上当了某个团队的主管。这团队每次执行专案都会失败,可是老是找不到症结出在哪个人身上。当一个工作有十个人一起合作时,谁摆烂导致工作失败,实在很难看得出来。但是如果把工作切割成小块,分别分配给不同人作。这时候谁摆烂,只要看各小块的工作成果便一目了然。 你说抓虫心法对你有没有用?
所谓的抓虫心法,其实就是训练你在出状况的时候,可以快速的区隔、进而找出所有出错点的能力。这样的功夫在你的未来,不管是管人、管事、管物,都非常有用。可是很多人并没有这样的体悟,只把程式课定位成纯粹专业的课程,实在很可惜。
我另外还可以再举一个例子。我在台大所开的简报课程,我们一直强调一个精神:「要了解你的观众,再从观众的角度出发去审视你的简报」。这个精神,是只有作简报有用吗?不是的,这样的精神在写文章、写论文,甚至开发产品上都是很有用的。
以开发产品为例,开发者一定要先做市场调查,了解消费者,接著再从使用者的角度出发去审视自己的产品功能。唯有这样,才有可能做出消费者觉得很棒的产品。你看,这样的精神,跟我们简报课要传达的精神,是不是完全符合呢?
所以同学们,当你们在修课的时候,除了问老师外,自己也可以多花点心思来思考究竟这课程对你的未来有什麽用。老师的答案或许会比较侷限在专业的思考之中,但是你们的思考可以更全面、更有突破性。不要只注重在修课所学到的「知识」有什麽用,多花点时间思考你学到了什麽样的「心法」,而这个「心法」对你的未来人生有什麽用?
一旦找到了属于你自己的答案,恭喜你,你也晋升高手之列了!
作者简介|叶丙成
台湾国立台湾大学电机工程学系副教授,任国立台湾大学教学发展中心教师发展组组长,MOOC领域达人;主要研究领域:分子通讯、无线通信、无线网络、在线教学系统设计。
2、芥末堆不接受通过公关费、车马费等任何形式发布失实文章,只呈现有价值的内容给读者;
3、如果你也从事教育,并希望被芥末堆报道,请您 填写信息告诉我们。