向志华 赖小平
摘 要:文章结合应用型本科学生的学习特点、现状及计算机行业的人才需求,按照教学难度递增,层次化设计实践内容,改善实践教学方法和评价机制,建立以教师为主线,以学生对象为主体的实践课程教学体系,从而激发学生学习兴趣,提高学生创新能力,为国家培养创新型计算机专业人才。
关键词:“数据结构与算法”;实践教学;人才培养;创新
1 “数据结构与算法”实践教学体系建设的意义
“数据结构与算法”课程作为一门计算机专业的核心课程,对培养学生的计算思维能力、算法设计能力和创新能力有非常重要的意义[1-2]。学生通过课堂知识点学习、上机编程和调试算法,掌握算法的设计思路,进一步提高算法分析和设计水平。为了培养学生的程序开发和创新能力,必须对已有的教学模式进行改革,构建符合应用型本科院校创新人才培养需求的实践教学体系,从而提高学生的专业素质和实践创新能力[3]。
2 实践教学现状分析
在该课程的学习过程中,需要将以往高级语言程序设计的编程基础融入数据的结构与算法设计中。虽然在教学过程中理论、实践教学同步进行,但现有的实践教学体系教学效果并不理想,主要存在以下问题。
2.1 理论教学和实践教学脱节,对实践课堂不够重视
课程内容的抽象性和逻辑性很强,有些学生在学习中会因为理论跟实践衔接得不够紧密,无法将所学算法编码调试出来,从而丧失学习积极性。
学生程序设计基础薄弱,缺乏计算思维能力,对课堂实训重视度不够,达不到预期的教学效果。
2.2 参加竞赛或考试通过率低
学生对程序员考试、软件设计师以及各类程序设计竞赛等各类题型掌握得不够深入,导致参加各类考证的通过率低、参加竞赛的获奖率及获奖等级不高。
3 实践教学体系建设方案
3.1 制定实践教学大纲
以学生的创新能力为培养目标,结合应用型本科学生特点,秉承“重实践、强能力”的理念,对珠三角软件行业的发展进行调研,对“数据结构与算法”课程在工作岗位中的应用情况进行分析,结合职业考证要求,制定并修改教学大纲。
3.2 合理设计实践教学内容
实践教学内容要加强注重知识点之间的联系,按照“读,仿,改,创”的模式组织教学内容[4],合理设计难度呈阶梯式的微项目实践,主要有以下3种方式:验证型实践、设计型实践及综合应用型实践[5]。
“数据结构与算法”实践教学中,验证型和设计型实践主要以个人实践为主,综合应用型实践以团队实践为主,主要注重学生团队精神、创新实践能力。在大部分的应用型本科院校,学生编程基础各不相同,上机时间也有限,所以将实践教学设计按难度分阶段、分层次的阶梯式微项目。对于一些复杂的综合应用型实践,若课内时间难以完成,学生可以利用课外时间自主学习。各阶段实践教学内容安排如表1所示。
3.2.1 验证型实践
验证型实践微项目主要来源于教材中的基础算法设计,实现对所学数据结构基本算法的验证。在学习相关理论知识后,将抽象算法的执行过程进行演示,并将相关内容以作业的形式布置给学生。学生在上机过程中参考老师的算法和代码编程进行验证,如线性表、栈、队列、数组、树、图这些抽象数据结构的构造、查找、插入、删除算法等,通过对算法过程的演示让学生对算法有感性认识,在低难度的情况下能够自主动手,从而快速掌握知识点。
3.2.2 设计型实践
设计型实践微项目难度中等,综合了课程内容的多个知识点。在课程学习的中期,加入数据结构内容中较为经典的算法设计。教师通过实践引导和启发,让学生自主思考设计算法,在上机过程中加深对不同数据结构的理解,并灵活掌握算法中数据的组织、加工、处理方式。
3.2.3 综合应用型实践
综合应用型实践微项目一般在课程后期进行,以培养学生创新精神和创新能力为目标,充分利用学校内外各项教学资源开展实施。综合应用型实践项目具有创新性,对学生的设计和创新能力提出了更高的要求,同时也为学生提供了更加自主的平台。综合应用型实践教学内容的来源主要有两个:
(1)来自学科竞赛中经过简化的问题,如“蓝桥杯”大赛、ACM程序设计竞赛、团体程序设计天梯赛等,大赛的历届题库为综合应用型实践教学提供了丰富的资源。
(2)来自实用软件开发项目、大学生创新创业项目、科研项目等,主要来自实际的校园和社会需求,培养学生数据模型建立、数据结构设计和算法最终实现的能力。
3.3 教学方法的选择
使用灵活多样的教学方法,能让学生更好地掌握课程知識点、开拓思维、延伸和扩展知识面。同时,在实践教学中,还要充分利用已有的网络技术和多媒体技术,搭建实践教学平台,方便学生更好地完成各阶段实训内容。
验证型实践教学方法以算法动画演示和图示及文字讲解为主,引导学生分析、模仿算法。
设计型实践通过对实践内容进行指导和启发,让学生自己实现编程,使其加深对该种数据结构的设计、存储及算法的理解。
综合应用型实践,采用项目式的教学模式组织课堂教学,按照软件工程的指导思想,让学生自主组队实训。组内成员一起展开讨论,选出项目负责人,并进行需求分析,确定实施步骤并明确各成员的角色和任务。通过项目式的团队工作,使学生逐步了解团队沟通和协作的方式,熟悉大型项目开发的流程[6]。教师可以根据学生的完成情况,从中选拔优秀学生参加不同级别的竞赛。实践教学内容及方法分层如图1所示。
3.4 建立合理的考核评价机制
在實践课程考核中,各部分实践内容所占的比重如下:验证型实践项目(50%),设计型实践(30%),综合设计型实践(20%)。教师须建立合理的考核标准,根据项目完成情况对验证型实践、设计型实践进行评价。综合设计型项目以分组形式进行,结合项目文档资料以及可执行程序,并参考分工及工作量进行考核评价。
4 结语
文章以应用型本科院校的办学宗旨和特色为基础,以培养学生的创新能力为目标,构建教师为主导、学生为主体的课程实践教学体系,在不同阶段利用不同的教学手段和方法,实施难度不同的实践教学活动。教学方式由教师单一的指导验证转变为学生积极主动的多形式、创新性学习,有效地活跃创新思维,提高创新能力。
[参考文献]
[1]黄翘.基于B/S模式的数据结构实验平台设计[J].数字通信世界,2018(3):186.
[2]徐胜舟.以学科竞赛驱动程序设计类课程教学改革研究[J].软件导刊,2015(5):180-182.
[3]吴长伟,郑晓霞,邓红,等.应用型本科数据结构课程多维度实践教学体系改革[J].中国冶金教,2015(4):63-66.
[4]徐新爱,胡启宙,卢昕.基于学科竞赛的计算机专业实践教学模式探索[J].计算机教育,2015(12):126-130.
[5]郑明辉,胡涛,周慧华.以项目+竞赛模式引领计算机专业创新实践能力培养[J].计算机教育,2014(8):47-51.
[6]文俊浩,徐玲,熊庆宇,等.渐进性阶梯式工程实践教学体系的构造[J].高等工程教育研究,2014(1):161-163.
Abstract:This paper combining with the learning characteristics, current situation of application-oriented students and the demand for talents in the computer industry, according to the increasing difficulty of teaching, rationally design hierarchical practical content,and improve practical teaching methods and evaluation mechanism, so to establish a practical teaching system with teachers as the main line and students as the main body, then stimulate students learning interest, improve students innovative ability, and train innovative computer professionals for the country.
Key words:“Data Structure and Algorithm”; practical teaching; talent training; innovation