APP下载

基于敏捷开发模式的计算机教学实践探究

2022-11-19李栋孙世文李红杰

现代信息科技 2022年19期
关键词:编程知识点考核

李栋,孙世文,李红杰

(山东青年政治学院,山东 济南 250103)

0 引 言

敏捷开发模式常见于互联网信息企业开发工作中,具备任务具体明确、灵活多变、快速反馈、完成度高等特点,在实践开发中取得了不错的效果。近年来基于多种创新教学模式教学改革的研究应用也越来越多。本文探究敏捷开发用于计算机专业课程的教学改革方法,目的在于通过敏捷开发模式在实践教学中的应用,激发学生的学习新知识的兴趣和动力,锻炼提升学生的实践动手能力,提高教学质量。

1 多种教学模式在教学中的应用

敏捷开发模式应用在教学中是指将教学内容中的章节模块化、知识点需求化、学习方式任务化,结合过程迭代实现和任务验收方法,对学生在学习过程中遇到的问题给予及时指导,对教授课堂内容进行相应的优化调整,并利用学习任务本身促进学生提升学习能力的一种教学方法。最近几年,多种创新教学模式在计算机教学探究实践中得到了很好的应用效果。杨巧梅[1]研究了任务激励在计算机网络课程中的应用并进行了实践,取得较好的教学效果。何颖刚等[2]的基于课堂派和PTA 的混合式教学实践与探索有效激发了学生的学习兴趣,显著提升了教学效果。闫鹏[3]的虚拟现实技术课程设计与教学实践为相关课程教学活动的开展提供了很好的借鉴。方洁[4]针对程序设计类课程提出基于“线上+线下”“主讲+外聘”的综合改革方案,取得了不错的教学效果。杨云海等[5]的分课堂模式对于提高数据库课程课堂教学效果也有一定的作用。本文主要尝试探究把敏捷开发模式应用到程序设计类课程教学的教学改革中,以“Python Web 程序设计”课程为例,通过把教授课程内容需求化、模块化任务化,结合迭代周期内相应的过程实现,提升学生的学习效果。

2 教育现状

“Python Web 程序设计”课程属于计算机专业基础核心课程,这类编程课程一般概念抽象,重理论基础且实践性强,即要求理论知识与实践编程相结合。学生学习比较困难,如何让学生理解和掌握课程内容中的知识点,达到教学目标,提升教学质量这对课程教学来说是个巨大的挑战。本文根据多年的编程类课程的教学经验总结出该类课程在教学中的主要问题有以下三个方面:

(1)理论知识难于掌握。学生在学习相关理论知识点的时候,无法对其进行有效的理解掌握,且易降低学生学习的积极性和主动性。

(2)理论与实践无法做到有效结合。目前业界对于这类编程的课程教学模式单一且传统,一般都是对着教材先进行理论知识点的讲解,然后课后再布置相关作业去完成,这样做的缺点是将理论与实践割裂开来,无法将理论与实践有机结合起来,无法做到融会贯通。

(3)考核机制不够灵活。传统的考核机制比较在意结果,轻视过程,且期末考核成绩比重大,难以体现过程的重要性,会造成平时学生不用功,期末临考前突击的现象。因此,“Python Web 程序设计”课程的教学改革的重点应从乐于掌握理论知识、理论与实践相结合出发点,采用基于敏捷开发模式的教学方法,配合以灵活的考核手段,注重过程积累和把控,把理论教学和实验教学一体化,充分发挥实验教学的作用,使得学生持续保持学习热情,从而提升教学质量。为保证课堂质量,统一开发环境,教学实践部分采取线上教学平台,如图1 所示。

图1 云计算实验教学平台

3 敏捷开发型教学的实践探究

以“Python Web 程序设计”课程为例,基于敏捷开发模式的教学实践探究就是把这门课当成一个产品,结合课程大纲要求,把每一章节当成这个产品的一个组件,将之模块化,按照每章节内容的知识点,对其进行拆分,将所学知识点变成对应的需求,产品周期为一个学期,整个产品周期内的一个迭代周期为一周,每周需完成相应需求的实现,并有对应的阶段性成果,完成本次迭代敏捷开发也就完成本章内容的学习,下周上课前段时间进行验收上一周的学习成果以此来检查学生的学习效果,多轮迭代后形成一个完整的产品,即完成了整个课程的学习,在整个过程中配以灵活的考核机制激励学生,从而达到理论与实践相结合,理论指导实践,实践加深理论理解的目的。研究中以“Python 在线题库”综合项目为例,探究基于敏捷开发模式教学方案。综上所述,基于敏捷开发模式的教学模式设计框架图如图2 所示。

图2 敏捷开发模式教学设计框架图

3.1 人员划分

敏捷开发中,是以小组为单位进行开发,因此在教学实践中,可以将一个教学班级按照5 到8 人划分为一组进行敏捷迭代开发,这样一个教学班级大致可以划分为4 到6 个组。其中1 人为产品经理,负责产品需求的梳理以及拆分;另外3 到4 人负责开发,将具体需求进行开发并实现其对应功能;剩余2 到3 人负责测试,负责验证需求的理解是否正确以及实现功能是否正确,并对本次迭代开发质量负责;最后由老师进行验收,成绩由老师判定。

3.2 确定教学内容

即将每周要讲的内容首先按照敏捷开发方式,将本次要讲解的知识点拆分成需求点,由老师对这些知识点进行讲解,后以任务形式下发给每个组。

以课程中的模型和数据库这一章节为例,该章的重点为模型基础以及数据操作的方法,难点为索引,以及关系的定义。按照传统的讲解方式先对相关概念进行讲述,然后再进行相关作业的布置,难以达到教学目的,因此我们结合“Python 在线题库”项目中的相关功能点去对上述的知识点进行梳理,得到一个个具体的需求。项目中有个功能为试题管理模块,主要功能是具有试题管理权限的用户可以添加、修改和删除试题库中的试题,那么其中的添加、修改和删除试题库中的试题就涉及本章要讲的主要内容,即模型和数据库。要实现其功能相关功能,那么就要定义试题类型的模型,以及后续相关的数据库同步操作以及增删改查等操作,这个就是把要讲的知识点融入“Python 在线题库”这个项目中去。

讲完之后,各个小组开始负责去做相关功能的设计以及实现,其中,当实现过程中遇到不明白的问题,需要和老师沟通时,那么每个小组的产品经理负责和老师来沟通,当需求明确了之后,再回各自小组去和成员进行讲解交流,如此一来,每个小组中的产品经理至少会对需求比较明确,且对知识点的理解比较深刻,由他负责向小组成员讲解具体的需求点,即相关知识点。需求明确后,则由1 到2 人负责具体的开发实现,实现过程中遇到的相关技术问题可以通过书籍查找、网上搜索、小组讨论的形式解决,从而提升学生编程的实践能力。最后再由一名学生担任测试人员的角色,完成对开发出来的功能的测试,从而完善产品,比如查找的效率问题,可以引入索引。

由此可见,敏捷开发小组的不同成员都有不同的侧重点,产品经理侧重需求,比较对理论知识点的把握更深入,开发者侧重编程实践能力,测试者侧重产品的功能完整性和效率等。当然,每个敏捷开发小组的成员角色不是固定的,可以采取灵活的方式,在不同的迭代周期内担任不同的角色,从而助于对自身对于知识点的掌握,编程能力和产品功效性理解的全面提升。因此,在每一章节的教学实践中,运用敏捷开发模式,基本分为拆分需求、实现开发、功能测试和成果验收四个阶段,流程如图3 所示。其中的教学内容以及实现产品相关软件资源也可从线上教学平台获取,如图4、5 所示。

图3 敏捷模式教学实践流程

图4 教学内容

图5 开发软件资源列表

3.3 学习效果验收

教学中的每个迭代周期为一个学习周,每个周期内布置的任务适量,周期内能完成即可。下一周上课的前20 分钟,可以由老师扮演验收者的角色,每个小组选派一名成员,来向老师展示上个迭代内完成的产品功能,通过产品功能的展示,老师可以得知学生学习的效果以期动态的调整任务的安排和知识点的讲解,还锻炼了学生之间相互协作以及表达沟通的能力。

第四是灵活的考核机制。由于教学班一般有4 到6 个小组,因此每次可以通过验收来评选出做得较好的前三名小组对其进行一定的奖励,比如平时成绩小组成员都加5 分,奖励一些学习物品等。再者既然强调过程性考核,就需要将平时考核占比调整比例稍大一些,比如提升至40%到50%,以强调过程控制和激励。采取灵活的考核机制,可以把理论和实验教学相互融合,充分调动学生学习的积极性。

4 结 论

实践结果显示,应用敏捷开发模式教学方法后课堂授课质量得到了很好的提高。首先,学生学习更加积极主动,对于知识的掌握更加牢固,编程实践动手能力提升很大,达到了理论知识与实践编程相结合的效果,教学质量有了很大的提高。但在应用敏捷开发模式教学过程中,也出现了一些问题。例如有些章节的内容较多、任务安排过重,导致迭代周期内无法很好地完成;有些知识点和产品的需求结合还做得不够好,还可以再细致些;考核机制可以再多样化一些,从更多的维度去考量评价,尽量做到公平公正,如实反映学生的学习水平和能力。因此需要针对这些问题和不足,在后续的教学中去改进,不断完善这种教学模式,提升教学质量。

猜你喜欢

编程知识点考核
一张图知识点
一张图知识点
第四页 知识点 歼轰-7A
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
内部考核
纺织机上诞生的编程
创新完善机制 做实做优考核
公立医院 如何考核?