您的位置:首页 > 理论基础

网易公开课《计算机科学导论》简评

2014-03-28 21:33 141 查看
哈佛上课的感觉就是高大上。男老师不去脱口秀实在是屈才了,能够以那么快的语速毫不打绊的讲课,显然是经过精心准备的。首先上来就是讲授一种计算机的思维方式—折半查找。然后讲了一下这门课的内容。令人惊讶的是竟然有大约50个的以前上过门课的人来充当辅导老师的角色,帮助大家完成任务。这十分罕见。一般一门300人左右的课,大约有5到6个助教就够了,看来这个老师的魅力还是很不错的。

这门课是导论性质的课程,基本认为你对计算机的了解仅限于开机关机。讲的内容都比较浅显,而且是具有启发性质的,比如:

如果邮箱可以对电子邮件进行排序,那么你期望的准则是什么?比如基本的数据恢复原理?还有就是通过伪代码来做游戏,体验程序设计的基本思想,顺序,选择,循环。

等到真正开始编程了,使用的既不是C也不是JAVA,而是一个MIT开发的基于图形编程的语言,将一个一个控件组合起来形成程序,而且能够通过命令直接将图片移动、翻转等等。它的好处在于:1跳过了变量、函数、定义、声明、数组甚至指针那些编程语言的细节问题,而着重体现了编程思想:顺序、选择、循环;2.能够对图片进行操作,也提供了丰富的接口,可以很快上手做一些类似于仙剑之类的2D游戏,趣味性很强。

剩下的几讲还是回到了C语言,hello world,介绍了了基本变量类型和if、while、do……while和for。亮点不是很多,其中之一是封装了一个课程使用的库,包括getString、getInt之类,便于人机交互。还有就是在C99之前,是没有bool类型的,这点我也是今天才知道。当时读TCPL时,竟然没有发现。

还有就是上课真的是老师拼了命的讲,几乎不管你有没有听懂。很多基础的东西都没讲,就开始讲排序了,而且冒泡排序,选择排序和归并排序都讲了。虽然是基本思想,但是估计学生们的作业中少不了代码实现。有一些复杂的东西也是没有讲的,比如指针数组,指针函数,函数指针,位域等等。

大概课程的一半左右,就结束了C的讲解,转到了网络编程。给人的感觉并不是培养“计算机科学家”,而是在培养码农。简单的讲了HTML,然后就是PHP,然后是javascript,利用Google earth的API,实现了一个小的游戏。总之就是忽略底层细节,尽可能的作出一个小玩意来。我没有看到他们的练习题,从上课的感觉来讲,应该是大的框架都已经搭建好了,你只需要网上填代码。但是课程的期末考试确是小项目,从创意到代码实现都是你自己的小团队自己做的。

其实我感觉对于毫无编程经验的人而言,这个难度还是有点大的,要么上哈佛的都是天才,要么就是归功于一个讲课的老师背后庞大的辅助团队。这门课的顾问,就是大名鼎鼎的Brian W.Kernighan,没错就是K&R的第一作者(据说此人之前就是教这门课的)。其次,是教师反复提到的助教(他们有一些是之前上过课的学生),对同学的问题作出课详尽辅导。我觉得这是一个绝佳的注意,就是当你听过这门课,觉得不错以后,可以投身它,再帮助别人学习这门课,这是一种文化的传承。怎么说呢?有点像“豪门底蕴”的感觉。(他们还经常举办相关的聚餐活动,还有这门课的T恤之类的商品。)相反,咱们国家的这种大课,往往是树倒猢狲散的感觉。老师教的累(因为人多,所以作业量大,答疑多),学生学着也没兴趣(缺少针对性的辅导)。这是值得反思的地方。

还有就是哈佛的名声实在太大了。尽管上这门课的是大一大二的新生,一般而言是不具备编写工业级别的代码,也不了解相关的算法、硬件、网络知识的,但是很多企业都会与这门课程合作,办一些小的推广、实习活动。说不定这些新生里面,就有下一个Brian W.Kernighan呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: