【论文】基于项目的渐进式教学在VB课堂中的实践
时间:2015-09-18 来源:

                                                          ◎杭州市临平职业高级中学 张继辉

摘要 如何突破传统教学的章节弊端,设计与企业软件开发一致的项目进行课堂教学,这是职业教育不断探索的一个课题。本文以项目教学理论为基础,讲述如何通过设计与企业软件开发模式类似的仿真项目,在VB程序设计课堂中模拟完整软件开发流程,选择具有实战性的教学内容通过渐进式的教学,培养学生的技能水平,从而提升学生综合职业素质。

关键词 项目教学  VB教学

一、VB教学现状

VB是中职计算机专业学生的一门必修专业课,是软件开发的一个基础工具。目前的VB教学,从教学方法来看,主要有以知识体系为主的传统教学和以技能训练为主的项目教学两大类,而在实际教学过程中,这两大类教学都存在一些问题:

在以知识体系为主的教学中,均以知识章节为基础进行设计,缺乏企业实战的思想,如教材中的控件章节,第一课时内容为按钮控件,第二课时内容为Image控件,第三课时内容为组合框控件等,然后在这些知识点的基础上进行教学或设计简单的“任务”进行教学,这样的“任务”实际就是如何解决课后习题。如此教学进程,只能使学生掌握单个控件的相关知识,难以教会他们成体系的编程思想和紧密的逻辑思维能力,不明白编程是要以用户需求为基本要求,最终为用户服务的,这就失去了学习VB的真正意义,最终学生学会的还是块状的知识,只会编写如课后题目般的程序,缺乏编写真正应用程序的能力,也就无法使学生真正在校就掌握一门足以谋生的技能。

而一步到位式的项目教学,通过设计一个仿真企业生产实践的项目,让学生在实践中学会知识与技能,但往往由于项目过大、过复杂,缺乏一个渐进式的认知过程,容易让学生感到无所适从,从而失去锻炼的价值。

二、VB教学设想

       基于上述问题,提出“基于项目的渐进式教学”方法,通过设计一个仿真的企业软件开发项目作为教学平台,同时根据学生的认知规律,将项目分成若干渐进式实施步骤,逐步扩展软件功能或者同一功能不同方法实现,而每一次功能或方法的增加,都是基于*#*同一个项目平台,是在学生熟悉的环境中进行,从而使学生的知识学习与技能训练能有序的进行。

       如在VB控件教学中,设计一个《图片浏览器》软件项目,分3步完成教学,第一步设计一个简单的图片浏览器,利用按钮完成浏览、图片缩放功能,第二步增加图片翻页功能,第三步增加菜单实现浏览、图片缩放、翻页、自动播放等功能,每一步完成后,都能形成一个完整的软件。整个过程需要完成软件开发设计的全部步骤,后一步是基于前一步的完善和升华。

三、VB教学方法与策略

       项目教学成败,与项目设计的成功与否密切相关。结合企业开发模式进行项目设计,需要对企业的软件开发流程,项目内容有深入的了解,在此基础上完成一个项目设计书,作为教学的依据。项目的前期设计,主要从仿真型课堂情境设计、实战型项目内容选择两个方面进行考虑。

  1. 仿真型课堂情境设置

中等职业学校计算机专业学生,毕业后一般均从事技术蓝领工作,VB程序设计语言,是一门软件开发工具,因此项目设计必须依据企业软件开发流程进行,为学生设置一个与企业相似的情境,模拟软件开发的各个环节。一般分为需求分析、总体结构设计、窗体与代码设计、程序测试、打包提交、总结反馈六个方面。传统课堂教学只围绕窗体与代码设计这一环节进行,与企业实际操作脱节,而仿真型课堂情境设置,在每个项目设计上都走完软件开发的完整步骤,避免了教学就是单一的窗体与代码设计训练,使学生在课堂上便能接触到企业的工作流程,使教学与工作接轨,与生活结合。

表一:传统课堂情境设置与仿真型课堂情境设置比较表

项目

传统课堂情境设置

仿真型课堂情境设置

需求分析

有,注重师生间交流

总体结构设计

有,书面方案

窗体与代码设计

基于某个小程序

有,基于功能模块

程序测试

能运行,结果正确就行,不重视程序效率、健壮性检查

内部测试与外部测试相结合,注重程序的正确性、健壮性、高效性

打包提交

总结反馈

作品展示、教师点评

除作品展示、教师点评外,需完成评价表或项目结题报告

渐进式的实战型项目设计*#*中职VB教学的项目内容应与学生毕业后的社会需求紧密相连,应脱离教材的章节限制,实行“按需教学”,即在项目进行中对需要用到的知识点进行教学。采用基于项目的渐进式教学,具有以下优点:

(1) 能营造一个仿真的情境

VB项目教学的内容,必须以工作任务为依托,能够展现软件开发的六个环节,为学生营造一个企业软件开发的环境,模拟企业的真实开发流程,积累经验,提升自身职业素养。

(2) 能整合相关知识点

项目教学的其中一个特点便是消除了传统教学的诸多弊端,能够以项目为核心,构建新的知识体系。融合后的知识体系更有利于学生接受和吸收,符合学生的认知规律。

(3) 能促进学生的主体发挥

学生作为一个学习主体,有其自身的主观能动性,被动的讲授式课堂教学不利于知识的传递,教学内容的选择,必须能够激发学生的学习兴趣,能够在实践中得到知识、技能和职业道德的积累,同时能激发其对未知世界的探索,充分发挥其自身潜力。

(4) 能产生多样性的结果

作为一门程序设计语言,VB对达成同一目的而可以提供的途径是多样化的,项目设计的内容应避免由于设计者的原因而限制学生的发挥,所选内容应能充分调动学生所学知识,运用不同方法,朝共同的目标努力。

表二:传统教学与实战型项目教学比较表


传统教学

实战型项目教学

仿真环境

有,在仿真或者真实项目中学习

知识点

章节体系结构

知识点整合,以项目为核心

知识获取途径

以教师讲解、学生模仿为主

学生在实践中掌握知识与技能,能充分发挥学生学习主体作用

教学过程

知识点间关联少,前后课堂脱节,不易落到实处

课堂间联系紧密,层次清晰,知识点落实到位

教学结果

在教师主导下,结果单一

结果多样化,多方面体现学生的特点


在下文描述中,将以VB教学中针对窗体、控件等知识点设计的“图片浏览器”软件设计为例,讲述基于项目的渐进式教学在VB课堂中实践。

【案例】《图片浏览器》项目设计内容:*#*《图片浏览器》项目主要内容是利用VB完成一个类似与ACDSee的简化图片浏览软件,程序需要拥有选择路径、图片查看(到顶、上一幅、下一幅、到底)、缩放、自动播放、图片移动等功能,图片在窗口的显示必须居中摆放,图片不能变形,缩放必须按图片原有比例进行。

    项目涉及的教学内容主要有Image控件、按钮控件、DirListBox控件、DriveListBox控件、FilseListBox控件、Timer控件、滚动条控件、菜单、工具栏、状态栏及ActiveX控件的添加,以及相关代码的编写。

项目学时动态分配:

根据我校课时安排情况,《图片浏览器》项目共分3次进行教学,每次两课时,具体课时分配情况如下(每部分均提供VB源代码):

第1、2课时,主要分析所要完成项目的内容,具体形式以及简单图片浏览器的编写,涉及到的控件主要有Image控件、按钮控件、DirListBox控件、DriveListBox控件、FilseListBox控件,程序代码主要是控件相关属性的设置,如Image的LoadPicture属性,Top属性、Left属性、Width属性、Height属性等。这一课时需要完成的程序界面如图1所示:

第3、4课时,主要是拓展图片浏览器的一些功能,主要是能够让图片进行滚动浏览,如上一幅,下一幅等。这部分课时没有增加新的控件种类,主要是对原有功能进行拓展,涉及到的知识点主要是FileListBox相关属性的运用以及循环、选择结构的嵌套运用,鼠标事件的使用(MouseDown、MouseUp),完成图片的移动功能。这一课时需要完成的程序界面如图2所示:*#*

第5、6课时,主要是增加工具栏、菜单的运用,以及增加自动播放功能,涉及到的控件有:Timer控件、滚动条控件,以及ActiveX控件的添加等,代码主要是涉及到循环、选择等结构涉及,过程调用等。这一课时需要完成的程序界面如图3所示:

课后拓展时间,完善功能,如单击时碰到非Image控件支持的文件,如何处理出错信息,增加一些拓展功能,如类似ACDSEE看图软件所拥有的功能那样。同时可以作为部分学生的机动时间,由于学生间的差异,部分学生未必能够在前面6课时时间中完成整个程序,这部分时间可以提供给他们继续完成软件的设计。

在6课时教学中,始终贯穿的一条主线就是程序设计的思想,要为用户服务的涉及理念,方便易用的功能,和谐友善的人机交互界面。*#*

四、项目的教学

1.   项目流程

基于VB项目教学的仿真性与实战性,使学生能切实感受到企业的操作流程与对开发者的职业要求。课堂教学依据项目的情境设计,分为六部分:需求分析、总体结构设计、窗体与代码设计、程序测试、打包提交、总结反馈,流程如图4所示:

(1)    需求分析

教师模拟用户需求提出需完成的项目,学生与教师进行充分的沟通,逐步明确自身的任务,然后列出完成软件开发所需的各个模块。

(2)    总体结构设计

深入了解和分析用户需求,列出软件开发所需的各个大模块及各大模块中的子模块,并给出窗体设计方案,形成一份软件设计方案的电子文档。如整个项目是由小组协作完*#*

成,则需额外提交一份项目任务分配书,明确每个人的分工、各模块接口参数、模块完成时间等。这一阶段需要学生对已学知识有一个整体的把握,要了解哪些模块可以利用已有知识完成,哪些模块需要新知识的支持。

(1)    窗体与代码设计

根据软件设计方案,完成窗体与代码设计。这一阶段即是对旧知识的巩固,也需要完成新知识的教学。利用已有知识完成部分模块设计,可以让学生对教授过的知识有一个系统的认识,能在实践中完成对知识的整合吸收,使之变成自己的财富。同时这一阶段能充分体现学生的主体地位,也能产生多样化的作品设计。

(2)    程序测试

分内部测试与外部测试,内部测试由程序完成者自行测试,完成后小组间交换测试,测试过程中完成程序的修改与完善。这一阶段,通过相互间的测试,既可以了解到完成相同任务不同途径,进一步拓宽自身视野,提升对软件开发的认识,也是相互间查漏补缺的一个环节,使学生明白自身的不足之处。

(3)    打包提交

根据用户的需求,完成软件的打包,并提交到指定路径。

(4)    总结反馈

完成一张项目评价表,根据项目操作的过程,总结自己学习过程的成功之处与不足之处,促进学生的自主学习与鼓励学生进行创新设计。

1.  渐进式的教学进程

一个能够模拟企业软件设计的项目,必然是较为复杂的,不能等同于书本例题或课后习题,需要进行多课时教学,因此要合理规划课时分配和教学进度。渐进式教学过程主要包括按功能模块教学和按实现方式教学两种。

(1) 按功能模块教学

一个大的项目势必是多个功能模块组合的产物,各功能模块间有着各种因果关系或先后顺序,如对一个数据库进行操作,必然是先录入数据,然后进行统计输出,因此,必须设计一个合理的教学顺序,能够使各功能模块的教学过渡自然,符合学生的思维习惯,同时能够激发学生探知欲望,达到教学目的。

(2) 按实现方式教学

对部分新知识点的教学,可以先采用学生已经掌握的方式予以实现,如要求用菜单实现某项功能,但菜单的使用是一个新知识点,则可以让学生先设计一个按钮来实现这项功能,这并不影响项目功能模块的实现与程序调试,在教授了菜单使用后,再将这项*#*

功能移植到菜单下,这也是软件开发过程中常用的一种方法。

【案例】《图片浏览器》项目教学

每次课均完成一定量的功能模块设计,第1、2课时完成图片的浏览、放大缩小,第3、4课时完成图片间的切换,如上一张、下一张等,第5、6课时工具栏、菜单、自动播放功能的设计。

针对部分功能,如图片间的切换功能,则按实现方式进行教学,实现新旧知识的衔接,如图5所示:

五、教学评价

成果评价在一个项目教学中占据重要的位置,主要是以学生为中心进行评价,评价的标准从知识转向了能力,学生自主学习的能力。评价采取过程评价与结果评价相结合的方式,注重学生的学习过程,关注学生在程序设计过程中的每一点成绩,每个项目均设计一张评价表,如表三所示,表内每一项内容,完整地给出了学生需要掌握的知识与技能,也给学生指明了完成作品的方向,有利于学生进行自主学习。作为一个项目,除了过程评价外,成果评价也必不可少,完成了一个作品并加以鼓励,可以提升学生学习的主动性与积极性,使之拥有一种成就感,有利于后续教学。


六、实践效果与反思

1.  实践效果

从学生角度来看,结合企业开发模式设计的项目具有较强的针对性,“做中学”的过程,使学生了解了软件开发的整个流程,作品对学生吸引力高,极大的提升了学生的学习兴趣,增强了学生团队协作能力,从而在技能、思想、职业道德各个方面提升了学生的综合职业素养,渐进式的教学推进,符合学生的认知规律,可以达到理想的教学效果。

从教师角度来看,设计项目的过程,提升了专业教师的技能水平,通过与企业接触、钻研教材、寻找素材,教师的技能得到大幅度的提高,“做中教”的过程,使教师对企业的认识更加全面,对知识与技能的把握更加到位,更有利于培养现代职业人才。*#*

1.   反思

通过联系企业、设计项目、组织教学,发现在实践中还有许多需完善的地方。教师的综合素质需大力提升,需要教师本身就具备一定的软件开发能力与项目组织能力,需要对行业的发展有一个前瞻性的认识,这就需要每位教师走出教室,多与企业接触、多与社会接触,有针对性的参加技能培训。同时需要对目前使用的教材进行梳理,摆脱教材练习的章节体系,摒弃不适用的单纯依赖知识点的课后练习。

职业教育如何培养学生的技能,使之能与企业需求接轨是一个长期研讨的问题,在VB教学中设计与企业应用相结合的项目,选择具有一定仿真性的项目内容,模拟企业软件开发的完整过程进行课堂教学,可以尽早让学生接触企业需求,了解开发流程,在技能上、认知上做好进入企业的准备。