美国大学计算机教育如何?
美国大学计算机教育如何?
美国大学计算机教育漫谈
美国纽约市立大学 钟京馗
前言
前几天收到《CSDN开发高手》杂志社编辑的约稿邮件,主题是关于中外计算机教育对比。笔者因学习和工作的关系对美国大学计算机教育体系有较深刻的了解和认识。同时与国内计算机系的教授也有一定的联系,比较了解国内大学计算机教育的现状。国内计算机系的学生就经常拿自己调侃,调侃之一:“计算机专业最没前途了,因为计算机专业大体分三类,硬件、软件和网络。硬件方面不如电子系,软件方面不如数学系,网络方面不如通信系…”。以往对这类的调侃,多是付之一笑。但谈及目前国内大学的计算机教育,尤其是国内大学扩招以后的状况,令人感慨万分。因为这类调侃竟然在很多学生心里得到了一定的认可。调侃之二:“国外计算机科学系是Computer Science, 国内计算机科学系是Counter Striker(反恐精英)”。这说明,国内计算机专业的学生大多都沉溺于网络游戏而放松了对本专业的学习。这些听后令人心酸的调侃,反映了国内大学计算机教育的现状,以及国内大学计算机教育的滞后性和缺乏创造性。
作为一名计算机专业的学生,中美两国的计算机教育在本科和研究生阶段究竟有何不同?哪种方式更适合中国学生?如何提高国内众多大学计算机系学生的专业水平?课程该如何设置?师资该如何配备?教授的能力该如何评估?这些问题实在是到了该探讨如何改革的时候了。
笔者研究生阶段的学习是在美国完成的。毕业于纽约市立大学 (City University of New York) 计算机科学系。回顾留美期间的读书,选择课程、挑选教授、课堂演讲、以及团队合作等种种难忘的经历。现将这些经历整理成文,以笔者个人的视角来观察分析美国大学计算机教育的特点。
大学本科
大学本科阶段的教育是一切高等教育的基矗基础不坚实,何以建高楼?本科阶段学习的重要性是不言而喻的。任何计算机方面的学习都离不开硬件和软件两部分。美国大学在这方面为计算机本科学生都提供了什么样的设备呢?
硬件篇
笔者从1996年下半年开始接触BBS。那是当时全国都大名鼎鼎的重庆海阔天空BBS站。第一封电子邮件,第一次下载软件,第一次实时聊天,都是在BBS网上完成的。之后,电信局终于开通了拨号上网。那是一个连拨号设置都非常复杂的时代,操作系统是Windows 95。昂贵的网费以及慢得如同老牛爬坡的速度,至今回忆起来仍沥沥在目。
在那个年代,最快的网络是T1,是世界上最快的网络。到底有多快,就只能从杂志书籍上了解一些。知道这个最霸道的T1网络位于北美,是互联网的骨干网。1997年,来到了美国。最初的震撼就是见识了美国大学的计算机房,全天开放供学生使用,居然还有空位子。任何一间计算机房都配备了至少一到两台黑白激光打印机。估计那是工作最为繁忙的计算机设备,每天不知道要消耗多少A4标准打印纸。打印机是免费提供给学生使用的。因打印数量庞大,为方便学生使用,于是整箱的打印纸就堆放在打印机下面的机柜里,学生可以随时自行添加。最大的震撼是,全校的任何一台计算机都与互联网相联,速度很快。记得在国内的时候,如果要在网上显示一幅图片,等上几分钟是很正常的事情。可当时的情况几乎是即点即现。这可是在1997年啊!惊喜之下,询问机房管理员,答曰:”本校的局域网隶属于北美大学骨干网,自身就是这个信息高速公路的一部分”。终于见识了T1网络的威力了。下载速度最快的时候可以达到5兆每秒,平时基本上是100-400K的下载速度。
如果是大学的教职工或者全日制学生,学校将会分配每人一个以@大学名称.edu结尾的电子邮箱。其实这不仅培养了学生对母校的认同感和自豪感,同时也是展现一个学校在网络技术实力方面的一种手段。不难想象,要维护一个复杂而庞大,运行稳定可靠的电子邮件系统不是件容易的事情。即使学生毕业离校多年,学校也不会注销学生的账号。学生仍然可以经常使用这个账号登录到母校的主机,查询自己感兴趣的信息。
对于居住在校内的学生,大学还为每个宿舍提供了10/100兆免费的宽带接入,只要填张申请表即可办理。对于不住校的学生,学校另外提供电话号码,键入这个号码就可以登录互联网了。有些类似国内目前的16300方式,只不过需要提供正确的用户名和密码。以上服务是每个已经正式注册的学生都可以享用的。计算机以及电子工程专业的学生还有额外的一些服务,诸如:
l 5兆个人主页空间。支持CGI,PERL(之后考虑到网络安全,停止了对CGI的支持);
l Oracle数据库的使用权限。可以使用学校主机上的Oracle, 便于课程的学习,例如,数据库程序设计以及数据库管理。
基本上每台计算机都安装了一些开发工具。例如,微软的Visual Studio系列,如,VB,VC,另外还有TC,JAVA等等。如果是商业或者是有版权的开发工具,大部分安装的是免费版,个人版,学习版,或者是共享版。在公共计算机房的计算机上,几乎看不到国内大学计算机房里面令人眼花缭乱的专业版,企业版。从这个角度来说,国内大学生所使用的开发工具要比美国大学提供的好。
总的来讲,大多数的美国大学在计算机方面的配置是差不多的。但是,如果是名校,不论是公立的还是私立的,计算机的配置要比普通大学好得多。例如,纽约市立大学(CUNY)就是其中之一。得益于纽约市政府的大力支持。学校在教学质量,规模,硬件配备等方面在全美几个巨无霸型的公立大学中占据重要位置。其它两个巨无霸型的公立大学是纽约州大和加州州大。看来教育不下大本钱还是不行的。由于政府的支持,这些大学普遍收取较低的学费 (本州学生最低,外州学生其次,外国留学生最昂贵),因此吸引了大量本国学生及外国留学生报考,竞争非常激烈。批准入学后,更不同于国内大学的严进宽出,而是要认真对待所有的课程,否则无法保证顺利毕业。
软件篇
前面谈了美国大学的基本硬件配备情况。接下来,谈谈软件方面。下面分别从课程设置,教学方式及教材的选用、成绩评估、和毕业要求等几方面加以阐述。
课程设置
目前国内高校的教学内容都是由国家教学大纲来制定,应该说还是带有很强的计划经济的色彩。笔者认为大学或学院要创办出自己的特色,就应当由学校制定自己的教学大纲,由教授制定授课的内容。教学大纲定死了,就不容易创办出自己的特色来。在课程设置上,必须紧密结合市场的经济需求,克服脱离实际的现象,同时还要避免因迎合市场而盲目追求最新的理论。从另一方面来说,国内的大学希望紧跟国际计算机科学发展的最新理念和技术,并将最新的信息传授给学生。但就目前来看,国内大学还是有力不从心之感。因为任何新的理论技术,要想掌握得比较好,没有一定的技术储备是很难办到的。一
这里以纽约市立大学(CUNY)计算机科学系本科与Bridgeport大学计算机科学系本科学生2004年度课程设置为例。(课程名称笔者就不翻译了,相信国内大学生应该是相当熟悉的)。
纽约市立大学(CUNY)计算机科学系本科课程设置,见表一
表一 美国纽约市立大学(CUNY)计算机科学系本科课程设置表
课程代码 |
课程名称 |
学分时 |
CSCI 012 |
Understanding and Using Personal Computers |
3 |
CSCI 018 |
Computers with Business Applications |
3 |
CSCI 080 |
Problem Solving with Computers |
3 |
CSCI 081 |
HTML and WWW Programming |
3 |
CSCI 082 |
Multimedia Fundamentals and Applications |
3 |
CSCI 084 |
Models of Computation |
3 |
CSCI 085 |
Database Application Programming |
3 |
CSCI 086 |
Science Computing Tools and Instrumentation |
3 |
CSCI 090 |
Topics in Computing |
1-3 |
CSCI 111 |
Algorithmic Problem Solving I |
3 |
CSCI 211 |
Algorithmic Problem Solving II |
4 |
CSCI 220 |
Discrete Structures |
3 |
CSCI 240 |
Computer Organization and Assembly Language |
3 |
CSCI 280 |
Self-Study Programming |
1 |
CSCI 307 |
Compilers |
3 |
CSCI 310 |
WWW Programming |
1 |
CSCI 313 |
Data Structures |
4 |
CSCI 316 |
Principles of Programming Languages |
3 |
CSCI 315 |
Artificial Intelligence |
3 |
CSCI 320 |
Theory of Computation |
3 |
CSCI 323 |
Design and Analysis of Algorithms |
3 |
CSCI 331 |
Database Systems |
3 |
CSCI 332 |
Object-Oriented Databases |
<SPAN style="mso-bookmark: _Hl