基于项目导向的数据结构与算法课程教学研究与实践
2015-08-15何风琴
何风琴 于 涛
(呼和浩特职业学院)
学习数据结构和算法的过程就是训练算法的设计技巧和能力的过程,在建设性思维能力培养的过程中,注重培养学生的数据抽象、设计算法和开发软件的能力。在学习了这门课程之后,让学生获得正确的读、写结构以及使用软件工程的理论、技能和能力,让学生初步具备分析问题和解决问题的能力,具备的设计风格趋于良好,给学生外来的学习打下坚实的基础,以便于学生在该领域可以继续学习和研究。要想培养更多的计算机专业应用型人才,就需要让他们具有找到问题并具备从概念层、抽象层中剥离并对其进行计算机系统的综合设计的能力,为了让这些问题得到解决,把项目导向的方法引入课堂教学与实践中就显得尤为重要。
一、数据结构与算法课程的问题分析
1.课程难度大,学生难以适应
数据结构和算法课程不仅逻辑性较强,同时其实践性也很强,在过去进行教学的时候,由于该课程比较抽象,同时概念比较多而且算法也比较复杂,对教师来讲该课程教学难度比较大,同时学生也对该课程产生了畏惧感,在学习的过程中没有学以致用的体验,让学生对其的学习失去积极性,最终培养的学生在这方面实践能力不高,动手能力较差,教学质量的提高也无从谈起,这和推进素质教育的今天严重不符。
2.课程理论与实践脱节
本课程注重学生的理论和抽象思维的理解,目前要想让学生不经过实践就对课程理论很好地理解是很不现实的。以前的授课模式多多少少都存在轻视实践、重视理论的讲解,教师感觉课程授课难度大,学生觉得似乎理解了所学的知识,但是在解决实际问题的时候又不会联想使用所学的知识,一个很重要的原因是在理论教学的过程中,学生对抽象数据的概念没有很好地了解,即使在课堂上听懂了也不会内化为自身的能力,也就意味着不能迁移到实际问题的解决过程中。随着时间的推移,一些学生慢慢地失去了学习的兴趣,对学生专业素质、应用能力和创新能力的提高是影响最大的因素。
3.学生在学习过程中处于被动地位
教师对知识进行强行的灌输,对学生进行“填鸭式”的教学是传统的教学模式,在这个模式中,学生学习的比较被动,对于现代大学生构造知识体系来讲是非常不利的。也就是说,学生不能在解决问题的时候学到知识,同时在遇到实际问题需要去解决的时候,感觉自己无能为力,对于自己所学到的知识不会迁移和应用。随着时间的推移,因为学生不能积极参与教学活动和及时对知识体系进行建构,对学习效果产生了极大的影响。为了对这种教学模式进行改变,让学生在学习过程中真正地掌握到知识,让自身的专业素质进一步提高,在教学实践中我们不难看出,对数据结构与算法课程使用项目导向的教学方式是比较好的。这不仅有利于学生知识体系的构建,还有利于提升学生的实践能力,让知识来源于生活和应用于生活,突出知识的实用性和有效性,增强学生学习的动力和积极性。
二、基于项目导向的数据结构与算法课程的教学改革
1.课程内容的设计
(1)理论与实践相结合,让课程的应用性进一步提升
在设计数据结构与算法课程内容的时候,应把知识的接受融入完成任务的过程中。比如,在“学生信息管理系统”的设计时,必须有搜索、排序和学生名字有关的统计等操作。把知识点等引入这些具体的操作之中,这样可以让具体的操作代替原本抽象的理论,这样可以给学生一种比较真实的感觉,不仅有助于对知识点的理解,而且还把困难的知识变得通俗易懂。在主数据存储操作的同时,与此相关和有联系的算法或应用,让学生尝试着去学习和掌握,这样渐渐地一个有效的知识体系就会被建立起来。
(2)教学内容的组织以职业能力目标为依据
课程刚开始的时候,首先教师要对该课程进行概述,在讲解基本概念的时候要引入案例,如数据、记录、逻辑结构和物理结构等,这样学生就会了解到数据结构与算法课程和专业的关系以及对该课程的研究内涵和轮廓有一个基本的了解,为项目教学打下良好的基础。然后以实际的任务为教学的主线,按照行动导向,“教学、学习和实践”一体化教学模式,完成八个学习的情境,这样专业的技能和方法学生就会掌握。与此同时,也要兼顾学生的可持续发展,他们不仅学习岗位上的数据结构类型,也要让他们能够在全局上掌握工作。教师对课本的知识进行总结后传授给学生,提高学生项目开发的能力。
2.教学模式和教学方法设计
(1)课程以项目为驱动、知识点为串行,开展“教学、学习、实践”一体化的教学模式
根据学生的实际情况进行知识的建构,同时将其引入工作的过程中,在学习过程中解决问题,在解决问题的过程中对知识进行巩固。
(2)以项目驱动、工作任务步骤为主线,组织实施教学
不管是选择课程内容,还是组织教学能容,都要以实际项目工作的内容为中心,把实际工作的流程为教学内容和教学顺序,把数据结构和方法进行重组后,融化在实际工作中。这样不仅可以让学生对学习的知识进行应用,也让他们更清晰地了解项目开发工作的整体框架。实训的课程来自于学生的日常生活,学生要完成的项目任务,需用户的需求、数据流分析、数据存储的表示到算法、功能的实现和提交各阶段实用的计算机专业组产品的实际情况和公共职位的实际情况完全相同。因此,在对任务完成的过程中,学生就可以对相关的知识、方法、技巧进行掌握,让计算机类专业群公共工作岗位能力的需求清楚地显示。
(3)参与企业生产,企业专家在生产中参与指导
数据结构与算法课程对软件开发行业来讲是一门基础课,也是必修课。在开发软件的过程中,如果没有把数据结构所谓知识进行贯穿,那么这个项目就缺少指引,也就意味着它是一个失败的项目。所以,学生参与到实习基地中的生产中的时候,其必要条件就是对数据结构与算法进行学习和使用,在教学的过程中要具有双向的选择。进入企业的都是优秀的学生,在企业中从事具体的工作,实现“课堂与企业”的完美结合,同时还要把工作过程与学习过程紧密地联系在一起,这样教学效果就会大幅度提升。
以项目为导向的数据结构与算法课程,要求在教学的过程中,围绕学生这个中心,对学生的技术和个人专业素质进行全方位的培养,同时兼顾人际等多个方面的培养,我们的目标就在本科层次培养出终身学习型的高质量计算机应用和开发人才,并最终让每一个学生能够胜任他们未来的工作。同时,作为授课教师,我们要了解学生的实际需求,新一代的大学生在性格、认识等上都发生了很大的变化,我们要对其进行深入的研究和探索,按照他们的认知方式进行课程的教学,同时也要兼顾他们的认知水平,相信经过这样循序渐进的课程学习,一定会给社会培养更多的、需要的人才,让社会对计算机方面的人才需求得到满足。
[1]刘晓静,王晓英,薛媛媛,等.让趣味教学进驻数据结构与算法课堂[J].青海大学学报,2011,29(05):95-97.
[2]熊岳山,钱程东,徐凯.数据结构课程教学中的数据抽象能力培养体会[J].计算机工程与科学,2014,36(04):27-30.
[3]李和平,龚波林,刘万毅.深化实验教学改革,强化技能型人才培养[J].实验技术与管理,2013,30(02):159-161.
[4]王晓英,靳力,王晓青,等.基于序列匹配的作业相似度检测系统[J].计算机工程,2012,38(24):53-61.