【研究生教育】美国知名大学计算机专业研究生教育探索
毛新军,殷建平,潘晓辉
(国防科学技术大学 计算机学院,湖南 长沙 410073)
摘 要:研究生教育是高等教育的重要组成部分。文章研究卡内基·梅隆大学、斯坦福大学和康奈尔大学的计算机科学与技术研究生教育方法和经验成果,包括培养理念与目标、课程学习与要求、培养过程与考核,分析和总结3 所大学在研究生培养方面的共同认知与方法,提出若干建议。
关键词:研究生教育;培养目标;课程要求;培养过程
1 背 景
对国际一流大学而言,研究生教育是其培养高端领军人才的重要途径,也是扩大学校全球影响力的重要手段。当前高等教育正朝着全球化、网络化方向发展,尽管不同高校在研究生教育方面采取的举措有所不同,呈现出不同的特点,并与其科研方向、学科优势、师资队伍等紧密关联;但是许多名校在高水平研究生培养方面仍然存在若干共同的认知与普适的方法,而这些认知与方法对于希望提高研究生培养质量的其他院校而言具有重要的借鉴与参考价值。
1.1 卡内基• 梅隆大学(Carnegie Mellon University)
该校的计算机科学学院(School of Computer Science)倡导多学科交叉研究,在信息技术与安全、软件工程、机器人等方向的研究处于全球领先地位,并在这些方向上与美国国防部、NASA等机构有深入合作, 得到Microsoft、IBM、Google 等企业的大力支持。该学院下辖计算机科学系、机器学习系和一组研究所(如人机交互、软件研究、计算生物学、语言技术、机器人等)。计算机科学系成立于1965 年,该系在算法及复杂性、人工智能、计算机体系结构、软件工程、计算生物学、形式化方法、机器人、程序设计等方向的研究具有重要国际影响,提供了计算机科学方向的科学硕士(Master of Science)和哲学博士(Doctor of Philosophy)研究生培养计划[1]。
1.2 斯坦福大学(Stanford University)
该校的工程学院(School of Engineering)成立于1925 年。实际上,从该校1891 年成立以来,工程教育就成为其整个大学教育的重要组成部分,该校2/3 左右的师资和40% 左右的学生与工程相关。当前该校40% 的研究生和20% 的本科生来自工程学院。整个学院设有9 个系,提供多种交叉学科研究计划和高水准研究生培养计划。工程学院下属的计算机科学系成立于1965年,该系在人工智能、机器人、计算机科学基础、科学计算、系统工程等方向的研究具有重要国际影响,且侧重于基础研究,非常重视与其他学科(如遗传、生物、化学、建筑、制造等)的交叉研究。计算机科学系提供了科学硕士和哲学博士研究生培养计划[2]。
1.3 康奈尔大学(Cornell University)
该校的工程学院成立于1870 年,其研究方向包括:系统生物学与生物工程,纳米材料、设备与科学,能源、环境与可持续发展,信息、计算与通讯,先进材料,复杂系统与网络。工程学院下辖计算机科学、生物工程、信息科学等系和若干研究所。计算机科学系成立于1965 年,该系在人工智能、计算生物学、计算机体系结构与VLSI、数据库系统、图形学、程序设计语言、机器人、科学计算、安全、系统与网络、计算理论等方向的研究具有重要国际影响,提供了计算机科学方向的工程硕士(master of engineering)、科学硕士和哲学博士研究生培养计划[3]。
2 研究生培养的目标、过程与要求
2.1 培养理念与目标
卡内基·梅隆大学计算机科学方向的硕士生培养,旨在训练和提高学生在计算机科学方面研究与分析的能力,提高学生在数学、程序设计与逻辑推理方面的素养。博士生教育旨在把学生培养成相关领域的专家、创新者与领导者。
斯坦福大学认为工程师是从科学中获得发现、基于发现来求解问题、从而改变世界的一类人。斯坦福大学努力培养工程人员,使他们成为工程领域的先行者,理解问题求解的科学,同时理解人类、问题与系统。
康奈尔大学鼓励研究生去发现,激发其创新激情,并将其培养成具有深远影响力的领导者。它采用不拘一格、富有远见的方式来培养学生,鼓励学生从不同角度求解问题,使他们具有问题求解的坚韧与创新精神。
2.2 课程学习与要求
2.2.1 卡内基• 梅隆大学
要求所培养的研究生必须参与科学研究、具有良好的语言表达与交流能力、选修满足深度与广度要求的课程、参加必需的课程辅导或教学,其研究生培养方案充分考虑学生毕业5年后的职业需要,并且非常重视对学生问题求解能力与设计能力的培养。
对于大学计算机科学方向的科学硕士而言,培养完全基于课程学习,没有相关的科研要求。硕士生可以结合自己选定的专业方向,根据导师的建议,形成自己的选修课程列表。其课程学习必须满足以下6 个方面的要求:
(1)资格课程(qualifying courses)。必须通过计算机科学系开设的96个单元(units)的课程学习,通常一门课程是12 个单元,因此必须学习至少8 门资格课程。
(2)自由选修12个单元的课程。
(3)满足系统方向的广度要求(systems breadth requirement),学生必须通过系统课程列表中的一门课程。
(4)满足理论基础方向的广度要求(theoretical foundations breadth requirement), 学生必须通过理论基础课程列表中的一门课程。
(5)满足人工智能方向的广度要求(artificial Intelligence breadth requirement),学生必须通过人工智能课程列表中的一门课程。
(6)成绩要求,所选课程的成绩必须在C以上且课程学习的综合评定值(GPA)必须在3.0以上。
博士研究生要求完成96个单元的课程学习,即大致需要学习8 门课程。其中,必须在以下5个方向各选修至少一门课程,完成60 个课程单元,从而满足课程学习的广度要求。这些方向包括:算法及复杂性(含算法、复杂性理论)、人工智能(含高级人工智能概念、机器学习、规划、执行与学习)、计算机系统(含计算机体系结构、用于现代体系结构的优化编译器)、程序设计语言(含程序设计语言的类型系统、程序设计语言的语义)、软件系统(含高级操作系统与分布式系统、组网)。此外,博士研究生还必须学习36个单元的选修课程,约3门课程,其中24个单元的课程必须来自于计算机科学系开设的研究生课程。
2.2.2 斯坦福大学
要求所培养的研究生在课程学习方面必须满足深度和广度要求,并提供了多种支持课程深度学习的方案供学生选择,对博士研究生的课程学习要求很高,不仅要求其获得足够数量的学分,还对每门课程的成绩也提出了很高的要求。
对于计算机科学专业的科学硕士而言,要求根据其专业方向选择并完成45 个单元的课程学习,一门课程通常对应3 个单元,因此大约需要学习15 门课程。课程学习不但要满足广度要求,而且45 个单元的课程中必须有36 个单元的课程具有分数等级成绩,且课程学习的GPA 要求在3.0 以上,只有这样才有资格申请硕士学位。计算机科学系提供了两种方式让学生达到课程学习的深度要求。第一种方式是单一深度(single depth),即允许学生选择某个方向,并至少完成该方向上27 个单元的课程学习,同时至少完成其他方向上3 个单元的课程学习。第二种方式是双向深度(dual depth),即允许学生选择两个专业方向,其中主专业方向深段(primary depth)要求学生至少学习21 个单元的课程;次专业方向深度(secondary depth)要求学生至少需要完成15 个单元(即5 门课程)的学习。
博士研究生必须完成135个课程单元的学习。全年共分4个学期,要求每个学期学习9~10个课程单元。研究生在其他方面获得的学分可纳入学分计算范畴,但限定该部分不超过45个课程单元。博士生所学课程必须来自至少4 位不同教师的讲授。其中,有两门课程对每位博士研究生而言是必选的:一门是介绍每位教授的研究方向的研讨课程CS300,另一门是介绍高级阅读与研究的课程CS499。博士研究生所选课程还必须满足广度要求,必须覆盖以下3 个领域:数学与理论基础(含算法分析、自动机与形式语言、数值分析与凸优化、逻辑)、计算机系统(含计算机体系结构、编译器、网络、程序设计语言、软件系统)、人工智能及应用(含人工智能、计算生物学、计算机网络与安全、数据库、图形学、人机交互)。每个领域必须覆盖其中的两个子领域,同时要求成绩在A- 以上,以确保学生具有足够的计算机科学方面的知识。
2.2.3 康奈尔大学
要求所培养的研究生在课程学习方面必须满足深度与广度要求,对学生的课程学习成绩、综合评定值及其通过课程学习应获得的研究能力提出了明确的要求。
要求计算机科学方向的科学硕士在4个学期的时间内必须获得34个学分。其中14个学分必须通过计入最终成绩的课程作业来获得,论文研究为6~12个学分且要求成绩在B 以上,需要选修非计算机类课程2~3 门,限定一个学期不超过12个学分。学生要获得科学硕士学位必须满足所有课程成绩在C以上且GPA在3.0以上。
博士生培养注重学习的广度和深度,课程学习要求如下:
(1)能力要求。学生必须学习以下系列课程以展示其在计算机科学方向的基本能力,具体包括人工智能类课程、程序设计语言类课程、系统类课程和理论类课程。
(2)广度要求。博士研究生必须选修5 门6000 级课程,这些课程必须覆盖4 个不同领域且具备3 种不同的研究风格。这些领域包括算法与计算理论;人工智能(含机器人、计算机视觉、自然语言处理、信息组织与检索、机器学习);系统(含并发、并行计算、网络、分布计算、数据管理);程序设计语言与方法学(含应用逻辑学、自动机推理、编译);科学计算与应用(含图形学与计算生物学)。3 种研究风格包括理论类研究风格,即通过构造形式化的模型来实现基于数学证明的验证;系统类研究风格,即如何改进和提升计算系统与平台,使之更快、更可靠、更安全;应用类研究风格,即开发新的方法使计算机能求解感兴趣的问题。此外,还要求博士生必须在其第一年或第二年的每个学期至少学习两门课程,并且要求课程成绩在B 以上。
2.3 培养过程与考核
2.3.1 卡内基·梅隆大学
要求计算机科学方向的博士学位论文必须具有创新性的重要研究成果,以表明博士研究生具备在计算机科学的某个专业领域从事高水平科研工作的能力。博士研究生的培养涉及以下几个重要的环节。
学院必须为每位博士研究生成立一个博士生指导委员会。该委员会主席由博士生导师担任,成员包括一名计算机科学系的老师、两名计算机科学学院的老师。博士生指导委员会必须定期与博士生开展讨论,以确保其博士学位论文的研究处于正确的方向,并且必须有3名指导委员会的成员(包括主席)参加该博士生学位论文的开题与答辩。
博士研究生必须向博士生指导委员会提交一份书面的开题报告(thesis proposal),并完成口头的开题陈述。开题报告必须阐明和解释以下几个方面的内容:
(1)论文的基本思想,包括欲解决的问题及其求解方法;
(2)博士论文的意义与价值;
(3)预期的研究结果;
(4)阐明在有限时间内可以获得预期结果;
(5)阐明本人有能力完成博士学位论文工作。
一旦通过开题报告,博士研究生就进入博士学位论文的研究阶段,这个阶段的时间可以长达10年,并且允许博士研究生暂时性地离开学校,然后再返回学校继续攻读博士学位。
在博士学位论文答辩的6周之前,参加博士学位论文答辩的成员必须收到学生的博士学位论文,并对其进行评价。博士学位论文答辩的口头报告时间是45分钟,随后进入提问与回答环节。这个环节的时间不确定,取决于实际情况的需要。论文答辩的结果有以下几种情况:
(1)同意通过论文答辩且无需修改论文;
(2)同意通过论文答辩,但需要小规模的修改,修改后只需导师认可;
(3)大规模修改,且重新提交后需要获得所有答辩委员的认可;
(4)不同意通过论文答辩。
2.3.2 斯坦福大学
计算机科学系博士研究生的学习期限是5年。在第一学年,学校为其提供了一个研究轮换计划(research rotation program),要求博士研究生在多个研究项目组之间轮流开展研究。研究形式多种多样,比如完成一个项目、帮助项目组成员开展工作等。目的是帮助学生尽早开展科学研究工作,掌握不同研究小组所需的研究技能,深入理解什么样的研究方向是他们所期望的,同时帮助学生选择博士学习阶段的指导教师。
在第二学年末,当学生满足所有课程的学习要求后,可申请博士生资格。如果导师认可并获得学校通过,则意味着学生获得了学校的博士生学习资格。博士研究生必须在第三年末之前通过资格考试(qualifying examination)。资格考试旨在考核学生掌握知识的深度以及在所从事研究领域的专业程度。每位学生只有两次参加资格考试的机会。没有通过考试意味着学生的研究没有取得足够的进展,因而将终止其博士生学习计划。资格考试是整个学校对博士生的要求,学生需要认真对待和准备。其考试形式多样,每年不固定,可以是在教室中的书面考试、带回家做的书面考试、口头考试、书面作业,或者以上几种形式的组合。
通过资格考试的学生可以在所选定的领域准备其博士学位论文研究,并选定一位老师作为其论文导师,成立一个学位论文阅读委员会(dissertation reading committee),该委员会主要由博士生的导师和其他两名成员组成。计算机科学系将与学生的导师一起,每年检查学生的研究工作进度和取得的关键成果。在毕业前9个月,学生必须向学位论文阅读委员会口头汇报其论文情况(oral thesis proposal),委员会必须就其论文情况提出建议,以帮助学生完成高质量的博士学位论文。
博士研究生的博士学位论文答辩委员会成员至少需要5人,其中一人是学生的导师,另外4人是系学术委员会成员,通常学位论文阅读委员会成员同时担任答辩委员会成员,答辩委员会主席由学生本人指定。答辩报告大约需要1 小时,随后是大约3小时的提问与回答环节。
2.3.3 康奈尔大学
计算机科学系的博士生前两个学期的主要任务是课程学习、参加研究小组讨论、参与研究项目等活动,旨在更好地了解计算机科学系的各位老师及其研究方向。在第一学年末,学生需要选择一个特定的研究领域作为其研究方向。学校将基于学生的研究兴趣和方向为其成立一个专门委员会以指导其博士学位论文的研究。该委员会由1 名主席和两位以上的成员组成。委员会主席及其成员的研究方向必须与博士生的研究方向相关。随后委员会将听取学生的口头汇报,内容涉及其在所选领域的初步研究情况,目的是评估学生是否有能力开展创新性的、具有博士生水准的研究工作。
第三学年,博士研究生在满足所有能力要求的前提下,需要参加由其专门委员会组织的A类考试,也称博士研究资格考试(admission to candidacy exam)。A 类考试的内容由指导委员会决定,并事先与学生讨论。考试采用口头考试的形式,要求学生介绍博士论文欲解决的问题以及初步的研究成果,或者系统介绍相关领域的整体研究情况。基于A 类考试,指导委员会可以对学生的科研能力进行评估。博士研究生必须在第七学期结束之前通过A 类考试。博士研究生在完成博士学位论文之后需要参加B 类考试,也就是博士学位论文答辩。
3 3所大学研究生教育的共同认知与方法
3所大学都是高水平的国际一流研究型大学,具有国际一流的师资队伍和优秀的生源,都非常重视多学科交叉研究,在计算机科学与技术的若干领域均处于国际领先水平。虽然它们在研究生培养的细节上存在差异,但是它们在研究生培养的认识、手段、过程与方法等方面也有许多共同的地方,具体体现如下。
(1)非常重视研究生参与科学研究。3 所学校均认为博士研究生的根本任务之一就是参加科学研究,形成高水平的博士学位论文。有的甚至让学生一入校就开始科学研究,为此学校提供了许多途径来促进学生参加科研,如加入研究轮换计划、参加不同课题组的科研活动、听取不同的教授介绍其科研方向等。
(2)对新入学和将离校的学生提供支持。3所学校通过开设相关课程,如卡内基·梅隆大学的入门课程(immigration course)、斯坦福大学的CS300 课程等,课程老师向新入学的博士研究生介绍院系的老师及其研究方向,并把学生介绍给相应的课题研究小组,帮助学生找到适合他的导师,并让学生熟悉学校中的各种计算设施与环境。卡内基• 梅隆大学还设置了出口课程(emigration course),主要满足博士研究生未来职业发展的需要,围绕工作、现实世界、薪酬、道德伦理和交流等问题,通过一系列研讨,帮助博士研究生应对未来寻找工作和确定职业将面临的挑战。
(3)强调学生的写作、交流和科研能力。3所学校在培养方案中对学生的写作和交流能力提出了明确的要求。斯坦福大学还专门开设了相应的课程, 如CS499(Advanced Reading & Research),并要求学生必须选修以提高其阅读、写作和科研能力。
(4)强调博士生参与课程教学与辅导。3 所学校将博士生参与教学并获得相应的实践作为博士研究阶段必须开展的一项工作。卡内基• 梅隆大学和康奈尔大学均要求学生至少当二次TA(teaching assistant )。斯坦福大学要求博士生在其学习期间必须承担课程助理(course assistant)或教学兼职(teaching fellow),且获得4个单元学分。一个单元学分的教学任务是指在一个学期中每周投入10小时进行课程教学或辅导。此外学校还设计了一些激励措施来鼓励博士生参与课程教学与辅导,如斯坦福大学为担任教学辅导且成绩突出的博士研究生颁发教学荣誉证书。
(5)对课程学习的广度和深度要求。3所学校均非常重视研究生的课程学习,不仅对学习课程的数量、学习成绩有要求,而且对课程选修的广度和深度也提出了明确、具体的要求,并将其作为进入科学研究阶段的基础和前提。实际上,3所学校的博士研究生均需要选修8~10门左右的课程。
(6)强调研究生培养的灵活性与个性化。虽然3 所学校均制定了具体、详实的研究生培养方案,如明确了课程选修的广度和深度要求,但是他们更强调研究生培养的灵活性与个性化。例如,培养方案很少限定必须选修哪门课程,而是给定范围或约束;入学时给研究生开设入学课程,帮助学生了解各位老师的研究情况,帮助学生根据兴趣选择导师和方向,具体选修的课程由学生和导师共同选定。
(7)为研究生成立指导委员会。为了更好地指导研究生开展科学研究并撰写学位论文,3所学校均采用了成立博士研究生指导委员会的组织方式,通过与博士研究生的定期交流,参与到博士研究生学位论文研究的关键里程碑活动(如开题、答辩等)中。
4 启示与建议
(1)确保课程学习的广度和深入要求,并提供足够的灵活性。对研究生的课程学分要求应适中。一方面,加大每门课程的授课力度和强度,防止研究生仅仅为了学分而学习课程;另一方面,在满足广度和深度要求的基础上,应给研究生课程学习提供足够的灵活性,以满足其个性化学习的需求。
(2)课程设置要体现学科的特色与优势,为课题研究奠定基础。课程设置要充分反映院系在相关学科方向上的研究特色与优势,争取将每门研究生课程开设为相关方向的精品课程。要重视课程内容的先进性和知识的深入、扎实程度,在课程讲授中强化对科研能力的培养,尽可能满足研究生课题研究的需要。同时,课程开设要有一定的前瞻性,充分考虑学生未来就业和任职岗位的需要。
(3)开设强化科研能力培养的专门课程,提高写作与交流能力。结合各个学科及专业方向的特点,可以考虑开设专门致力于提高研究生科研能力的课程,通过类似于系列讲座的形式,为学生提供有关研究方向、论文写作、文献查阅、学术交流、研究方法等方面的学习内容,帮助学生能够尽快进入研究状态,掌握开展科学研究的基本技能、方法和工具。
(4)强化并激励研究生参与教辅活动,提高他们参与教辅的工作要求。对研究生投入教辅的次数与工作量提出明确的要求,充分发挥他们作为教辅人员在课程教学中的作用,制定相关的措施来激励研究生参与教辅,并对优秀的教辅给予奖励。
(5)博士研究生指导委员会值得借鉴,实现全程集体学术指导。针对每位博士研究生的特点,成立一个包含导师在内的专门的指导委员会,依靠该组织对博士研究生实施全程集体学术指导,并对博士学位论文水平把关。
(6)培养方案力求内容简洁,确保执行时可操作性强。研究生培养方案只陈述与研究生培养必不可少的内容,力求简洁;同时培养方案中的每项内容应该易于执行和检验,确保其可操作性强。
参考文献:
[1] Computer Science Department of Carnegie Mellon University[EB/OL]. (2014-07-06)[2014-08-18]. http://www.csd.cs.cmu.edu/.
[2] Computer Science Department of Stanford University[EB/OL].(2014-07-06)[2014-08-18]. http://cs.stanford.edu/.
[3] Computer Science Department of Cornell University[EB/OL].(2014-07-06)[2014-08-18]. http://www.cs.cornell.edu/.
第一作者简介:毛新军,男,教授,研究方向为软件工程、Agent 软件技术,xjmao@nudt.edu.cn。
(本文详见2015年第19期)