APP下载

基于应用型人才培养的数据结构与算法实验教学改革

2023-04-27李菊马军超陈寅

电脑知识与技术 2023年8期
关键词:应用型人才

李菊 马军超 陈寅

关键词:代码质量;应用型人才;实验内容;实验结果评价;实验教学方式

中图分类号:G642 文献标识码:A

文章编号:1009-3044(2023)08-0074-03

1 引言

随着互联网的快速发展,软件产品的开发复杂度越来越高,各软件企业也开始逐步重视软件的代码质量。无论是阿里发布的《Java开发手册》,还是华为投入20亿美元,计划五年提高代码质量,都充分突显出软件企业对软件代码质量的重视程度[1]。高质量代码特性体现为:正确性、可读性、高效性、稳定性、可维护性、可扩展性,因此编码不仅要实现完整的功能,而且还要保证代码具有良好的可读性、高效性、稳定性、可维护性、可扩展性。好的编码能力及编码规范习惯是高质量代码特性的保证,因此必须提升编码能力及养成好的编码规范习惯。

目前我国的高等教育分为研究型大学、高职院校、应用型大学三种类型,应用型大学与其他两种类型的课程目标不同,应用型大学的课程以紧密对接企业人才需求,培养理论扎实、实践能力强的高層次应用型人才为目标,强调应用理论知识解决实际问题的实践能力,突出课程应用性[2-4]。因此必须要基于企业人才的发展新需求,不断对课程的教学内容和教学方式进行改革,才能适应专业的发展,为企业人才需求提供强有力的支撑。

数据结构与算法是计算机相关专业的核心课程,也是促进计算机相关专业学生软件设计水平提高的关键课程。目前应用型大学的该课程主要借鉴研究型大学的教学成果及经验,在教学内容和考核方式等方面基本保持一致。然而随着软件技术的快速发展,及企业对软件人才的素质更高的要求,在实际实验教学过程中,逐渐发现一些影响学生编程能力培养及编码规范养成的问题;因此为了培养适应专业发展需求的应用型人才,急需对现有应用型大学的数据结构与算法实验进行教学改革。

2 数据结构与算法实验教学中存在的问题

应用型大学的数据结构与算法实验教学,主要存在以下三方面问题,这些问题严重影响着学生编程能力的提高及编程规范的养成。

2.1 实验内容过于陈旧,与实际应用结合不紧密,实际编码能力提升有待改善

应用型大学的人才培养,更应强调应用理论解决实际问题的能力,强调工程实践能力。目前数据结构与算法实验上机练习的内容多为传统验证性内容,局限于将课本的算法伪代码验证实现,虽然通过验证性实验,学生对数据结构与算法的原理和操作有了一定的了解,但不明白其应用价值[5]。例如表1中的上机实验题为顺序表操作实验的内容,其他实验内容也类似,内容大多为验证性,且内容过于陈旧,导致学生容易出现抄袭倾向。实验缺少与实际应用结合的综合性内容,数据结构与算法理论较少与实际应用场景相结合,在完成实践任务后并不知道如何应用到实际项目中,出现理论与实际脱节,没有达到学以致用的目的。

2.2 实验结果评价只注重代码功能的正确性,不注重编码规范问题

在软件行业,项目开发均以团队的形式开展。在项目开发过程中,团队成员的良好编程规范习惯对成员之间的交流非常便利及高效,对软件开发过程中的测试工作及其后期数据维护可以起到重要的作用[6]。目前数据结构与算法实验结果评价针对学生提交的源代码,只对编译及实现功能的正确性进行判别,而往往忽视了代码规范的问题,无法对学生的编码是否规范进行判别,学生的编码规范意识弱,导致代码可读性差,甚至代码低效、稳定性及可扩展性差,代码规范性没法保证。例如图1为学生的部分代码,存在函数的输入变量i含义不明确、for和else后缺少大括号、缺少注释等规范性问题,导致代码可读性较差。

2.3 实验教学中缺少学生代码评审环节,缺乏学生之间的知识共享

目前所有的IT公司都离不开代码评审过程,代码评审是代码问题发现的重要过程,通过代码评审,分享者可以得到其他人的反馈,发现可能存在的问题和需要改进的部分,评审者也可以从他人的代码中学到新东西[7]。但现有传统的数据结构与算法实验教学,多以上机实验为主,实验教学过程中,缺少学生代码评审,教师与学生之间、学生与学生之间缺少分享交流。大多数学生认为上机实验运行的功能结果正确,代码质量即符合要求,无法从可读性、高效性、稳定性、可维护性、可扩展性等方面,进一步审视代码质量,导致无法得到除正确性以外的其他反馈,更无法从其他同学分享到更优秀的代码。例如图1所示为学生的代码可读性较差,同时由于缺少评审交流环节,学生不仅发现不了代码可读性差的问题,而且很难学习到可读性更好的代码编写方式。

3 数据结构与算法实验改革措施

为了更好地对接企业人才需求,针对当前数据结构与算法实验课程中存在的问题,本次教学改革结合企业对软件代码质量的需求,以编码能力提升和编码规范养成为目标,围绕数据结构与算法实验课程的实验内容、教学方法、教学评价三方面提出具体的改革措施。具体包括以下:

3.1 丰富实验题库,加强理论与实践的联系

现有的数据结构与算法实验题库题目数量较少,以深圳技术大学为例,该校的本课程的实验题库仅有150多道题,每个知识点最多5道,这些题目大多偏向于验证性,多年未更新,较少与实际应用相结合。对于实验题库,增加具有实际应用场景的综合性题,针对顺序表、链表、字符串匹配、栈、队列、二叉树等知识点,一方面,从国内外知名企业搜集具有实际应用场景的面试或机试题,加入新题到题库;另一方面,结合实际应用场景,设计新题到题库。通过综合性实验内容,增强学生应用数据结构与算法理论解决实际问题的编码能力[8-9]。例如表2为增加综合类型实验后的顺序表操作实验设计,其他实验类似。

3.2 增加代码规范评价结果,促进代码编程规范养成

针对学生的代码规范性无法保证的问题,在判题系统中加入代码规范性评价功能。参考华为、腾讯、谷歌、阿里等IT企业的编码规范,从学生源代码的布局类、命名类、注释类、逻辑类、冗余类、复杂类、内存类等方面的编程规范进行评价判分,表3为代码规范评价的主要内容。通过评价结果,不仅可以让学生意识到编码规范的重要性,还可以让学生发现自己代码存在的规范性问题,从而促进编码规范的养成。图2 为增加代码规范判别功能后的实验结果评价界面,点击代码规范分,可以查看到代码规范判别详情,发现存在的代码规范问题。

3.3 增加代码评审教学环节,发现问题及学习优秀

鉴于代码评审对代码质量提升的重要性,参考IT 企业的代码评审做法,在实验教学增加代码评审环节。每次实验开始前安排一组同学,针对上节实验的代码,进行讲解分享,老师和同学根据表4中的评审方案进行评审,分享及评审完成后,对共性问题进行总结,对好的做法进行提炼和推广。这样不仅可以发现可读性、高效性、稳定性、可维护性、可扩展性等判题系统无法发现的问题,而且可以学习优秀编码案例,从而促进编码能力提升和编码规范养成。

4 改革效果

深圳技术大学是广东省和深圳市高起点、高水平、高标准建设的本科层次应用型大学,通过对数据结构与算法实验的实验内容、实验结果评价、实验教学方式三方面的教学改革实践,促进了深圳技术大学学生的编码能力提升及编码规范养成,代码质量得到显著提升,更满足企业人才需求。以下将从多方面进行分析。

(1) 期末成绩。在考试难度相当的情况下,将深圳技术大学2019级和2020级物联网专业的学生期末成绩进行对比,由表5可知,平均期末成绩提高8分,代码规范得分提高4分,成绩差异显著,因此教学改革有助于编码能力提升和编码规范养成。

(2) 竞赛成绩。2022年深圳技術大学学生在多个全国性软件类大赛中有了新的突破,在“蓝桥杯大赛”中首获全国一等奖3项、全国二等奖3项、全国三等奖7项,在首次参加的“RoboCom机器人开发者大赛”全国总决赛中获全国一等奖2项、全国二等奖6项、全国三等奖7项,因此教学改革以后,深圳技术大学学生的代码质量得到了显著提升。

(3) 就业率。实施教改以后,深圳技术大学计算机相关专业学生有了更强的专业能力,就业率从2021 年的70%提升至2022年的79%,就业率有了显著提升,因此教学改革以后,深圳技术大学培养的计算机人才更满足企业需求。

5 结束语

本文针对应用型大学的数据结构与算法实验课程存在的问题,从实验内容、实验结果评价、实验教学方式三方面入手,提出了具体的改革措施。教学改革实践结果表明,本文提出的教改措施,能较好促进应用型大学的学生编码能力及编码规范的养成,提升学生代码质量,更符合企业对软件人才的需求。为了进一步提升学生的软件能力,在今后的教学中,仍将不断优化教学方案,以让应用型大学培养出更多符合企业需求的应用型人才。

猜你喜欢

应用型人才
论独立学院应用型人才培养目标的实现
应用型人才培养质量评价体系构建研究与实践
地方院校新办食品质量与安全专业应用型人才培养模式探索
大学英语教学与应用型人才培养论析
浅析应用型人才培养下的物理教学改革
应用型人才培养背景下模块化教学研究与实践
基于应用型创新人才培养的模块式实践教学体系构建