您好, 访客   登录/注册

地方高校计算机类专业“算法与数据结构”实践教学改革

来源:用户上传      作者:

  摘要:针对地方高校计算机类专业“算法与数据结构”实践教学的现状,分析“算法与数据结构”实践教学改革实施的原因,提出适合地方高校计算机类专业“算法与数据结构”实践教学的改革方案,经过这几年的教改试验,得出该实践教改方案的可行性和有效性。
  关键词:算法与数据结构;实践教学;课程设计;CDIO
  1.地方高校计算机类专业“算法与数据结构”实践教学现状和问题分析
  通过调查山西省高校(如山西大学、太原理工大学、太原师范学院、山西大同大学等)计算机类专业“算法与数据结构”的教学情况可知,理论课和实验课的课程比例有以下几种:3:2,3:1,4:1,个别学校不开实验课,但大部分学生和老师反映实践教学没有达到预期效果,有以下几点原因:
  (1)实验形式单一,项目陈旧。
  (2)实验成绩多以实验报告为主要内容来确定,导致学生忙于应付实验报告,未能积极面对实践环节中出现的问题。
  (3)学生对程序设计课程的学习不够深入,普遍编程能力较差,导致实践环节不能达到预期效果。
  (4)学生对数据结构在实际问题中的应用缺乏了解,大多数同学没有见过具有实际意义的题目,更不知道如何用“算法与数据结构”来解决实际问题。
  2.地方高校计算机类专业“算法与数据结构”实践教学的改革方案
  针对行业、企业对计算机类专业人才的要求进行了调查。调查显示,相关企业人力资源主管较为青睐拥有编程能力、操作系统知识和数据库知识的人才;而项目主管则更青睐编程能力、数据结构知识和算法知识3种技能。此外,依次具备数据库知识、软件工程知识和操作系统知识的人才也是备受市场青睐的主要人才。值得注意的是,毕业生的实践经验也是相关企业招聘员工时要考察的要素之一,一些企业甚至要求应聘者有项目研发的相关实践经验(见表1)。
  鉴于以上对计算机类专业人才的要求,结合“算法和数据结构”课程的实践教学,做出以下的教学改革方案。
  2.1实践教学环节改革
  多年来,“算法与数据结构”课程的实践教学只是单纯的课内实验,由“线性表的操作”“栈和队列的操作”“二叉树的操作”“图的操作”和“查找、排序的操作”等5个实验项目,12个课时组成,都属于验证性实验。为了能够培养出满足社会需求的计算机人才,笔者进行了几轮“算法与数据结构”实践教学环节改革,摸索出了多层次、多环节的实践教学方案。
  “算法与数据结构”实践教学总体分为两个环节:课内实验环节和课程设计环节。课内实验环节安排在各章理论课学习完后进行,包含验证性实验、综合性实验和创新性实验3个层次。课程设计环节专门利用一周时间进行。以上各个环节相互衔接、相互渗透。多层次的实践环节能够提供给学生不同的体验,激发学生的兴趣,同时,分组课程设计锻炼了学生团队合作、分析问题和解决问题的能力,从而加强了学生面对实际问题时实战能力的培养。
  2.2实验教学内容改革
  首先,对“算法与数据结构”课程的计划课时做了调整,理论和实验比例调整为3:1,随之,将实验项目也做了调整。对应于每一部分的理论课程学习内容,线性结构、树形结构、图状结构为验证性实验,同时为了让学生了解对应的应用,设置项目时,答案在教材中,问题在生活中,建立面向问题求解的实践教学模式,以实际问题求解为最终目标来组织和设计实践教学内容。例如,在线性表的实验中,为了验证线性表的基本操作,提出了一个日常生活中常见的问题――通信录的各种操作。见到这个题目,第一,学生首先要分析通信录是否符合线性表的所有特点;第二,学生根据线性表的基本操作完成通信录的各种操作;第三,学生不能完全抄袭书上的算法,需要适当的变通。这样,既验证了教材中所学的理论和算法,激发学生的兴趣,同时还能了解线性表在实际生活中的应用。
  对应于查找、排序这两部分的内容,设置一些综合性实验,例如成绩管理系统、家谱管理系统等,旨在全面地应用“算法与数据结构”中学到的理论和算法。
  最后,为了培养学生的创新能力,要求学生根据所学知识,自己找到感兴趣的问题,编写一个小型的系统,题目自拟。
  2.3实验教学考核改革
  以往的实验成绩是5个项目的平均分,而每个项目的成绩由出勤和实验报告组成,没有体现出学生实验课上的具体表现,实验报告也只是把运行代码抄一遍。鉴于以上原因,对实验教学的考核进行如下改革:第一,注重实验过程;第二,实验报告中要求写出运行结果与分析。
  2.4基于CDIO理念的课程设计
  “算法与数据结构”的课程设计在课程结束后,专门用一周时间进行,作为一门独立的实践课程,占1学分。这一阶段主要目标:一是加深学生对算法与数据结构的理解,能应用学习过的数据结构,根据实际问题定义数据结构,培养学生的应用能力;二是培养学生的实践能力、团队合作能力和创新能力。
  在“算法与数据结构”课程设计教学中,融入CDIO理念。CDIO于2000年由美国麻省理工学院和瑞典皇家工学院等4所大学联合提出,是将“做项目中学习”贯穿工程项目构思(Conceive)、设计(Design)、实现(Implement)和运转(Operate)4个生命过程的教育创新模式。它是一种“基于项目的教育和学习”方式,让学生主动地、实践地参与到理论到实践的转化过程中来,更加重视学生实践的积极性和主动性,更加注重培养学生的团队意识和创新能力。
  具体实施方案:
  第一步,由“算法与数据结构”课程组提出一些备选题目,每个备选题目给出基本要求、要实现的基本功能。
  第二步,为了全面提升学生的综合能力,学生首先按照自愿的原则分组,4-5人一组,并选派1人担任组长,采用组长负责制;组长组织小组成员选题(当然学生也可以自己构思一个项目),讨论题目的要求、用到的数据结构、需要实现的基本功能、还需拓展的功能,对设计任务进行责任划分安排,每个成员都有需要自己独立完成的具体任务,做到每个模块相对独立,模块间相互联系,分工合作。小组成员编写完自己的模块程序,组长集合大家将各个模块程序组合在一起,准备接受指导教师的验收。教师在整个过程中做好监督和辅导工作。在这个过程中,学生做到完成了CDIO中的构思、设计和实现。
  第三步,项目完成后,课程设计的考核采取小组答辩的形式。指导教师不仅要查看整个项目功能的完整性,对其中的问题提出质疑,还要让小组成员叙述自己的部分,以防有“浑水摸鱼”的学生。
  2.5课程后续实践环节――程序设计竞赛
  部分学生经过“算法与数据结构”课程的学习,实验与课程设计的实践训练,已经能够在规定时间内,在面对实际问题时能够通过分析问题,建立数学模型、选择合适的数据结构以及设计具体算法策略,并在计算机上编程实现嘲。为了检验学生解决问题能力和编程能力,应鼓励学生参加各级各类程序设计竞赛。2010年至今,太原师范学院计算机科学与技术系经过实践教学改革的学生参加了蓝桥杯省赛和全国决赛,分别获得了一等、二等、三等和优秀奖数十项。
  3.结语
  经过几轮“算法与数据结构”实践教改的摸索和试验,实践环节更加多样化,实验内容也在不断地更新和完善。通过这几轮一系列的实践教学改革,增加了学生的学习兴趣,开拓了学生的视野,培养了学生的应用能力、发展能力、团队合作能力和创新能力,积累了学生的实践经验,同时也为各类与程序设计相关的竞赛培养了大量人才。
转载注明来源:https://www.xzbu.com/8/view-11171591.htm