教学方案与措施
发布时间: 2013-03-27 浏览次数: 15

近五年来,以郑骁庆博士为负责人的“数据结构与算法设计”教学队伍,在软件学院赵一鸣副院长的指导下,开展软件工程本科生的教学改革。本教学队伍借鉴国外计算机教学方法,准确把握“数据结构与算法设计”课程的“面向实际应用、突出动手能力、培养逻辑能力”的方针,引导本科生在低年级时较全面地了解计算机系统理论和技术,突破了国内传统计算机教学中,先基础后系统的教学模式。教学队伍不断跟踪国内外算法设计和应用方面的最新发展,就“数据结构与算法设计”课程提出了一系列行之有效的方案和措施:

1. 从解决实际问题出发,培养学生提问和思辩的能力。
对于每个知识单元,首先提出若干个实际应用中的问题,在提出可行的数据结构与算法前,引导学生进行讨论,并且提出自己的解决方案。通过分析学生所提出的各种方法,同时比较之前已学的方法,归纳出新的数据结构与算法的特点和用途,最后在深入剖析和讨论的基础上进行扩展和综合。针对中国学生的特点,探索如何引导学生提出问题、参与讨论,从而培养学生在立题、思辩和协作方面的能力。

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

3. 以科研带动和促进教学,将最新技术的发展成果融入到教学内容之中。
数据结构与算法的基本内容虽然相对稳定,但对已有数据结构与算法的扩展和结合,特别是解决新的应用方面的发展却日新月异,知识更新和演化速度很快。“数据结构与算法设计”课程组的老师不满足现有教材的理论体系和教学内容,及时了解和把握技术发展的新动向,将最新的理论创新和技术进步充实到教学内容之中,每年都有紧跟学科发展的新内容。

4. 理论知识与实践紧密结合,强调培养学生实际开发能力。
除了课堂讲解外,课程组还精心设计了8个实验和3个项目开发,要求学生独立完成。实验突出教学内容的重点和难点,让学生通过实验巩固课堂上所学知识,并通过实践体会和掌握技术细节。项目则侧重培养学生综合运用知识和独立解决问题的能力,并且训练学生通过实验来发现问题以及结合理论分析实验结果的能力。实验课配备1名教师和4位硕士研究生进行现场辅导,以便于及时帮助学生解决所遇到的问题。

5. 充分利用多媒体教学设备,为每一个知识点都配备实例进行演示和讲解。
“数据结构与算法设计”是一门既强调理论基础,又注重实践能力的课程。课程组为该课程从单一知识点到综合项目都准备了相应的实例,授课过程中利用多媒体教学设备,通过实例演示、讲解和分析,让学生以直观的方式快速掌握理论和技术要点。

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

这些方案和措施的实施,使得“数据结构与算法设计”这门课程能够在较短的时期内形成科研和教学并线、讲解和演示并重、理论和实践并行的独特优势和特色。这些方案和措施的实施,不仅让复旦大学软件学院“数据结构与算法设计”课程在教学上了新台阶,也为探索我国示范性软件学院的建设和人才培养做出了贡献。