张小刚
(塔里木大学 信息工程学院,新疆 阿拉尔 843300)
CDIO理念下的“数据结构”课程实践教学改进探索
张小刚
(塔里木大学信息工程学院,新疆阿拉尔843300)
摘要:“数据结构”课程是我校计算机专业重要课程之一,也是理论抽象程度较高的课程,数据结构实践教学对巩固和综合运用理论知识至关重要.本文通过国内外两所高校数据结构课程实践教学的比较,针对我校数据结构实践教学中存在的弊端,借鉴现代高等工程教育CDIO模式的理念,结合多年的教学实践经验,提出了“任务驱动”教学法来改进我校数据结构实践教学,提高学生对知识的综合运用能力.
关键词:数据结构;实践教学改进;任务驱动教学法
2015年9月我被国家留学基金委派往渥太华大学工程学院进行高等教育教学法研修,历时3个月.研修过程中,我对渥大电子工程与计算机学院数据结构课程进行了随堂听课,与我校数据结构课程教学比较后,发现国内我校学生综合运用数据结构及相关算法知识解决实际问题的能力明显不足,认为数据结构的实践教学部分很有必要进行改进.由于《数据结构》是计算机专业一门重要的专业技术基础课程,介于数学、计算机硬件和软件三者之间,涉及数据的逻辑结构、存储结构和操作实现、查找和排序技术,是非数值计算程序设计和编译程序、操作系统、数据系统及其他系统程序和大型应用程序的应用基础.该课程涉及面广,内容繁杂,一直被学生认为是一门难学、难懂的课程.通过研究分析,我们发现造成这种现象的原因主要集中在两点,一是数据结构及依附于其上的各种算法比较抽象,有一定的难度,理论课堂讲解过程中学生难以理解.二是由于现阶段国内数据结构课程以传授知识、利用伪代码描述数据结构为主,以一定的编程实践为辅的教学模式强调理论教学,导致实践环节不够,造成学生动手设计数据结构及算法并编程解决问题的能力较差.
现将国内我校与渥大电子工程与计算机学院数据结构课程实践教学环节进行比较.
1.1国内高校数据结构实践课程介绍
国内我校一般将数据结构上机实践操作分为两种方法,一种是课堂实验,包括为了掌握基本的教学内容和验证当前所学知识点的验证型实验和为了培养基本问题求解能力需要运用多个相关知识点解决问题的综合型实验;第二种是为了灵活运用所学知识解决实际问题的设计型实验(课程设计),课程设计一般放在教学内容完成后,单设课程设计实验课用两周时间来完成.
在国内高校日常教学中,课程实践一般都是布置针对本次课堂教学内容的小型练习题进行实验,让学生独立完成程序设计与实现.这样的实践主要存在两方面问题:第一,练习题所需要用到的知识点就是课堂教学刚讲授过的内容,学生只要直接拿来用就可以.这种实践是验证性的,比较简单直接,对学生自主性和创新性训练设计思想锻炼较少.第二,学生独自完成小型程序,虽然可以在一定程度上锻炼编程能力,但这个锻炼的层次和涉及面都比较窄.部分数据结构只有在处理大规模输入的复杂问题时才能体现出优势,编写小型程序很难使学生真正认识到该数据结构存在的意义[1].
1.2渥太华大学数据结构实践课程介绍
这次在加拿大渥太华大学进行教学法的学习,通过跟踪渥太华大学教授数据结构课程教学,发现他们对实践环节特别重视,实践课占到了总课程的一半以上.他们授课分为Lecture(32学时,主要集中在秋学期),Tutorial(讨论课,8周,8学时),Laboratory(随堂实验,32学时,大多在晚上,秋学期),Comprehensiveexperiment(四周时间,冬学期)等多种形式.
Lecture一般是教授讲课,类似与我们的课堂教学,十几个、几十个学生听.学生可以随时提出问题打断教授讲课,主要讲授基本原理和知识点.
Tutorial一般就是小组讨论,通常是由教学助理带领学生对Lecture里教授讲的东西进行讨论、学习,形式比较随意,气氛很好,学生发言很积极.
Laboratory就是实验课程,根据课程的不同在不同的实验室完成,数据结构主要在机房完成.实验课主要是由实验助理讲授实验内容,学生再根据要求完成实验,课堂上可以随时向助理提问,学生之间可以商量.
Comprehensiveexperiment就是课程设计,一般有四周时间,通常在实验室进行,时间段放在考试之前.实验室在学生实验时间全部开放,上班时间都可以去,直到实验完成得到实验助教的认可(实验助教每天下午去).综合实验课程一般由教授给出题目,要求学生根据兴趣进行自由分组,一般不超过4人,分组后学生进行讨论、分工,体现自己独立完成工作的基础上合作完成总任务,由实验助教打分认可,该成绩作为考试总成绩的一部分体现出来.
通过与国内数据结构课程实践教学的比较,发现渥太华大学工程学院教学过程中能充分发挥学生的主动性和创造性,这一点给我留下了很深的印象.通过借鉴他们的教学理念和教学思路,同时结合数据结构课程本身特点及国内我校学生的实际情况,就我校加强数据结构实践教学提出以下改进措施.
2.1借鉴CDIO理念加强实践课程设计
CDIO意思即构思(Conceive)、设计(Design)、实施(Implement)与运行(Operate),作为2000年以来兴起的一种新的工程人才培养理念,CDIO强调工程专业学生个人的综合知识运用和终身学习能力、团队合作和人际交往能力必须在真实的工程实践中锻炼和培养[2].基于当前工程教育中存在的重理论轻实践的现状,CDIO模式通过构思、设计、实施及运作过程来保证学生工程能力的培养,该工程能力包含学生的工程知识掌握能力、终生学习能力、团队合作交流能力和大系统掌控能力.
就教学方法而言,CDIO坚持把工程科学基础和工程专业知识紧密地揉合在一起进行教学,强调实践、强调设计、强调过程,通过这些训练,可使学生将所学知识和所需知识有机地融合在一起,全面地提高自己.实践设计要求必须加强实践环节的教学才能内化所学知识,加强实际解决问题能力的培养[3],因此,在CDIO理念的指导下,通过对以数据结构为核心的任务设计与实现过程的训练,可以培养学生综合运用所学数据结构以及程序设计等课程的知识、能力与方法,切实提高自己分析问题、任务建模、数据结构设计、算法设计、程序实现、调试测试等环节的水平与能力[4].
2.2引入“任务驱动”法进行数据结构综合实验
借鉴CDIO的实践设计理念,针对数据结构特点和综合实验综合运用的要求,采用“任务驱动”法设计综合实验课程.
“任务驱动”法就是将传统灌输式教学的以教师为主导的教学方式转变为以解决问题、完成任务为主的以学生为主的师生互动的教学方法,充分调动和发挥学生学习的主动性,要求每个学生根据自己的问题,运用所学的知识和自己的经验提出方案、解决问题[5].我们设计的任务驱动教学实践环节包括“提出任务-分解任务-完成任务-展示、评判-分析、探讨、修改”5个阶段.
第一阶段:提出任务.这部分教师给出任务背景,把本实验题目背景知识连同主要知识点提取出来,并融入到每个具体的任务中,教师一般只给任务书而不提供指导书.班级同学根据兴趣分成任务小组,以3-5人为一个分组,适当调整优势互补,分工合作,工作围绕这些任务的实施展开.提出的任务应与现实生活紧密相关,能充分调动学生的积极性.例如:停车场管理,超市收费模拟与分析、校园地图信息查询等任务.这一部分要注意“任务”的明确性和可操作性.
第二阶段:任务分解.学生通过分析分给自己的任务,了解任务的背景知识,所需知识点,规划解决任务的方案和步骤等.每一个任务小组要根据自己的研究任务制定研究方案,并将任务分配到个人,并做好研究准备工作.在此阶段教师以指导教师的身份出现,通过巡回指导观察学生操作情况.
第三阶段:完成任务.将整个小组的大任务根据人数分成多个小任务,并将具体任务模块化,小组内部对每个任务进行分析、研究、讨论,进行概括和总结,从中得出小组内部的结论,提出组内设计方案,并分给个人逐个完成,在完成过程中同学之间可以合作,学生完成这些任务的同时,无形中提高了他们的动手能力和合作精神.
第四阶段:展示、评判.学生在展示过程中应给出各种具体情况的测试案例,包括项目的准备、项目实施过程中遇到和解决的各种疑难问题、自己所负责模块的运行效果等等.展示方式可以是小论文、多媒体演示、实验报告、程序运行模块等,但应该包括任务内容(做什么),算法说明(怎么做),即为解决问题所需要用到的算法和重要的数据结构,测试结果(测试方法和结果),应列出不同算法在同一指标下的性能表现.应包括测试输入、测试目的、正确输出、实际输出、错误原因等等.
第五阶段:分析、探讨、修改.展示完成后,教师和别的小组的同学根据展示进行分析、讨论,给出评判和建议,学生根据评判和建议进行修改.这一部分除了对测试结果进行分析外,还要求学生不局限于题目要求使用的算法,探讨更多解决问题的途径,或者提出自己的见解,给出可能的改进算法建议.学生通过这一阶段工作可以了解自己及别的小组的任务完成情况,对比、分析,得到启迪,提高自己分析和解决问题的能力[6].
“数据结构”实践教学是该课程教学的重要组成部分,作者通过在渥太华大学工程学院跟班听课,发现与国外对比国内数据结构课程实践教学环节有所欠缺,尤其是实践设计环节偏少,导致学生动手设计数据结构及算法并解决实际问题能力较差.特此分析后,结合CDIO卓越工程师培养能力、知识、态度一体化,强调系统性、综合性、实践性与创新性相结合的理念,针对国内数据结构实践课程教学提出一种以“任务驱动”的小组合作实践设计教学模式.该模式从任务提出,任务分解,任务完成,任务展示、评判,任务分析、探讨、修改五个环节融合了任务驱动和小组合作方式,对引导学生自主学习、培养学习兴趣、提高“数据结构”课程实践教学效果具有促进作用.
参考文献:
〔1〕张铭,耿国华,陈卫卫,胡学钢.数据结构与算法课程教学实施方案[J].中国大学教学,2011(3):56-60.
〔2〕陶勇仿,商存惠.CDIO大纲对高等工科教育创新的启示[J].中国高教研究,2006(11):81-83.
〔3〕李曼丽.用历史解读CDIO及其应用前景[J].清华大学教育研究,29(5):78-86.
〔4〕教育部高等学校计算机科学与技术教学指导委员会.高等学校计算机科学与技术专业核心课程教学实施方案[M].北京:高等教育出版社,2009.
〔5〕陆静霞.任务驱动教学法的探索与实践—以数字电路实验教学为例[J].农机化研究,2006(4):218-219.
〔6〕陈越,何钦铭,冯雁.“数据结构”综合性课程设计教学探索与实践[J].计算机教育,2008(8):54-55.
中图分类号:TP311
文献标识码:A
文章编号:1673-260X(2016)05-0020-02
收稿日期:2016-02-06
基金项目:国家留学基金委2015(第5期)高等教育教学法出国研修项目(工程类)