美国大学计算机研究生教育的特点
2009-03-06钱宇虹
钱宇虹
美国是世界上最早在大学里开展大规模研究生教育的国家,这与美国19世纪工业革命和经济发展急需大批专业人才相适应。经过长期的发展和完善,美国研究生教育已形成了独特的风格和模式,为美国社会的发展输送了无数的高层次人才,也吸引了世界各地的优秀学生到美国留学深造。
总地来说,大多数美国大学的研究生教育体系是差不多的,尤其是那些相对成熟的专业。本人在美国完成研究生阶段的学习,毕业于佐治亚南理工大学(Southern PolyTechnic State University, 以下简称SPSU) 计算机科学系。现将留美期间的读书经历整理成文,以个人的视角来观察分析美国大学计算机研究生教育的特点。
1 概况
SPSU位于距离亚特兰大市中心20分钟车程的郊区玛丽埃塔。1948年建校时作为佐治亚理工学院(Georgia Institute of Technology)的两年制分校。经过60年的发展,现已成为一所在学术、专业、推广和服务各方面涵盖各项技术的大学。由于所在地设立有许多大型企业的总部,如可口可乐、洛克希德飞机制造公司、UPS、CNN、达美航空,为学生的就业提供了很大的便利。
SPSU的计算机和软件工程学院下面设有三个不同的系别,分别是计算机科学系(Department of Computer Science)、软件工程系(Department of Software Engineering)和信息技术系(Information Technology Department)。虽然信息技术(IT)在最广泛的意义上涵盖了计算技术的所有方面,但它作为一门学科,侧重于通过计算技术的选择、创造、应用、集成和管理,来满足一个组织和社会环境的用户的需求[1]。在过去几年里,美国越来越多的大学提供“信息技术”课程。这三个专业方向的主要区别在于,计算机科学是关于计算算法及其性能、算法的语言和物理实现的科学,软件工程是关于建立大型软件系统的方法和技术,而信息技术则是关于维持IT基础设施安全有效运行的原则和方法。
2 研究生课程设置
2.1层次化以满足不同需求
SPSU的研究生教育课程分为学位课程(Masters Degree Programs)和过渡课程(Graduate Transition Certificate)。下面以计算机科学为例进行详细介绍,读者如果对其他专业感兴趣,可以阅读该校的研究生学术目录,详见参考文献[2]。
过渡课程是为那些本科不是计算机科学或相关专业毕业,又想攻读计算机科学硕士学位的学生设计的,他们必须完成以下六门不算学分的过渡课程之后,才能真正开始攻读研究生的学位课程:
美国大学的课程编码反映了专业和适用范围,所有课程都以某个系或某个专业为单位,由浅入深地进行编号。例如CS代表Computer Science,SWE 代表Software Engineering,IT代表Information Technology,1000-4999为本科生课程,5000-5999为高年级本科生选修课和研究生过渡课程,6000-7999隶属于研究生的学习范围,8000及以后的课程则属于博士生及以上学生的学习范围。
研究生的学位课程包括7门核心课程和5门选修课程,如表2所示:
其中选修课可以是6000-7999的CS 课程或SWE课程,但必须至少包含两门 CS课程,也可以在指定的名单中选修至多一门IT研究生课程。
学生必须修完36个学分,如果总平均成绩达不到“B”,或者超过2个“C”,则失去获得研究生学位的资格。
在这36个学分中,可以选择硕士论文代替其中的6个学分。如果学生决定继续攻读博士学位,那么硕士论文是必须的条件之一。
2.2核心课程注重专业基础和研究能力
从表2我们可以看到,核心课程主要围绕计算机科学的理论基础。只有扎实掌握专业的理论基础和系统的专业知识,才有可能从事这个专业的科研、教学和其他专业技术工作,才能打好进行创造性研究的基础。
课程设置的特色还体现在研究能力、写作能力和语言表达能力的培养。值得一提的是CS 6023(Research Methods and Presentations)。该课程内容主要包括在计算机科学领域进行学术研究的材料与方法、学习标准的研究范式和每个范式的使用案例以及这些研究方法在工业和商业环境中的使用和体现。作为课程的一部分,每位要学生选定一个研究项目, 撰写研究报告,在全班同学和教授面前作课堂演讲(Presentation),并接受提问和批评。这门课程使用的教材是该系的两位教授于90年代末期编写的《Research Methods in Computing(计算研究方法)》一书。该书是计算研究方法领域出版的第一本教科书。
计算机科学与已经有大量研究成果的自然科学(如物理和化学)不同,它的研究对象是人工制造的计算机,所以它既是一门人为的科学,又是一门实验的科学,而且是一个相对较新的学术领域。该系的两位教授意识到,将其他学科的研究方法用于计算机科学的研究是有问题的,于是他们编写了《Research Methods in Computing》一书。同时,计算机科学研究方法这方面的教学研究是一个更新的分支领域,直到2005年,ACM Special Interest Group in Computer Science Education (ACM-SIGCSE),即ACM 计算机科学教育特别兴趣小组才首次成立了一个委员会,专注于计算机科学研究方法的教学研究。
这门课程曾一度改为选修课,后来又通过教师投票恢复了核心课程的地位,因为教授们发现,很多学生不知道如何做研究,特别不知道如何写研究论文。很多中国留学生没有选修这门课,一是他们没有认识到这门课程的重要性,二是这门课程很tough (课程很tough意味着很多的作业,包括论文、实验、项目、演讲等)。但我选修了该课后,感觉自己不仅在阅读、写作和思维技巧方面,而且在如何做科学研究、如何写研究报告、如何做口头报告等方面得到了很好的训练,为完成后续课程打下了很好的基础。不同的课程要求不尽相同,有的偏重理论,有的要做大量的实验,有的要做大量的科技文献阅读,有的要求写较多的论文或报告,有的要求做口头报告,而有的课程在以上每个方面都有要求,这样的课程对学生来说是极大的挑战。
2.3选修课程体现科技前沿
选修课程一般跟教授的研究方向有关,体现了最前沿的科技发展。如:一个新兴的跨学科领域,或针对一个具体的国家项目。例如:Yamacraw是佐治亚州政府投资1亿美元,旨在促进宽带电信业发展的战略性项目。该项目利用佐治亚州现有的高科技基地,结合来自私营公司、主要大学、研究团体的资源,目标是使佐治亚州成为世界领先的高速宽带通信系统、设备和芯片的设计基地,并为当地提供大量的就业机会。Yamacraw总部设在佐治亚理工学院,有8所位于佐治亚州的大学参与研究。笔者读书期间就曾选修了两门Yamacraw课程,即Information Retrival and Search Engines (信息检索和搜索引擎)和Component Based Software Development (基于组件的软件开发)。
3教学方式
在新学期开始前,各系都会在主页上刊登详尽的列表。如本学期日历、课程表、授课教授的信息和接待时间等,学生可以轻松查阅并确定选修的课程及缴付所有的费用。
3.1没有统一的教学大纲和教材
在美国,大学教授的自主权较大,可自己选择讲课内容或教材,尤其是研究生教育。在开学第一堂课之前,学生都会到教授的个人网页上下载该门课程的课程提纲(Syllabus),上面列出了该门课程的授课内容、所要求的教材及参考书,散发的资料,必须完成的作业(Assignments),包括家庭作业(Homework)、论文/方案(Paper/ Proposal)、研究报告(Report)及课堂演讲(Presentation)、实验(Lab Assignments)、团队项目(Group Project)或个人项目(Personal Project),期中(Mid-Term Exam)和期末考试(Final Exam)的安排以及上述这些考核项目各占总成绩的比例。通常,期中考试和期末考试成绩各占25%,其余成绩由平时的个人项目、团队项目、家庭作业、实验及课堂演讲组成。
美国的教科书都很厚,一般有一千页左右,价格也不菲,所以学校的书店里在学期末或开学初总有旧书出售,旧书也要卖到八、九十美元一本。教授一般会指定教材和参考书;也有的教授虽然指定了教材,却很少使用,而是采用自己的讲义;有的教授除了使用指定的教材,还会指定要阅读哪些杂志的哪些文章,并对杂志的内容进行定期小测验,或要求确定一个方向撰写读书报告,并作课堂演讲,这样的课程锻炼了学生快速阅读的能力,也使学生了解到最新的研究成果和多方面的知识。
3.2重视平时的参与和积累
美国大学重视平时的参与和积累,学生平时的学习很辛苦。以我选修的“Information Retrival and Search Engines”这门课为例,整个学期除了期中和期末两次考试以外,依次还有一次实验、一次读书报告,做课堂演讲,还有一次个人项目。美国的一个学年有三个学期,所以一个学期的有效时间比国内的要短,而学习任务要繁重得多。我记得实验是选择至少4款较为流行的目录和搜索引擎,如Yahoo、Google等进行测试,比较它们在不同条件下的各项性能指标。而我确定的读书报告是汉字搜索技术,为了完成这份作业,我几乎查阅了ACM近25年的期刊,阅读了上面所有有关汉字包括日语的搜索技术的文章,最后整理成一份读书报告,并在班上做课堂演讲。
对中国学生来说,课堂演讲是个极大的挑战,因为必须用英语在教授和美国同学面前做演讲,还要回答随时的提问,所以每次做演讲之前都要花很多时间充分准备,包括用PowerPoint制作幻灯片。对我而言,最难的部分不是写论文,而是为了能够流畅地演讲,几乎每次都要把整篇论文的内容背下来。最后的个人项目工作量最为繁重,是要用程序实现一种搜索算法,实际上就是要做出一个搜索引擎,并对该搜索引擎进行性能分析。这要求学生要对这个搜索算法有全面而正确的理解和认识,还要有较强的程序设计和编程能力。为了如期完成这个项目,我不知在机房熬了多少个日夜。
3.3鼓励参与和提问
美国的上课方式也是许多中国留学生面临的最大挑战之一。教授鼓励学生参与和互动,每当他讲完一个话题,就会停顿下来询问学生“Any Question?”,直到每个提问都得到回答后才接着讲下一个话题。学生想发言也可以随时打断教授,提出自己的疑问和观点,学生是通过所提问题的深度给教授留下深刻印象的。中国学生在国内养成了喜欢认真听讲和埋头作笔记,不善于提问和发表自己的见解的习惯,一般刚开始的时候都只能被动地听别的学生和教授的讨论,能听懂一半就算不错了,更不用说主动发表自己的见解了。要做到在课堂上主动提问和发表见解,不单纯是一个语言和表达能力的问题,更重要的是是否有自己的想法和具有独立思考的能力。能够融入课堂讨论是一件非常享受的事情,在这里你不仅能够增强信心,而且能够了解别人在思考什么,在做什么。
3.4重视团队合作能力的培养
美国大学的团队作业(Group Project)比较多,一般在团队作业商定后,每个人各自负责相应的部分,并规定好完成的最后期限。在团队作业中,每个成员会尽力完成自己的任务,都不希望因为自己的工作而影响团队的最终成绩。
在这里我要谈的是我选修的软件工程课程。软件工程系开设了两门程度不同的软件工程研究生课程:软件工程I和软件工程II。这门跨系课程在我读书期间还只是选修课,如今软件工程I已被列为计算机科学的核心课程。出于职业生涯的考虑,我不仅选修了它,还选修了另一门软件工程系的课程——软件项目管理(Software Project Management)。
主讲这两门课程的教授曾在IBM 公司工作多年,主持过好几个著名的行业软件产品的开发,并一直与业界保持着紧密的联系。所以他除了是教授外,还有一个身份就是Industry Relations Coordinator,即负责与业界的关系协调。他讲课不仅包含大量的实际经验,而且总有一个团队项目贯穿始终。
以软件工程I为例,第一堂课就布置了团队项目“办公室文具管理系统”,学生将组成一个开发团队,经历需求分析、建模、设计、编码、测试、部署的软件工程全过程。具体任务要交付以下工作产物:
1. 系统需求文档(System Requirements Document — SRD)
2. 系统设计文档(System Design Document — SDD)
3. 可运行的办公室文具管理系统
4. 测试用例、测试分析报告
5. 项目成果演示和口头报告
第一堂课就开始组建团队。同学们通过自我介绍相互了解,基本确定由擅长编程和书写文档的两类人组成一个团队。由于这门课程在晚上上课,所以有不少非全日制学生。我所在的团队由3人组成,除我之外,一个已经是某公司的经理,他责无旁贷地担任团队组长,从他那里我见识到了什么是真正的软件需求文档,于是我们讨论和修改了他的作业,作为我们团队的工作产物;另一个人在某公司从事软件测试工作,而我的强项是编程,但是我们俩都不想从事自己的强项,于是互换了角色,由他负责软件编程,由我书写设计文档并全权负责软件测试。在课程的最后,团队所有成员上台演示项目成果,每个人负责讲述自己完成的那一部分。
团队成员除了E-mail交流外,还会定期举行小组会议。除了教室和实验室之外,图书馆也是个很好的去处。图书馆里设有很多大小不等的自习室(Study Room),里面有桌椅和免费的网络连接,可容纳一~十多人不等。团队所有成员聚集在一起,讨论项目的有关事宜。这样的团队作业不但可以锻炼学生的表达与组织能力,而且也可以培养学生的分工协作能力,增强团队合作精神。
我所选修的软件项目管理(Software Project Management)课程因团队作业巨大的工作量给我留下了深刻的印象。项目管理必须有一个软件项目为载体,所以作业的一部分就是要开发一个医院信息管理系统,大致提供以下功能:①病人账号管理②病人诊断和治疗跟踪③账单管理④报表打印。然后以这个软件的开发为载体,全程实现项目管理。
4教学管理
4.1没有补考,只有重修
美国大学的评分标准采用A、B、C、D、F的等级制度。A表示90-100,B表示80-89,C表示70-79,D表示60-69,F则表示不及格。美国的大学没有补考制度,如果某门课程得F,唯一的补救办法就是下学期重修,学费也要再缴一遍。即使重修过关,课程的成绩栏里同样会保留一个难看的F,成为永久的记录。正是这种学分的管理制度,督促学生努力学习,完成学业。
4.2剽窃和作弊遭到严厉的惩罚
美国高等教育体系以最严肃的态度对待学术欺骗行为,以捍卫独立思想这一理念,形成一种健康的学术氛围。作为创新的对立面,考试作弊或者剽窃他人论文的学术欺骗会遭到严厉的惩罚。每一个这样做的学生都会在该门功课上被判为不及格,甚至被大学驱逐出去。在这里我只想提及一起已经在网上公开的案例,这是2007年4月发生在杜克大学商学院的一起集体考试作弊案,涉及一个班中的34名学生[3],其中9名学生被开除;15名学生一年之内不准注册,并在该课程上被判为F;另9名学生在该课程上被判为F;最后1名学生在该门课程的一次考试上判为F。如此严肃的处理是因为他们在一次开卷考试中交换了想法。
4.3公共机房管理
这里要谈的是公共计算机房的管理,不是那些专业研究实验室。公共计算机房是全系学生完成课程作业的场所,它的管理很值得国内大学借鉴。
第一个特点是,凡是注册了课程的学生都会获得一个账号,该账号下分配了一定的服务器空间和免费打印配额。平均每门课程150页的免费打印配额,用完之后需要向机房申请,并交纳极少的费用。机房的开放时间直至晚上12点,周末照常开放。机房配有扫描仪和激光打印机,免费供学生使用,打印纸就堆放在打印机下面的机柜里,学生可以随时自行添加。实验室同时为学生提供Oracle数据库账号和Unix账号,需要的学生向机房提出申请即可。
第二个特点是,提供远程访问。学生凭账号可以在机房使用任何一台计算机,将自己的课程作业存放在服务器上。也可以通过VPN远程连接到实验室,在寝室或在家上机就如同在实验室一样。
第三个特点是,学生账号的管理以学期为单位。实验室在期末通知学生在某个日期前必须将自己的文件保存起来,否则会全部清理,为下一个学期做好准备。
另外,机房的计算机上安装了几乎所有课程要用到的软件和工具,学生从实验室的网页上可以方便地查到每台计算机上安装的软件清单。这些软件和工具都是正版,或者是商家向学校提供的免费使用版。例如,微软向学校提供了近20种软件和工具,包括操作系统。学生可以下载这些软件到自己的计算机上。
5结束语
美国的留学生涯是一段宝贵的人生经历。从专业角度来说,我的研究能力,阅读、写作、表达能力,独立思考能力和团队协作能力都得到了大幅提高,我将终身受益。希望这篇文章能够对我国大学的计算机教育提供一点经验。在这里,我要感谢SPSU计算机和软件工程学院的几位教授,在他们的帮助下,这篇文章才得以顺利完成。他们分别是:计算机和软件工程学院院长Han Reichgelt博士、计算机系系主任Venu G. Dasigi博士、研究方法和口头报告的主讲教授Bob Harbort博士。
参考文献
[1] ACM Computing Curricula, Information Technology Volume. ACM, 2005.
(http://www.acm.org/education/curric_ vols/IT_October_2005.pdf)
[2] SPSU Graduate Academic Catalog
(http://www.spsu.edu/registrar/Graduate%20Catalog%200708.pdf)
[3] Duke MBAs Fail Ethics Test
(http://www.businessweek.com/bschools/content/apr2007/bs20070430_110466.htm)