融入CDIO理念的数据结构课程教学探索
2016-11-30李燕代仕芳苏杭丽
李燕++代仕芳++苏杭丽
摘 要: 数据结构课程的“教”和“学”均面临着理论知识如何与项目实践相融合的问题。文章基于目前工程教育领域兴起的CDIO理念,研究、探索以项目驱动的方式开展数据结构课程教学。提出分层组织教学内容、更新教学方法、拓展教学实践和重新制定考核标准等,将CDIO理念融入课程教学中,进而有效提高教学质量。
关键词: 数据结构; CDIO; 教学内容; 教学实践; 教学考核
中图分类号:G642 文献标志码:A 文章编号:1006-8228(2016)10-70-03
Exploration of the teaching of data structure course by integrating CDIO concept
Li Yan, Dai Shifang, Su Hangli
(College of Information and Engineering, Nanjing University of Finance and Economics, Nanjing, Jiangsu 210023, China)
Abstract: The same problem of how to integrate the theoretical knowledge with practical project exists in the "teaching" and "learning" of data structure course. On the basis of the CDIO concept which is rising in recent engineering education filed, the paper studies to carry out data structure course teaching of project driven. By hierarchically organizing teaching content, continually updating teaching method, greatly expanding teaching practice and reformulating assessment criteria, CDIO concept can be integrated into the teaching process, and then to improve the course teaching quality.
Key words: data structure; CDIO; teaching content; teaching practice; teaching assessment
0 引言
数据结构是信息技术相关专业一门重要的核心专业基础课程[1-2]。该课程理论性相对较强,很多抽象的概念、经典算法的描述以及相应算法效率的分析都增加了学生学习这门课程的难度。而且很多学生在学习完该门课程后,由于无法将其与实际的项目实践相结合,进而产生了所学知识无实用性的看法。
针对这一问题,高校的数据结构课程通常都配置了相应的实验课程环节以培养学生理论联系实际的能力。但在教学过程中发现,学生动手能力较差,实验环节的收效甚微。造成这种现状的原因可能与学生前期程序设计语言学习不够深入有一定的关系,但更主要的原因还是学生在目前的课堂教学下对数据结构理论知识的理解往往浮于表面不够透彻,做不到融会贯通、举一反三,进而导致理论与实践脱节。
CDIO是目前兴起的一种工程教育理念[3],它通过将产品研发的生命周期思想运用到工程类教学实践中,让学生以主动地、实践地方式学习工程知识,培养学生的专业基础能力、工程实践能力、团队协作能力以及综合应用能力。现今,CDIO理念已经被很多高校引入到了工程教学之中并取得了良好的成效[4-5]。
本文将探索在数据结构教学中融入CDIO理念,对现有的数据结构课程教学模式进行改进,重新组织教学内容和教学方式,改革教学实践设置和教学考核标准,使得学生通过“做中学”的方式在掌握课程理论知识的基础上,能够将所学知识灵活应用于实践,进而达到提高数据结构课程教学成效的最终目标。
1 教学中面临的问题
在实际的数据结构教学过程中,通常面临着一些具体问题。
⑴ 教学内容的抽象性。数据结构课程的教学内容涉及到线性表、栈、队列、树、图等多种逻辑结构,针对每一种具体的逻辑结构又分别介绍了相应的存储结构并在此基础上给出了许多算法的描述和效率分析。这些内容具有一定的抽象性,使得“教”和“学”均面临着很多的困难。
⑵ 教学方法的滞后性。目前在数据结构课程的教学过程中,主要采用的教学方法还是以教师为主导的知识灌输模式为主,忽略了学生的主体地位。即使在配置的实践课程中,通常都是在教师针对某一具体算法,给出相应的要求和实现步骤的前提下,让学生机械的编程去实现算法。这样的教学方法使得理论和实践产生脱节,很难调动学生学习的积极主动性,进而影响教学效果。
⑶ 考核方法的单一性。现在的数据结构课程考核方式大多还是以理论考试为主,这种过于单一的考核方式不仅无法全面反映实际的教学效果,还会直接导致学生对该课程学习兴趣的缺失。
2 融入CDIO理念的教学探索
CDIO是由麻省理工学院和瑞典皇家工学院等四所高校经过四年的研究而创立的一种工程教育理念,其中:C(Conceive)表示构思,D(Design)表示设计,
I(Implement)表示实现,而O(Operate)则表示运作。该理念的核心在于,在工程实践过程中让学生以积极主动的方式学习专业基础知识,力求达到理论与实践的完美融合。鉴于上述数据结构教学中所面临的各项问题,在课程教学实践中多方位的融入CDIO理念,必定可以有效提升整体的教学效果。
2.1 分层次的教学内容组织
数据结构课程的教学内容主要可以分为两大部分,即基本数据结构的描述和数据结构的应用。具体而言,第一大部分主要是对线性结构(包括线性表、栈、队列、串)、介于线性和非线性之间的结构(数组和广义表)以及非线性结构(树和图)的介绍。这一部分所涉及的一些内容比较抽象,实际教学中发现学生容易混淆相关概念,对算法的理解和分析不够到位,且很难将算法转化为可执行代码进而影响着理论知识在实践中的应用。第二大部分的内容是基于基本数据结构,以不同的方式实现查找和排序这两种最常用功能。如果前期的基础不够牢固,则这一部分知识的学习同样存在困难。
为此,基于CDIO理念,本文首先构思以实际项目为驱动对教学内容进行分层组织。对于基本数据结构,首先设计出具有针对性的实践项目,然后从中抽象出解决项目问题所用到的数学模型进而归纳到一类具体的逻辑结构上。在此基础上,详细介绍逻辑结构的基本概念、如何实现其在计算机中的存储(也即存储结构)以及一些基本操作的实现和性能分析。最后,基于介绍的理论知识,对最初提出的实践项目进行编程实现。对于查找和排序这两类基本操作,由于它们在很多实际项目中经常会被用到,因此,在设计实践项目时将突出对这两类操作的要求,以项目的实际需求去推动学生对这部分知识的学习。
以项目为引导的分层次的教学内容组织,不仅使得学生对在数据结构这门课程中所学的理论知识脉络有了更为清晰的认识,而且在项目的驱动下,学生在学习的时候将更具有主动性、针对性和目标性,因而对数据结构的教学效果提升具有积极的推动作用。
2.2 创新性的教学实践拓展
在以项目为驱动对教学内容进行重新组织的基础上,本文还提出通过创新性的教学实践来拓展,有效的实现“做中学”,使得CDIO理念能真正融入至数据结构课程教学中。
目前的数据结构教学中,最常用的实践方式是通过设置对应的实践课程指导学生将所学理论知识在编程实践中进行应用。但是该方式一方面实践程度不够深入,另一方面仅凭授课教师一人的指导覆盖面不够广。因此,在我们的研究探索中,首先考虑将本科毕业生的毕业设计与数据结构课程的教学实践联系起来。作为计算机相关专业的本科毕业生,在大四毕业时通常需要在老师的指导下独立完成一项工程类的毕业设计,而其中很多学生的毕设选题会应用到数据结构中的相关知识。在这种情况下,可以将正在学习数据结构课程的低年级本科生进行分组后与大四学生进行学习对接,参与到毕业项目的设计环节中去。这种方式不仅可以让高年级的学生引导低年级学生顺利进入到项目实践中去避免他们刚接触到项目时的迷惘,同时也使得高年级的学生通过这样的结对增强自己的团队合作意识。
除上述方式外,通过与公司的合作使学生参与到企业的项目实践中,使得学生真正感受到“学”能有所“用”,也是我们积极探索的另一种教学实践拓展方式。具体而言,在设计课程的驱动项目之初,可以从企业的案例着手,选择有代表性且能体现数据结构核心教学内容的实践项目。在选定之后,可以以专题报告或实践教学的形式邀请企业的工程师介绍项目的背景、所需的知识储备以及实践意义,为课程的学习奠定良好的开端。在驱动项目进行的过程中,也可以继续和企业保持密切的联系,进行专业性的指导。在课程结束后,可以通过社会实践等形式安排学生进入企业进行实习,真正做到学以致用。
这些多渠道创新性的教学实践拓展,可以将工程理念真正的贯彻到数据结构课程的实际教学中,实现理论与实践的结合,达到提升教学效果的目标。
2.3 多元化的考核方法设置
目前专业课程的考核多是以理论考试的方式进行的,这种单一的考核方式容易模糊了课程学习的焦点,产生高分却动手能力差的现象。在CDIO理念中,考核的目标不仅是学生对理论知识的掌握情况,更关注学生将学科知识应用到项目实践的能力,因此,本文提出多元化的考核方式设置以配合项目驱动下的数据结构课程教学。
总体的考核以平时成绩为基础,理论考核为辅,项目成绩为主的方式进行。具体而言,平时成绩可以占到20%的比例,这里包括课堂考勤、平时练习、项目进行中的协作情况等;理论考核可以占到30%的比例,理论考试中不仅要包含基本的概念性知识,还要涵盖算法的设计分析以及编程实现(这一部分可以借助上机考试完成),另外,考试的时间可以是在期末进行,也可以分为若干个节点进行;项目的成绩将占到50%左右,在项目驱动的教学下,项目的完成情况将作为一项重要的考核标准,因为项目是随着课程的推进逐步完成的,所以项目可以分阶段的进行验收,一方面可以避免最后工作量过于庞大,另一方面也可以尽量杜绝学生临时突击抄袭的现象。
多元化考核方法的制定,不仅可以随时跟进学生的学习动态,以便教师在实际教学中对教学内容、教学方法以及教学进度等进行相应的调整,而且易于培养学生积极的学习心态、团结协作的意识以及项目实践能力,进而促进课程教学效果的提高。
2.4 配套性的课程资源完善
在数据结构课程实践中融入CDIO理念,相应的课程资源需要进行配套性的完善。首先要在专业建设方案中突出项目工程的重要性,提高实践环节的比例(学分);其次,数据结构课程的教案需要进行重新编制,其中要体现项目驱动下课程内容的组织以及教学方法的选择;最后,课程的课件、习题库等教学资源均需进行相应的更新以凸显CDIO的工程理念。
3 结束语
本文针对目前数据结构课程教学中所面临的典型性问题,探索将CDIO理念融入到课程教学中,并据此研究对教学内容进行分层次的组织、拓展教学实践方式、设置多元化的课程考核标准,以及对教学资源进行相应的完善。这一基于CDIO理念的教学探索已经在实际的数据结构课程教学中逐步展开并取得了不错的成效,相信在总结经验,不断改进后将会积极推动数据结构以及其他计算机相关课程的教学改革和创新,达到培养实用性人才的目标。
参考文献(References):
[1] 严蔚敏,吴伟民.数据结构(C语言版)[M].清华大学出版社,
2012.
[2] 沈华.数据结构及应用[M].机械工业出版社,2011.
[3] 胡志刚,任胜兵,吴斌.构建基于CDIO理念的一体化课程教
学模式[J].中国高等教育,2010.22:44-45
[4] 曾晓辉,文展,付琳.CDIO模式下的数据结构教学体系探索[J].
计算机教育,2015.2:36-38
[5] 刘丽杰,高军,张强.基于CDIO理念的数据库课程的教学改
革与探索[J].教育教学论坛,2015.15:76-77