数据结构与算法设计课程国际化建设研究

时间:2022-10-16 04:42:07

数据结构与算法设计课程国际化建设研究

摘要:针对如何缩小数据结构与算法类课程教学在教学手段和效果方面与国际一流大学之间差距的问题,介绍一线教师在国外从事科研和参加培训期间所观察和学习到的国际一流大学在课程教学中所采用的研讨和互动式教学经验,通过分析中美学生在提出问题和参与讨论方面表现差异的原因,提出促进中国学生在课堂上主动发言和参与研讨的一些方式和方法并讨论如何结合教学实践,针对中国学生的特点,探索引导学生提出问题、参与讨论,从而培养学生在立题、思辨和协作方面能力的进展情况。

关键词:数据结构预算法;国际化;互动式教学

文章编号:1672-5913(2013)18-0058-04

中图分类号:G642

0 引言

通过观察和对比,国际一流大学学生参与课堂发言和课后研讨的积极性要远远高于复旦大学学生,而参与研讨对于促进学生深入理解课程内容,培养学生在立题、思辨和协作方面的能力十分有益。为此,复旦大学软件学院开展了数据结构与算法设计类课程国际化建设工作,主要目标是研究如何在课堂教学中采用研讨型方式,在实验环节中采用协作型项目,并针对中国学生的特点,探索如何引导学生提出问题和参与讨论,以提高课程教学效果,缩小与国际一流大学差距的教学方法。课程建设教师团队的主要人员首先通过全程旁听美国麻省理工学院数门相同或类似的课程,认识与国际一流大学在教学手段和效果方面差距的同时,分析中美学生在提出问题、参与讨论方面表现差异的原因。然后通过与学生座谈方式收集整理中国学生不愿意在课堂上发言和参与研讨的主要原因和相应对策。最后介绍复旦大学软件学院根据课程国际化教学课题的研究成果进行教学方式调整和开展课堂教学实践的情况。

1 麻省理工学院在课程教学中促进学生参与研讨的先进经验

在开展数据结构与算法设计课程国际化建设过程中,课程建设教师团队的主要人员利用在美国麻省理工学院(MIT)参与研究工作的机会,在一年内全程旁听了Design and Analysis ofAlgorithms、Web 3.0、Economics 0f Information、Software Construction 4门课程,并且参加了MIT的IFF(International Faculty Fellow)国际大学教师培训项目。IFF是由MIT发起组织的、致力于提高国外高等院校教师的科研能力、培养研究生水平和授课技能的项目。在上述过程中,教师团队人员对于MIT在促进学生参与课程相关内容研讨方面的举措印象深刻,并将值得借鉴的教学方式和方法进行了归纳。

(1)学生参与课程相关内容的讨论需要相关知识的准备,只有将相关知识积累到一定的程度,学生才会自然而然地愿意对相关问题进行讨论,而课程教材和课堂讲义对知识积累是远远不够的。MIT在课程开始时就由任课教师提供课程相关的文献阅读列表,阅读完这些文献所需要的时间大约为课程授课时间的3倍左右。对比复旦大学类似课程的文献阅读要求,发现中国学生在完成课程相关文献阅读量方面远远少于国际一流大学的学生。

(2)每一门课程除了提供网站用于下载课程相关的资料外,还有课程的BLOG便于学生和教师在线交流。利用这样的系统,教师往往规定在课程授课期间,学生至少针对数个课题(完成相关文献的阅读后)在BLOG上发表自己的观点。由此促进学生围绕相关课题开展讨论,这样的方式也为那些不太愿意在众人面前发言的学生提供阐述自己观点的机会。

(3)MIT的教室一般都是阶梯教室,这样既可以让每一位学生能够清楚地看到任课教师各种面部和身体语言,也使授课教师能够看到所有的学生,时刻了解学生对课堂内容的各种反馈。学生座位之间留有通道,授课时教师会在整个教室里走动,确保能够走近每一位学生的身旁,让每一位学生感受关注和重视,这样也让学生感到亲切随和。实践表明,这样做更能让学生畅所欲言。

(4)教学内容融合任课教师的研究成果。任课教师对于自身的研究内容一般都有较深的认识和理解(甚至有些理论和技术是世界首创),讲解过程中能够广征博引,相关难点都能够娓娓道来,所以往往更为生动有趣,可以激发学生的提问热情和学习兴趣。教师只有在相关领域内具备一定的科研水平才能更好地讲授相应的课程内容。

(5)在讲解有关技术内容时,会邀请业界一些著名人物走进课堂为学生讲解其擅长的话题。以MIT互联网方面的课程为例,任课教师会请IBM、Google、Microsoft等著名科技公司副总裁或技术总监级别的人物为学生讲一堂课(有时是远程视频连线,教室配有大屏幕高清投影和高速网络),之后一般设有学生提问环节。这样的课程很受学生欢迎,学生提问也非常踊跃。

综上所述,在课程开始前精心为学生挑选各章节相关的阅读文献(分为必读和选读部分)、建设课程BLOG促进师生间交流、将研究内容融入课程内容等教学方式和方法都值得借鉴,并且通过一段时间的准备加以实施。但是中国学生不愿意上课发言和参与研讨也有其成长环境中文化背景的影响,例如,追求标准答案的应试教育、谨守中庸之道处事态度等。而美国学生从小就让他们不断地进行发言和表达的训练,从幼儿园开始,每天都会让小孩子轮流讲一下昨天发生的事情。参加各种活动和社团也是如此,久而久之,养成了愿意并且善于表达自己观点的习惯。所以对于我们的学生,不仅要营造让其发言的环境和气氛,也需要有意识地利用各种机会培养他们发言的习惯。

2 学生不愿意在课堂上发言和参与研讨的主要原因及改进建议

课题组对两个班52名学生针对不愿意在课堂上发言和参与研讨的问题进行面谈,每位学生面谈时间为20~30分钟。学生不愿意在课堂上发言和参与讨论的主要原因可归纳为:害怕回答错误后造成对自己不利的影响(特别是教师随后会给出答案的情况)、没有养成积极发表自己观点的习惯(与成长的文化和环境有关)、担心积极发言后被别人说爱表现、课堂上没有能够很好地营造出各抒己见氛围。调查过程中同时也听取了学生对让他们能够积极主动发言的一些建议和意见,归纳为以下几点。

(1)讨论的问题应该是一些不存在对错的开放性问题。

(2)可以先由教师开题和启发,然后找到学生感兴趣的几点展开讨论。

(3)教师要营造随和的课堂气氛,需要有一个破冰的过程,让学生放松不害怕。

(4)可以采取分组讨论然后再由学生总结发言的方式。

(5)提出一些学生比较熟悉且有启发的问题比较容易让学生展开交流。

(6)发言和讨论适当增加一些平时成绩(但也有学生担心别人认为他为了成绩而发言,所以增加成绩的比重也不宜过高)。

(7)不要仅对一个学生提问,要求其他学生可以随时补充。

(8)对于有标准答案的问题,可以采取按座位顺序点名提问回答的方式。

综合以上学生的意见和建议,为了让学生积极参与课堂发言和研讨应当尽量营造轻松随意的课堂气氛,提出的问题也应是开放性的(即没有标准的答案),任课教师要善于引导和组织课堂讨论,在提出问题前给予必要的讲解和启发。

3 教学方式调整和课堂教学实践

通过借鉴国际一流大学和国内名师的先进教学经验,针对中国学生,特别就数据结构与算法设计课程的教学方式提出了一些方案和措施,并且进行了相应的课堂教学实践。虽然这些方案和措施还有待进一步完善和改进,但是课堂教学效果和学生参与研讨和发言的意愿明显提高。具体的方案和措施包括以下几个方面。

3.1 尝试诱导式、研讨式和互动式教学方式

任课教师要改进之前以灌输式知识传授的教学方式,尝试采用诱导式、研讨式和互动式教学方式。教学过程中一般首先给出实际的应用问题,然后要求学生尝试提出解决问题的算法,其他学生需对提出的方法进行评价,提出不足之处和改进方法,然后通过讨论这个算法的缺点,引出克服这个缺点的其他算法,最后对解决相同问题的不同算法进行比较和归纳。适当增加学生对相关重要文献的阅读量,并且根据阅读和调研结果进行课堂讨论。以NP完全性问题教学为例,由于学生还没有学习计算理论方面的课程,对于理解NP问题和NP完全性问题有一定的困难。首先任课教师介绍旅行商问题,接着让学生尝试寻找有效地求解算法,在教师引导下讨论得出结论:在现有计算机体系结构和运算能力的基础上,一定规模的旅行商问题目前不存在找到最优解的计算复杂性为多项式的算法;然后指出存在一类这样的问题,并且任取这类中的一个问题,再任取这类中的另一个问题,则一定存在多项式时间复杂性的算法,即可以把前者转变为后者。如果存在解决前者的多项式算法,必定存在能够解决后者的多项式算法;最后指出目前仍然没有找到多项式算法来解决这类问题,同时也不能证明这样的多项式算法不存在。为了让学生加深对上述问题的体会并且熟知典型的NP问题,将学生分成9组,每一组给出一对问题,其中一个属于P(多项式)问题,一个属于NP问题。要求学生调查这一对问题在应用中出现的实例和变体,然后设计可行的解决方法。并且要求每组以课堂演讲的方式向师生介绍他们的调查结果,听取报告的教师和学生可以随时进行提问,要求做报告的学生回答。教学实践表明,此举加深了学生对NP完全性问题的认识和理解。

3.2 从解决实际问题出发,培养学生提问和思辨的能力

对于每个知识单元,首先提出若干个实际应用中的问题,在提出可行的数据结构与算法前,引导学生进行讨论,并且提出自己的解决方案。通过分析学生所提出的各种方法,比较之前已学方法,归纳出新的数据结构与算法的特点和用途,最后在深入剖析和讨论的基础上进行扩展和综合。

3.3 借鉴国际一流大学的教学内容和方式,弥补与国际先进授课水平之间的差距

数据结构与算法设计课程的教学内容和方式借鉴了美国麻省理工学院的同名课程,并尝试进行诱导式、研讨式和互动式教学。课程的教材、讲义、作业、实践和考试全部使用英文,外教采用英语授课。将世界顶尖级学者撰写的经典著作Introduction to Algorithms作为课程的教材,并且根据中国学生的生活经历和背景文化,对部分案例进行相应的增补和改写。

3.4 以应用为导向,培养综合型人才

目前计算机学科方面的教学,一般从计算机基础知识和编程原理开始,经过若干中级课程,直至大学三、四年级,学生才可能涉足整个软件系统开发的全过程,这样往往造成“只见树木,不见森林”的情况。学生已经学习了构成软件系统所需的知识和技术,但是难以针对某一现实应用,将所学较好地综合起来。在大学低年级时,以完整系统开发和应用为目标,让学生在专业学习的早期就能够了解和体会实际应用的复杂性,掌握并实践综合集成各项技术的方法和手段。学生只有较早地了解整个软件系统的开发与应用,才能在今后创造性地综合运用所学,成为既有较高专业水平,又对现实应用有敏锐洞察能力的复合型人才。

3.5 以科研带动和促进教学,将最新技术的发展成果融入教学内容中

数据结构与算法的基本内容虽然相对稳定,但对已有数据结构与算法的扩展和结合,特别是解决新的应用方面的发展却日新月异,知识更新和演化速度较快。数据结构与算法设计课程组的教师在现有教材的理论体系和教学内容的基础上,及时了解和把握技术发展的新动向,将最新的理论创新和技术进步充实到教学内容中,每年都增补紧跟学科发展的新内容。此外,任课教师会指导学生参与自己的科研项目,或者推荐学生进入其他教师的实验室从事相关的科研活动。

这些方案和措施的实施,使得数据结构与算法设计课程能够在较短的时期内形成科研和教学并线、讲解和演示并重、理论和实践并行的特色。课题组教师不断用科学研究和国际学术交流的成果充实课程的内容,使课程能够充分体现目前算法理论和应用方面最新的发展和动向。在教学中始终坚持理论与实践相结合的原则,从经典案例引出科学问题,并强调对学生逻辑思维和动手能力的培养。

4 结语

课程的国际化不应该仅局限于使用全英文教材、双语或英语教学、聘请外籍教师等,关键在于教学内容、手段和效果达到国际一流大学相同或相关课程的水平。复旦大学软件学院的许多课程借鉴了MIT和Stanford等著名大学相似课程的内容和形式(如采用相同教材、强化实验教学等),但教学手段和效果方面(如研讨和互动式教学、综合实践、创新应用)仍有一定的差距,目前只能达到“形似”,而不能做到“神似”。做到“形似”较为容易,而要做到“神似”,还需要一个从修炼到提升、从量变到质变的艰苦过程。

任课教师利用在国外高校从事科研和参加培训的机会,感受到国外一流大学学生在参与课堂发言和课后研讨积极性方面与复旦大学学生的显著差距。针对这个问题,借助复旦大学课程国际化建设教学研究课题,开展了探索如何引导学生提出问题、参与讨论,从而培养学生在立题、思辨和协作方面能力的工作。课程建设教师团队通过借鉴国外一流大学的先进教学经验,分析总结本校学生不愿意在课堂上发言和参与研讨的主要原因,提出以下能够促进学生主动发言的一些方式和方法:推荐学生阅读一定量的课程相关文献、引入BLOG等交互方式以促进师生之间的交流、将教师的研究内容和成果融入课程内容、邀请业界一些著名人物走进课堂、尽量营造轻松随意的课堂气氛、尽可能让每一位学生感受到被关注、课堂提问大部分应当是没有标准答案的开放性的问题、指导本科生参与科研项目等。

上一篇:借助课外科技竞赛平台培养计算机专业学生创新... 下一篇:分层目标驱动法在计算机专业英语教学中的应用