卡内基梅隆大学计算机专业

计算机专业留学|2013年10月21日 16:57
  计算机科学专业教学计划中的一个难点,是硬件课程的设置问题。硬件知识体系本身非常丰富,但是硬件课程多了,又削弱了计算机科学专业的特色。

  卡内基梅隆(CMU)的计算机科学系成立于1965年,是全美最早的,如今它已经升格为计算机科学学院。其研究生项目中除了机器人方向与硬件关系较多之外,其他基本上都是纯软的。从这个意义上来说,CMU的教学体系对于偏软的计算机科学系应该有较大的借鉴意义。

  CMU的教学手册上没有从传统意义上针对计算机科学专业学生的导论课,虽然有名为“计算机科学伟大思想”的两学期课程,但是从内容上看应该是离散数学的替代,因为此外CMU并没有其他离散数学方面的课程。此课程没有教材,内容比传统离散数学要灵活得多,涉及概率、代数、算法、加密理论、复杂性理论、博弈论等,非常注重学习的趣味性和实用性。

  与其他名校相同,CMU对程序设计的重视也给人留下很深印象:本土新生的第一堂课就是“初中级程序设计”,直接讲授Java。然后是中高级程序设计(Java)、C语言编程技巧、高级编程实践(Java)、程序设计原理(用SML语言讲授)。

  目前计算机科学专业教学计划中的一个难点,是硬件课程的设置问题。硬件知识体系本身非常丰富,但是硬件课程多了,又削弱了计算机科学专业的特色。CMU在这一问题上是怎样处理的呢?计算机科学学院的现任院长Randal E. Bryant 亲自给出了回答,他用15~213“计算机系统导论”一门课(12个单元)完成了硬件知识的教学。

  我们的学生中几乎没有人有机会构造计算机系统。而大多数学生,甚至是计算机工程师,也要求能日常使用计算机和编写计算机程序。所以我们决定从程序员的角度来讲解系统,并采用这样的过滤方法:我们只讨论那些影响用户级C程序的性能、正确性或实用性的主题。

  比如,我们排除了诸如硬件加法器和总线设计这样的主题。虽然我们谈及了机器语言,但是不关注如何编写汇编语言,而是关心编译器怎样翻译C的各种构造,比如指针、循环、过程调用和返回,以及switch语句。更进一步,我们将更广泛和现实地看待系统,包括硬件和系统软件,讨论链接、加载、进程、信号、性能优化、评估、I/O以及网络与并发编程。

  这种做法使得我们讲授本课程的方式对学生来讲既实用、具体,又能实践,同时也非常利于调动学生的积极性。

我要咨询

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