CMU/UIUC/斯坦福计算机专业的差异性

计算机专业留学|2015年01月07日 10:21
CMU/UIUC/斯坦福计算机专业的差异性
  各个学校的教学体系之间还是有不小差异的。这首先得归因于历史沿革形成的专业侧重、机构设置上的不同。其中MIT算是一极,由于和电子电气专业深深地融合,计算机专业带有很强的“硬派”色彩。而CMU 可以算作另一极,计算机科学有自己的独立学院,非常罕见,因此它的课程设置“软化严重”——与硬件相关的只用一门课就解决了。UIUC 和斯坦福由于都拥有独立的科系,所以可以归入后一阵营。伯克利可以认为处于两极中间,但是仔细分析起来,它的计算机科学专业目前虽然仍属于电子电气和计算机科学系,但是有相当大的独立性,1973 年创立以来,一直有自己的主席和教学安排,所以离后者更近一些。

  此外,各校在专业导入课程的设置上差别也非常明显。基本上可以分为三类。按IEEE-ACM《Computer Curricula

  2001》(以下简称CC2001)的分法,斯坦福属于广度优先(有明确的注重广度的导引课程),MIT 属于函数为先(采用函数式语言),C M U和UIUC 属于对象为先(直接采用Java)。伯克利有些特殊,它有导引课,但是广度稍差,紧接着又采用函数语言,同时开设学生自学为主可以任选的多种语言课程,属于混合多元型。应该说各个学校在学生刚入门时对于如何调动学生积极性,培养对专业的感情上都有自己的思考。无论哪种类型,将课堂变得有趣,能够容纳更多计算机科学的方面,都已经成为一种趋势。

  无论如何,各校存在的差异并不妨碍各自培养出同样优秀的人才,这也给我们提供了一种有益的启示,办学思路和方法应该是因地制宜的。当然,总的来说,各学校之间的共性还是主要的。归纳起来,有这么几个特点,值得我们思考:

  1. 硬件课程整体在减少
  偏软类的三所院校中,C M U 最为彻底,硬件课程只有一门课,而UIUC 也只有两门必修(两门体系结构),斯坦福也是两门(电子学、体系结构或数字系统)。其中的原因,前面引述的Randal E.Bryant 所言作出了解释,毕竟计算机科学需要关注的在计算机系统层次中已经越来越高,底层越来越变得透明了。事实上,CC2001 中制定的硬件课程也只有一门。而国内高校目前一般还开设数字逻辑、微机原理、计算机组成与结构、微机实验等硬件类课程。

  2. 程序设计日益重视
  在C M U、UIUC 和斯坦福,必修的程序设计类课程往往在四五门左右。伯克利加起来也有四门。MIT虽然没有大量前导性的编程课程,但是由于在后面计算机系统工程、计算机语言工程、软件工程实验、Web软件工程诸课程都有实际的项目要完成,所以实际学时也很多,UIUC 的改革更说明了这一点。同时,还出现了强调提高程序设计技巧,与软件工程环境和工具相结合,提倡团队合作,高级程序设计课程与数据结构、算法课融合的趋势。

  这方面的代表有斯坦福。该校副系主任Eric Roberts曾执教入门类课程多年,总结了一套在语言教学中融入软件工程和现代程序设计观念,结合算法和数据结构教学的经验。其成果就是《C 语言的科学和艺术》和《C 程序设计的抽象思维》两本书(影印版已由机械工业出版社出版)。作为CC2001 工作组两位主席之一,他在C语言教学中强调库与接口设计、编程风格的重要性,并进而介绍抽象、封装的概念,产生了很大影响。反观国内目前很多学校的语言教学和程序设计教学,不仅学时偏少,与其他课程孤立,而且脱离实际,造成语言学习和相关专业课学习都变得非常枯燥,不利于调动学生的积极性。

  应该说,这些名校的教学体系、教材和经验都是丰富的宝藏,值得好好挖掘,比如每门核心课程的教学法,实验课程的安排,各门课程的衔接,大型项目的选材等。

我要咨询

您的姓名 所在地区
联系电话 QQ
意向国家 邮箱Email
咨询内容
 
留学专业大联盟