摘要:应用型教育是当前大学本科教育中的一个薄弱环节。如何将本科教学中的具体讲授知识点转化为学生的实际动手能力,培养应用型人才一直是大学教育中的一个重要研究课题。针对以上问题,本文从多方面分析了应用型本科教育的特点,结合作者多年的实践教学经验和体会,详细阐述了应用型教育在算法与数据结构课程教学中的存在的问题,并最后提出了对所存在问题的一些相关改进探索。实践证明,相关方法的探索在一定程度上对学生将所学知识进行实践应用的转化起到了一定的积极作用。 关键词:应用型教育;数据结构;教改; 数据结构是一门对程序设计算法的抽象描述〔1〕,其讲述了在程序设计过程中,如何将实际问题进行抽象描述、对组织数据进行存储和处理的,是从基础的编程语言过渡到高级程序设计的一门专业基础课程〔2〕。学生对于该课程的学习效果在很大程度上决定了学生对整个计算机编程方面的学习兴趣和后续详细专业课程的学习效果。 我校的数据结构课程组已有十多年的授课经验,主体由中青年老师组成,在多媒体课件、自主试题库、无纸化测试、上机课程设计方面都具有较为完备的教育资源。本文就我校在本科应用型数据结构课程建设的实际情况,提出了一定方法上的探索及其在实际教学过程中取得的成效分析。 一应用型本科教育的特点 当前,大学本科教育主要分为研究型本科教育和应用型本科教育。研究型本科教育的主要目的在于培养创新型、理论型人才以满足社会中原创性科研任务的需求。应用型本科教育的主要目的在于培养具有较强应用实践能力的人才以满足社会对相关高端人才的需求。根据培养目标的不同,两者处于高等教育的不同层次。根据不同的生源、师资、教学条件等,应用型本科教育具有以下几个方面的特点: (一)多样性。 相较于原创科研型人才的培养,应用型人才的培养是面向社会发展的不同需求而定的,主要分为工程型、技术型和技能型三个层次。注重培养学生应用所学知识解决实际问题的能力,在掌握基本技能的基础上,发挥学生自己的创造性想法,逐步精通某项技术,能够独立完成较大规模的工程。在具备以上基础的前提下,进行原创性技术的研究工作才是学术型人才的培养。当前,主要的学术型人才的培养主要集中在研究生的教学极端,而大部分的本科生的教育任务主要还是偏向于应用型人才的方向。同时,根据不同学校的生源质量和师资条件的不同,在应用型教育的不同层次目标上,侧重点也有不同。 (二)综合性。 学生的培养,不仅仅是专业知识的培养,同时还需要注重学生综合素质的培养,成为高素质的应用型人才。随着互联网、大数据的发展,专业之间的限制开始变得模糊,各种交叉学科和企业逐渐增多,需要的人才也在慢慢偏向于多专业背景的符合人才。因此,应用型人才的培养也要注意多学科,多种知识的应用能力。同时,综合性还体现在学生理论和实际动手结合的能力方面,学生不仅需要掌握较为全面的理论文化知识,还应该有较强的实践动手能力。这里的实践动手能力,不仅仅指所学专业的实践动手能力,还应该具有面对新问题的独立思考,独立探索的能力,能够独立解决未知问题的能力,其中也包含了一定的自我学习能力。因此,在应用型本科教育中要避免过于偏重专业知识的培养,而忽略了学生综合素质的培养的问题,应当注重学生个人素质、个人价值的提神,重点激发学生的自主学习能力。 (三)实践性。 应用型本科教育的重要目标就是培养学生的实践能力,就是将所学知识向实际动手能力的转化。学生需要在理解相关理论知识的前提下,能够熟练的掌握相关工具进行实际项目的开发,并在项目实施过程中具备一定的创造能力。同时,实践也应与实际发展相结合,随着社会需求的变化而不断进行更新以迎合社会需求。 二应用型教学的改进探索 (一)针对教程侧重点的问题进行优化调节。 应用型教育决定了在数据结构教学中的侧重点应偏向于学生的实践能力的培养。当前的数据结构的教学过程中,在知识点的讲授过程中,较偏向于算法理论的讲解,过于强调对算法完备性,优化方法的理解上,较偏向于算法完善的理论性研究。由于课程的考核原因,学生会在笔试考试内容上分配较多的时间精力,而在时间编程上没有引起太大的重视。因此,针对这种情况,为了增加数据结构教学中的应用型培养,在课程的教学过程中,特意增加了实验型教学环节。不仅仅是增加了机房上机的实验型教学环节,在理论授课的过程中,也穿插了程序设计演示的过程,让学生在理论学习的同时增强对动手编程的感官认识。最后,在课程的最后授课环节,添加了课程设计环节,旨在让学生运用所学知识解决一个较为实际的问题。 (二)针对实践环节的内容设计问题进行优化。 当前,数据结构课程最大的难点在于,学生对于理论知识听得懂,相关原理也能做到理解,但就是在动手上存在不敢动手,不会动手的问题。每到上机实验课程时,很多学生都是照着书本进行代码的输入,很少有自足进行算法设计和完善工作的。如何激发学生自主思考,自主动手的兴趣和信心,一直是数据结构课程教学中存在的难题。考虑到学生在学习数据结构前,大都只进行过基本的编程语言的学习,编程基础大都比较薄弱,因此,为了提升学生的动手编程的兴趣和自信,课程组采用了循序渐进的方式开展了实验环节的教学。在实验课程的开始阶段,主要以衔接前期的C语言为主,以链表、数组的应用为主要设计内容,让学生在低难度的情况下能够自主动手,积累自信。在课程的后期,加入数据结构中特有的栈、队列及排序等经典算法,达到课程的基本知识的动手训练的目的。对于编程能力不同的学生,采用了以多人小组的模式,通过多人合作的方式完成设计,在小组中采用不同的分工,让能力强的学生带动能力弱的学生一起动手,达到学生间的互帮互助。通过以上方式不断激发学生的编程信心和兴趣。最后通过课程最后的小任务环节,采用小组的形式让学生实现一些简单的软件功能,模拟软件开发的整个过程,让学生对软件开发有一定的实际体会,达到应用型教学的目的。 (三)针对传统教学中以笔试考试为主的考核方 式存在的不足,课题组提出了在课程考核上的一定的改进。在课程的考核中,弱化了笔试考查成绩的占比,加入了课程设计的答辩评分成绩。同时,加入了新的考核模式,采用了机考的新模式,除了传统的选择填空等考察题型外,在机考中加入了算法编程题的考察。通过这种方式的改进尝试,能够在一定程度上避免学生过于专注于理论知识的学习和复习中,变相的加强了学生对动手能力的考察。 三应用型教学的改进效果 通过对数据结构课程的应用型授课方法的改进,在几个学期的授课中取得了一定的改进效果。在理论授课的过程中,学生通过实验代码的演示过程,能够对相关算法有较深入的了解,在上课时往往能参与到算法的演示中,开始具有一定的积极性。在实验环节的教学中,由于从简到难的循序渐进的过程,学生从一开始的不敢动手编码到后来能够积极思考,规划,然后设计代码,并在以小组为单位的课程实验环节有相当大的参与热情。虽然无法让所有学生都有很大的编程积极性,但随着课程的进行,能够积极参与的学生比例越来越高,甚至出现一批自信心很强的学生,这些在以前都是很难做到的。 四结束语 本文针对应用型本科教育对数据结构的教学过程提出了改革探索。重点在于提高学生对所学理论知识的实践应用能力。由于传统以笔试考试为主的教学方式中存在偏理论轻动手的不足,以及学生在动手自信和积极性上的不足,数据结构一直在应用型培养方面存在诸多不足。本文提出的种种尝试,在一定程度上提高了学生动手编程的积极性和自信,在应用型培养上提出了一定的尝试和探索。同时,这些探索在实验课题的选择和难度上还存在一定的问题,在以后的教学中还将进一步优化和改进。 参考文献 〔1〕严蔚敏,吴伟民。数据结构(C语言版)〔M〕。北京:清华大学出版社。2007:5052。 〔2〕吴英杰,王一蕾,王晓东。面向问题求解的实践教学模式算法与数据结构实践教学改革〔J〕。计算机教育,2007(4):2931 〔3〕刘鑫。应用型本科院校数据结构课程教学改革与实践〔J〕。教育现代化,2016,3(20):2122。 〔4〕朱锐,蔡琼,蔡敦波。数据结构实验教学中的改进与探索〔J〕。教育现代化,2017,4(02):5961。