创新型计算机专业研究生培养课程教学改革与探索


  摘要:如何改变传统的讲授方式、增强课程教学的研究性,培养学生创新思维,是近年来研究生课程教学的热点问题。针对我国计算机专业研究生创新能力不足问题,从课程教学的角度探讨高质量、创新型计算机专业人才的培养。以软件工程类研究生课程为例,介绍我们近年来在研究性课程教学方面的一些探索与实践。实践表明,以专题报告为切入点的研究性教学改革有利于学生探索新领域、培养团队合作精神、提高学术报告的技能,为将来进一步从事科学研究打下了良好的基础。
  关键词:教学质量;教学改革;研究性教学;研究生培养;软件工程
  
  刚刚公布的我国《国家中长期教育改革和发展规划纲要(2010—2020年)》征求意见稿指出,到2020,基本实现教育现代化,基本形成学习型社会,进入人力资源强国行列。从1998年开始,我国高等教育进行了一系列重大的改革,高等教育招生数和在校生规模持续增加。2008年全国各类高等教育总规模达到2907万人,高等教育毛入学率达到23.3%,在校研究生规模达到128.30万,其中博士生23.66万人,硕士生104.64万人[1]。我国已进入国际公认的高等教育大众化阶段。研究生将是创新型国家社会和经济建设的主要力量。
  1我国计算机专业研究生课程教学的问题与现状
  我国已是本科生教育强国和研究生教育大国[2]。但是,与西方发达国家相比,研究生创新能力还有很大的差距。目前,我国大部分高校的研究生课程教学仍然采用类似本科生课程的教学模式。教学方式上,基本沿袭了“老师讲,学生听”的传统讲授方式;教学内容上,依然比较陈旧,缺乏学科前沿的最新发展;考核方式上,仍然采用传统标准化考试方式。到目前为止,尽管不存在关于创新人才的统一定义,但一般认为创新型人才应该具备如下几个创新性思维能力,包括敏感性、流畅性、灵活性、独创性和洞察性。当前的研究生课程教学模式,不利于研究生创新能力的培养,具体表现为如下几个方面:1)缺乏科学研究需要的批判性;2)缺乏开拓新领域的潜力;3)缺乏科技文献查找与学术评价能力;4)不利于团队合作精神的培养;5)学术表达与交流能力的不足。因此,如何提高研究生的创新能力是我国当前研究生培养面临的一个主要问题。
  近年来,笔者有幸观摩或参与了我国香港地区、澳大利亚和荷兰高校软件工程类课程的教学,曾撰文介绍其教学模式[3-4]。
  通过比较,我们发现提高研究生的培养质量牵涉到教育制度、学术环境、师资力量、教学手段等多个方面。本文从课程教学的角度,着重讨论研究生的创新能力的培养,介绍我们在这方面的初步探索与实践,以求争鸣。
  2面向高质量研究生培养的课程教学改革的思考与探索
  我们认为,研究生创新能力培养应该从如下几个方面着手。
  教学内容的前沿性:教学大纲应该尽可能涵盖学科的前沿发展。如果学生对本学科的前沿都不了解,就根本谈不上创新。
  培养学生对教学内容的批判性接受:科学创新的本质是对科学问题的质疑和求解过程,培养学生批判性思维是关键。
  培养学生自主学习的能力:课堂教学学时有限,不可能讲授学科的全部内容。因此,创新能力一个重要表现在于能否根据现有的知识与能力,探索和理解新领域。
  培养学生团队合作的精神:现代社会中大型复杂的科技问题的解决需要团队合作才能完成。如何在教学中培养学生团队的意识与精神,是研究生课程教学中应该思考的问题。
  培养学生表达和交流能力:学术创新首先要求能够合适地表达自己的想法,并得到别人的认可。如何提供学术交流的机会,培养学生的表达能力,是研究生进一步走向学术成功的关键问题。
  为了实现上述创新能力的培养目标,研究生课程教学实施过程中应注重如下几个关键环节。
  教学定位方面:掌握本学科的经典理论,了解学科发展趋势,具备进一步从事本学科研究的基本素质与能力。
  教学内容方面:选择国际权威学者的专著为教材;力求反映学科最新的技术发展,突出重点;多讲学科研究成果的来龙去脉,少讲具体的细节。
  授课手段方面:多组织学术讨论,特别是针对现有技术或方法进行批判性讨论,激发新思维;增加前沿性专题研究,让学生做报告,培养自主学习能力、文献检索能力、表达能力和评价能力。
  课程考核方面:摒弃传统的标准化考试方式,采用课程论文、专题报告、案例分析等形式,以课堂学习的知识框架为基础,探讨某个新兴领域的具体问题。
  任课教师组织与安排方面:尽量选择在相关学科上有研究经验的教师任教,并配备高质量的教学助理。
  3引入专题报告的研究性软件工程课程教学改革实践
  从课程教学的角度看来,如何实施研究性课程教学是创新型研究生培养的关键。专题报告是一个很好的切入点,它改变了传统的教学模式,让学生和教师共同探讨本学科的最新进展。以软件工程类研究生课程的教学改革为例,介绍如何在研究生课程教学中引入专题报告,培养学生诸多创新思维能力,讨论实施过程中学生的反映及其相关问题。
  3.1博士生课程软件测试理论与自动化教学实践
  软件测试理论与自动化是北京科技大学计算机科学与技术专业博士生选修课程。课程的教学目标定位为:通过本课程的学习,学生应掌握软件测试的概念、技术、过程和工具;了解如何实施软件测试,怎样进行质量保证活动;为进一步从事相关领域的研究奠定基础。由于没有合适的教科书,我们推荐了几本软件测试专著和10多篇软件测试论文作为课程教学的参考资料,并在教学内容、授课手段和课程考核等多方面进行了研究性教学改革尝试。
  本课程共计36学时,图1列出了不同教学手段的学时分配。除了教师授课外,还增加了专题报告、讨论与实践、开放问题讨论等教学手段。教师授课由教师主讲软件测试的基本概念与原理、软件测试技术、软件测试过程、软件测试工具和软件测试管理。着重分析各种测试技术的基本思想,通过例子讨论其在实践中的应用,学生应掌握常见的测试技术和支持工具。专题报告就某个软件测试问题或新测试技术进行专题研究,包括陈述问题,归纳、分析和比较已有研究成果,评价和结论。讨论与实践针对一些典型的测试技术进行深入的讨论,分析其优缺点,并尝试这些测试技术。本课程设置了2个软件测试研究问题和7个软件测试实践问题。开放问题讨论就软件测试领域一些尚未完全解决的问题或新型应用程序的测试问题展开讨论。专题报告、讨论与实践、开放问题讨论均属于研究性的教学环节,共16学时,占总学时的45%。
  图1软件测试理论与自动化课程
  学时分配情况
  在2009-2010年度秋学期课程讲授中,选择并安排了5个软件测试方面专题报告。考虑到选课的学生较少,其中3个专题由教师完成,2个专题由学生完成。专题报告按照非正式学术报告会(Seminar)的模式进行。具体说来,4个学生构成一个报告小组,其中一人担任组长,负责专题报告的分工与协调。每组报告按照70分钟准备,组长用10分钟的时间阐明报告的主要内容、分工情况和总结,其他3位同学每人用20分钟报告各自的研究内容。20分钟留给其他同学提问与讨论。在专题报告中,教师担任专题讨论的主席,引导提问和讨论,必要时给予点评。
  本课程的考核摒弃了传统的考试形式。具体说来,平时成绩占总成绩的40%,评分依据是学生在专题报告和讨论与实践环节中的表现;期末成绩占总成绩的60%,要求学生提交一篇课程论文。课程论文以技术评论的形式,论述软件测试领域新技术、新方法或新工具,以及对软件测试实践的指导作用。