1、第 4 期2023 年 4 月 10 日计 算 机 教 育Computer Education中图分类号:G642216基金项目:安徽省质量工程项目精品课程(2020kfkc130);安徽省示范实验实训中心建设项目(2020sxzx04)。作者简介:丁俊,男,副教授,研究方向为软件开发、人工智能、大数据,。1现状与问题分析近年来,随着云计算、大数据和人工智能等信息技术的飞速发展,软件开发行业的人才需求也日益扩大,然而在职业院校软件开发人才培养中却存在诸多不良的现象和棘手的问题1。当前职业院校软件开发专业学生的学习存在如下问题。1.1软件开发实训教学效果堪忧,学生操作技能难以提升职业教育是以就业
2、为导向的教育,培养的是生产、建设、管理和服务第一线需要的高技能人才。如果无法有效培养学生的动手操作技能,这将偏离了职业教育的根本目标2。目前,在软件开发实训教学中就出现了如此的尴尬,即便是优秀的学生大多也只能照葫芦画瓢,把教师布置的任务代码敲出来,把软件开发实训课当成了“打字课”,然后运行得出预期的结果,但是绝大部分学生不能真正理解代码的含义,只知其然,不知其所以然。这与我们的人才培养目标相去甚远。1.2缺乏程序的排错纠错意识和能力在软件开发实训中,一旦遇到程序报错,大部分学生都感觉到束手无策,严重缺乏排错纠错双维度分层实训方法在软件项目开发实训教学中的应用丁 俊(安徽工业经济职业技术学院 计
3、算机与艺术学院,安徽 合肥 230051)摘 要:针对当前高等职业院校软件专业项目开发实训教学中存在的诸多问题,提出双维度分层实训教学理念,以 Java Web 程序设计中的用户注册登录系统为例,从软件项目的功能和过程两个维度介绍分层实训教学过程,最后通过教学效果说明双维度分层实训方法的有效性。关键词:双维度分层实训;实训教学;改革文章编号:1672-5913(2023)04-0216-04的能力,即便是优秀的学生也只能偶尔排除一些错误。然而,当一段程序中往往包含多个错误时,学生费了九牛二虎之力排除了一两个错误后,程序仍然不能正确运行,多数学生最终都会失去耐心,导致他们失去了继续学习的信心和动
4、力3。这也是学生软件开发水平难以提升的重要原因。1.3学习过程随着时间的推移难以为继大多学生怀着对高科技行业的崇拜而来,基于行业高额的薪资和优越的工作环境所诱惑,家长也极力支持学生选择该专业。然而,在真正的专业学习过程中,大多学生表现出严重的畏难情绪,无法持续学习,最终半途而废,尤其随着时间的推移和课程难度的加深,这种状况愈加明显。1.4主动学习意识欠缺大部分学生是因为外界原因而选择了该专业,对专业的特性和难度并未作深入的了解,所以其主动学习意识不强,学习效果不尽如人意。1.5学习方法欠缺进入高职的学生大多都缺乏合适的学习方法,且软件开发课程在高职各专业中是难度较大的专业课程类别,如果缺乏合适
5、的学习方法,要DOI:10.16512/ki.jsjjy.2023.04.030教育与教学研究第 4 期217将抽象度高、逻辑思维强的软件专业课程学懂学透是极具挑战性的。1.6数学和英语知识匮乏在程序编写过程中需要大量的英语和数学知识,大多数高职学生这两方面知识都比较薄弱,这种状况直接导致上完第一门语言课之后,大部分原本满腔热情的学生对软件开发其他的专业课程望而却步。1.7不肯动脑,缺乏逻辑思维能力和主动思考的能力软件开发工作是一项高强度的脑力劳动,绝不是照搬照抄能够实现的,而当前高职学生普遍缺乏逻辑思维能力的现状,是软件开发学习过程中一道难以逾越的鸿沟。2双维度分层实训教学理念双维度分层实训
6、教学方法从软件项目的功能和过程两个维度着手,对于每个维度再开展分层实训教学,引导学生由浅入深、由简到难,逐步深入了解程序架构和具体代码,并经过反复多次不同难度的训练,提高学生的实际动手操作技能4。图 1 双维度分层实训教学理念框架图 1 展示双维度分层实训教学理念总体框架。通过开展双维度分层实训教学改革,在软件项目的多个不同难度层次反复进行训练,符合目前高职学生的技能训练和认知模式,可以显著提高和明显改善学生相关问题:软件开发实训教学效果差,实际编码能力难以提升;在软件开发过程中纠错排错能力弱,遇到错误束手无策甚至放弃继续学习;对于程序代码只会处于低层次的模仿,无法真正理解源码并进行进一步修改
7、、完善和拓展。双维度分层式实训教学改革的基本目标:有效地提高学生软件开发实训效果,让学生不仅能够从总体上把握项目的整体架构,还能够了解项目的处理流程,真正掌握项目中源码的功能和意2023218计 算 机 教 育Computer Education义,并且可以在现有项目的基础之上,能进行一些指令的修改、完善和扩展,以适应新的功能需求、解决新的问题。同时,通过反复多次不同难度的编码和调试训练,学生的软件编码能力、程序排错纠错能力得到有效提高。3双维度分层实训教学应用及效果在软件项目的多个不同难度层次反复进行训练,符合目前高职学生的技能训练和认知模式,真正提高软件技术相关专业学生的动手操作能力,以实
8、现培养高技能软件专业人才的根本目标。通过设置双维度分层实训模式,使得学生能够由浅入深、由直观到抽象、循序渐进地了解项目直观的运行效果、项目框架结构、项目文件组成、项目的代码构成、算法的实现思路,直至理解项目中每句重点代码的功能。分层式实训教学模式也非常注重学生纠错排错能力的培养,在每个层次都会安排相应的纠错排错技能训练,介绍和演示程序调试工具的使用,阐述软件纠错排错的常用思路和方法,以提高学生的纠错排错能力5-7。以 Java Web 程序设计中的用户注册登录系统为例,双维度分层实训教学过程如下。3.1功能维度的分层利用基本的表单和服务端代码实现最简单的用户登录系统;在登录的基础上增加用户注册
9、的功能,用户注册数据采用 Application 对象进行暂存,简化实现难度;在用户注册登录基本功能基础上,引入会话技术,使得用户登录状态能够持续保持;在前一层的基础上,引入数据库技术实现用户注册登录,实现对用户注册数据的集中存储和管理;在前一层的基础上,引入框架技术实现用户注册登录,利用 MVC 架构实现功能更加复杂、更加完善的用户注册登录系统。至此一个比较完整的用户登录系统基本实现,与实际应用场景中的用户注册登录系统功能需求已非常接近。在实际软件项目开发过程中,根据项目的实际功能复杂程度,划分的层次可以进行灵活设置。3.2过程维度的分层在实施每个功能层次的项目实训中,再从过程维度进行分层,
10、前期功能简单的项目实训过程层次少,后期复杂的项目实训过程层次相应增加。根据项目难度引导学生分层开展技能训练,不同难度项目的层次设置可以进行适当的增减,大致可以按以下层次过程开展实训教学6。(1)直接导入项目,并运行体验。首先由教师提供一个完整的可运行项目源码,让学生以直接导入的方式运行该项目,体验项目的各项功能。该层次训练侧重对项目实现效果的直观感受,增强学生的感性认识。在此阶段,要重视学生环境搭建配置、参数配置方面问题的纠错排错能力训练。(2)自建项目,拷贝文件,再运行体验。在第一层次训练的基础上,要求学生自己建项目,然后通过拷贝文件的方式重构项目,该层次侧重对项目的框架结构、文件组成层面的
11、理解和掌握。在此阶段,要重视学生在项目架构、文件格式以及文件之间调用关系方面问题的纠错排错能力训练。(3)自建项目,自建文件,拷贝代码,再运行体验。在前 2 个层次的训练基础上,学生已对项目运行效果以及项目框架有了大概的了解和直观的感受,本层次训练要求学生深入到文件代码内部,让学生自建项目,自建文件,然后通过复制代码的方式建立每一个程序文件,本层次训练侧重对项目中具体代码组成层面的掌握。在此阶段,要重视学生在代码格式、代码构成关系等方面问题的纠错排错能力训练。(4)自建项目和文件,模仿源码手工编写源码。本层训练要求学生自己模仿源码进行代码的编写工作,采取边运行边输出边检验边调试的方式,加深对源
12、码功能的理解,本层训练侧重对项目中源码的功能和实现方式的理解。在此阶段,要重视语言的基本语法、语句基本功能方面问题的纠错排错能力训练,要求学生善于利用查看程序的中间输出结果来检验语法语义格式和程序逻辑是否正确。(5)自建完整项目,并经过多次模仿编写后,达到源码裸编的程度,侧重对操作技能熟练度的训练,以及对源码的深入理解,为后期的代码修改和拓展奠定基础。本阶段是上一阶段的教育与教学研究第 4 期219反复训练过程,在掌握基本语法和语义的基础上,可以加强学生在程序运行逻辑方面问题纠错排错能力的训练。此阶段可以专门给学生系统讲解软件常用的纠错排错工具、技术、方法和一些使用技巧,如异常捕获、断点设置、
13、单步调试等 技术。(6)有了以上几个层次的训练,学生基本上可以掌握原项目的基本功能、项目框架、文件之间的调用关系、核心代码段的基本功能等项目的主要内容。在此基础上,本层训练要求学生在原来项目基础上进行参数和功能的修改,以进一步深入理解代码及各种参数的功能。(7)在原有项目的基础上进行功能的拓展或实现方式上的改变。本过程主要训练学生的融会贯通、学以致用的能力。此阶段可以加强学生在软件分析、设计构思等方面存在的常见问题开展纠错排错训练。(8)创新发挥阶段。此阶段侧重于引导学生利用已有的知识和技能去解决新的问题、实现新的功能,这个过程可以延续到课程结束之后,甚至毕业之后。在双维度分层实训教学方法的基
14、本思想指导下,学院软件专业项目教学团队经历了近 3 年的教学实践,针对 2018 级、2019 级和 2020 级的软件技术专业、移动互联应用开发专业共 12 个班级开展了应用实践探索,通过师生之间、教师之间的反复交流研讨,不断地丰富和完善双维度分层实训教学方法在实际软件项目开发教学中的具体应用措施,取得了较好的教学效果。学生在软件开发实训中按照双维度分层实训教学方法思路,由浅入深地开展实训,大多数学生反馈在这种教学模式下的每个层次都有不同的收获,而且起步难度不大,便于上手,得到了大部分学生的一致认可。笔者在 20192020 学年和 20202021 学年因采用该方法开展实训教学,学生教学评
15、价分数基本保持在 97 分以上,连续 2 次荣获学校教学质量考核优秀等级,这从侧面反映了该实训教学方法改革在软件项目开发实践教学中的实施效果。4结 语在该实训教学方法的教学实践应用探索过程中,虽已取得了一定的成效,但也出现了一些新的问题。由于该方法按照双维度多层次的模式设置实训教学内容,学生的实训工作量会大幅增加,按照总课时不变,理论实践 1:1 的配比,实训时间远远不够,在正常的实训课中无法完成整个实训的安排,需要调整理论实践课时比例或者增加实践教学课时。此外,学生在实训中的毅力和恒心需要不断地给予鼓励和支持,否则一些学生很难坚持完成所有层次的训练;学生的自主钻研意识还需要正确的引导和激励,
16、职业院校的学生在这方面还是非常薄弱的。针对出现的新问题,后续有待于进一步在教学实践中进行应用探索和研究,不断丰富和完善双维度分层实训教学方法在职业教育层次的软件开发实践教学中的应用理论和实践体系。参考文献:1 黄承宁,李双梅,李程.产教融合软件人才培养模式探索与实践J.软件导刊,2020(4):281-284.2 李雪玲.高职计算机软件技术专业实践教学体系的重构研究J.中国新通信,2020(16):53.3 胡君.高职软件技术专业实训课教学中存在的问题及对策研究J.电脑知识与技术,2017,13(14):134-135.4 李金忠,夏洁武.计算机类专业软件开发能力培养模式探索与实践J.软件导刊,2020,19(11):241-244.5 黄涛.高职软件开发实训类课程的设计研究J.武汉职业技术学院学报,2016(6):78-81.6 祁春霞.校企合作在软件项目开发实训课程中的实践J.电脑知识与技术,2021,17(4):121-122.7 丁俊.高等职业院校软件开发类专业课程教学方法改革的创新与探索J.电脑知识与技术,2019,15(27):124-126.(编辑:史志伟)