鸿福范文网
当前位置 首页 > 范文大全 > 公文范文 >

项目教学中应用迭代开发方法的研究和实践

发布时间:2022-11-03 16:40:03 浏览数:


打开文本图片集

摘要: 本文主要介绍迭代式项目教学法在高职教学中的应用,引入现代软件工程的迭代开发方法,给出迭代项目教学的设计方法和设计原则,并以Java程序设计课程为例详细阐述实施过程,指出在实施过程中应包含的三个步骤和迭代内容,最后说明采用迭代项目教学法对培养学生编程逻辑思维、提升编程兴趣、掌握编程技能产生良好的效果。

关键词:迭代;项目教学;教学设计;编程逻辑;Java程序设计

在传统的计算机教学过程中,高职类学生软件课学习的知识面过于庞大,且知识点分散在不同教学单元,知识点之间的衔接也不够紧凑、不够连贯,这不仅影响学生的学习效果,也使教师在传授知识时缺乏整体感,这样的教学难以培养学生发现问题、分析问题、解决实际问题的能力[1]。

为了适应社会对高职人才的需求、适应计算机课程的教学要求,针对高职学生的特点,笔者将迭代开发法用于计算机软件课程的项目教学[2],在实践中取得了良好的教学效果。通过在课堂教学中营造软件项目开发环境,不断引导学生采用多次迭代开发的方法完成一个真实项目。课程的教学内容被分解到每一次迭代中,课程的教学目标在迭代中逐步实现。在项目由简到繁的迭代开发中,学生不仅学到了课程知识,设计出功能完善的软件系统,同时,对实际项目开发也有了切身体验和实践,开发技能得到了充分的训练。

1应用迭代开发方法进行项目教学的概述

1.1迭代开发方法

迭代是数学上的一种求解方程的方法,也叫逐次逼近法,是一种通过求近似根的序列收敛,最终得到较为精确解的过程。迭代的过程是不断重复的,但每次迭代的初值不同。

现代软件工程中的迭代开发法原理同样采用多次重复开发的方式,每次递增地实现开发任务[3],直到最终产品被完成。迭代开发中,开发任务被分解成一些更容易实现的阶段性目标,每个目标有其定义明确的阶段性评估标准,迭代就是为了完成给定的阶段目标。通过渐进的开发过程,阶段目标形成一系列功能递增的软件版本,在循环往复中逐步完善软件系统。

1.2迭代开发方法在项目教学中的运用

在项目教学中采用迭代开发的方法的关键是根据课程目标选取一个典型而功能完善的教学项目。通过将该教学项目划分为能够覆盖课程主要知识点的一系列迭代案例[4]。课堂教学中模拟软件项目的开发流程,以迭代案例为阶段目标,由浅到深、由易到难循序渐进的推进教学进度,不断实现阶段性案例,增强软件项目的功能,最终实现软件开发的阶段目标和教学目标的同步进行直至教学任务和软件最终版本的完成。

2迭代项目教学的设计

2.1迭代项目教学的设计要求

在计算机软件类的项目教学中,项目要体现出迭代特征,从最初的雏形经过一系列迭代演化,由部分到整体,最终形成一个功能完整的系统。项目教学作为高职院校实践技能教学的重要方法,不仅要满足真实性和典型性,还要符合以下要求。

(1) 项目的可分解性。采用的教学项目可分解成多个独立的案例,可以映射教学目标中不同教学单元的主要知识点。在整个教学过程中始终以教学项目为导向,根据项目分解的案例进行相应教学单元的教学,能够激发学生的兴趣,引导学生深入思考,启迪学生的思维,加深教学内容的理解。

(2) 项目的迭代性。在采用的教学项目分解为独立案例的前提下,要求多个独立案例之间呈现出功能从弱到强的特征,随着该顺序推进教学进度,形成的案例功能越来越完善,直到课程教学任务的完成,完整的教学项目才最后实现。同时,学生通过对教学项目的亲身实践,能够体会到知识的连贯性和螺旋上升性。

2.2迭代项目教学的设计原则

运用迭代项目教学法,要遵循如下基本原则:在宏观层面,案例的迭代渐进与教学单元的安排次序相对应;在微观层面,案例的阶段目标与覆盖了教学单元的主要知识点。设计原则如图1所示。

3迭代项目教学方法的实施过程

本文以编程逻辑-Java程序设计教学为例,选取“超市购物管理系统”作为迭代式项目教学法的开发项目,说明在高职计算机软件课程教学中迭代项目教学方法的实施过程。

3.1 “超市购物管理系统”教学项目功能的分析

超市购物是学生接触的真实环境,在学生熟悉其功能的前提下让学生自己动手开发一个超市购物管理系统,很容易引起学生的好奇,并提高其对课程的学习兴趣。同时,该项目涉及编程逻辑中的核心知识要点,经分解和细化各项功能,可作为迭代开发的教学项目。

超市购物管理系统功能分解如图2所示。

3.2编程逻辑-Java程序设计的教学目标分析

编程逻辑-Java程序设计的教学目标是:让学生掌握基本的Java Application的基本结构,熟练运用各种运算符、表达式以及常用流程控制语句和数组的使用,注重培养学生分析问题、解决问题的能力,养成良好的编程规范,提高学生的职业素养。因此,编程逻辑-Java程序设计课程的主要教学单元是:(1)Java起步;(2)Java变量;(3)Java操作符;(4)Java表达式、语句和代码块;(5)Java流程控制语句;(6)Java数组。

3.3 “超市购物管理系统”与编程逻辑-Java程序设计课程的关联

超市购物管理系统的6个子模块涵盖了编程逻辑-Java程序设计课程的核心知识点,因此,教学项目与课程教学目标的总体思路是基本一致的。

根据迭代开发的原则,项目分解为更易实现的独立案例。下面介绍项目的分解及迭代开发过程。根据“超市购物管理系统”的设计,编程逻辑-Java程序设计课程的教学过程中实现进行了六次迭代。每次迭代开发均涉及不同的教学单元和知识点,并逐步推进课程教学,实现的“超市购物管理系统”功能也在不断增强。

(1) 第一次迭代,案例目标(任务1):超市小票的打印功能,对应“Java起步”和“Java语句”教学单元,涉及主要知点:Java Application的基本结构和Java开发工具包的常用命令。

作为项目迭代的启动阶段,要通过“超市购物管理系统”的实际演示来让学生对教学项目有个总体认知,同时了解课程总体的教学目标。然后师生共同分解出第一次迭代案例的任务,打印输出超市小票。将学生引入编程领域,熟悉Java Application的基本结构,会根据真实的超市小票进行打印输出,会使用Java命令编译程序,会使用Java命令执行程序。

同时,在实践过程中要提出程序名的行业命名规则和程序代码的编写规范。

(2) 第二次迭代,案例目标(任务2):超市购物结算功能,对应“Java变量”、“Java运算符”和“Java表达式、语句和代码块”教学单元;涉及主要知识点:使用变量的三个步骤、基本的数据类型(String、int、double、char)、基本的算术运算符(+、-、*)、赋值运算符(=)。

在这一阶段,教师引导学生学习变量的作用及其使用的三个步骤,使用算术运算符对超市购物进行简单的逻辑计算,无形中学会运用表达式,使第一次迭代中超市小票的输出具有一定的现实意义。这样,让学生先体会到原来在超市管理系统中的结账功能用很简单的算术运算就可以实现,再辅以形象生动的多媒体动态演示,让学生轻松掌握数据类型的作用以及变量存在的必然性及变量使用的三个步骤。

同时,在实践过程中要强调变量的行业命名规范和提出对程序编码规范的要求。

(3) 第三次迭代,案例目标(任务3):录入会员信息功能,包含“Java起步”、“Java运算符”、“Java表达式、语句和代码块”和“Java流程控制语句”教学单元;涉及主要知识点:算术运算符(/、%)、比较运算符(<、>)、逻辑运算符("|)、在命令行模式下与程序互动(Scanner)、next()、nextInt()、nextDouble()、if-else语句。

在这一阶段,我们引导学生可以对程序输入一些数据,作一些傻瓜式的互动。在Java SE 5.0以后,可以使用java.util.Scanner类取得使用者的输入,要求录入会员的卡号和积分。

在该阶段,要求会员的卡号为四位整数,引导学生会对变量和字面常量进行简单的比较、会使用简单的if-else流程控制语句。

在第一次迭代中,学生对给变量赋值在程序的情形不符合现实生活中的情形发生质疑,此时应该引导学生将固定值升级为用户与程序的互动,而且引导学生使用/和%计算出会员卡号的所有数字之和,复习刚刚学过的比较运算符,如果卡号所有数字之和大于20,可以获得超市的精美礼品一份。

(4) 第四次迭代,案例目标(任务4):真情回馈抽奖功能,“Java起步”、“Java运算符”、“Java表达式、语句和代码块”和“Java流程控制语句”教学单元;涉及主要知识点:if-else语句、switch语句、Math.random()函数。

根据超市为了鼓励顾客使用会员卡,对会员积分的不同等级设置相应的打折优惠,此时引导学生编写复杂的if-else语句,并且学习switch语句实现同样的功能。

在第三迭代的基础上,引入Math.random()函数生成一个0-9之间的随机整数,判断顾客卡号十位数字是否等于随机生成的整数,如果相等则赠送精美礼品。这样就降低了获得赠品的几率,既符合现实生活中的实际情形又能使得学生很容易接受新的知识点。

(5) 第五次迭代,案例目标(任务5):读取物品条码模块,对应“Java起步”、“Java运算符”、“Java表达式、语句和代码块”和“Java流程控制语句”教学单元;涉及主要知识点:switch语句、while语句、for语句。

因为超市的物品都是通过读取条形码来获取物品的名称和价格,所以在第五次迭代中引导学生使用while语句和switch语句的结合来模拟通过用户连续输入物品的条形码来获取物品的名称和价格。然后,演示for语句、do-while语句也可以实现同样的功能。

(6) 第六次迭代,案例目标(任务6):系统管理菜单,对应“Java起步”、“Java运算符”、“Java表达式、语句和代码块”和“Java流程控制语句”教学单元;涉及主要知识点:do-while语句、for语句、boolean类型。

在前面迭代的基础上,使用do-while语句、if语句结合随机函数编程实现礼品馈赠的活动。要求使用if语句和for语句来编程实现超市会员中年龄超过30的会员数量的统计。

同时启发学生使用do-while语句和if语句编程实现相应的系统管理菜单,根据用户选择不同的菜单,执行相应的功能。

该授课理念避免了注重学习的循序渐进和积累的老套路,不再按照教学内容的从易到难的顺序,而是以完成一个又一个紧密相衔接的任务来驱动学生学习,从而达到教学目标。这样,随着教学内容的逐步深入,学生在课堂上经历了项目的迭代开发过程,逐步实现了一个功能完整的“超市购物管理系统”。

4迭代项目教学方法的作用

4.1促使学生循序渐进的掌握知识点

在迭代式项目教学中,课程的教学内容紧紧围绕着项目的迭代案例开发而逐步展开。每一个迭代案例的初期,可促使学生温习已掌握的知识点,同时在本次迭代开发过程中,案例即将完成的新功能能够激发起学生的求知欲和创新意识。通过循环渐进的阶段案例教学,学生能够充分熟悉所学内容,了解教学内容在教学项目中的作用。

4.2提高学生的实践动手能力

教学项目在不同教学单元中反复出现,能进一步加深学生对所学知识的理解和掌握,并不断强化学生采用Java进行软件开发的技能。

5结语

高职教育就是就业教育,面向市场、面向社会办学是高职教育的立足之本。近几年来的教学实践表明,通过对引进的模拟企业项目实现过程中运用迭代教学法,使知识、技能、思维方法循序渐进、环环相扣,形成了一条合理的认知链。从对施用不同教学方法的两届学生相关信息的跟踪对比结果看,适用了项目迭代法的学生对以往枯燥的编程课程产生了浓厚学习兴趣,更为重要的是潜移默化地滋养了学生的编程逻辑思维,提高了专业实践能力,尤其是对后继课程以至整个专业课程的学习都产生了非常重要的影响。

参考文献:

[1] 姜大源. 职业教育学研究新论[M].北京:教育科学出版社,2007.

[2] 曾爱民,蒋丽波,于顺达. 采用项目教学法培养学生职业能力的研究与实践[J]. 职业技术,2009(9):37.

[3] 蒋庆斌,徐国庆. 基于工作任务的职业教育项目课程研究[J].职业技术教育,2005(22):46-50.

[4] 张家军,靳玉乐. 论案例教学的本质与特点[J]. 中国教育学刊,2004,1(1):48-50.

The Design and Implement of the Basis of Computer Applications Teaching System Based on Campus Network Research and Practice of Apply Iterative Development Methodology in Project Teaching

CHEN Zhan-sheng1, WANG Ting-mei1, LI Ming2

(1. Applied Science and Technology College, Beijing Union University, Beijing 102200, China; 2.Special Education College, Beijing Union University,Beijing 100041, China )

Abstract: This paper describes the application of iterative project teaching in higher vocational teaching, the introduction of modern software engineering iterative development approach, shows the design methods and design principles of the iterative project teaching, and detailed in the implementation process of Java programming courses cases, pointing out that in the implementation process should be included in a three-step and iterative content, Finally, we illustrate the iterative project teaching methods is helpful to students, Including the culture of the programming logic, the enhance of the interest in programming, the master the skills of the programming .

Key words: iterative; project teaching; teaching design; programming logic; Java programming

(编辑:郭小明)

推荐访问:实践 迭代 方法 项目 开发

相关文章:

热门文章
Top