APP下载

项目教学法在Java程序设计实验教学中的应用研究

2016-03-16赵晓雷

渭南师范学院学报 2016年6期
关键词:教学过程项目教学法程序设计

赵晓雷

(渭南师范学院网络安全与信息化学院,陕西渭南714099)



项目教学法在Java程序设计实验教学中的应用研究

赵晓雷

(渭南师范学院网络安全与信息化学院,陕西渭南714099)

摘 要:项目教学法以项目为主线、以案例为主导,目的在于把学生的整个活动融于项目的开发中,发挥学生的想象力和创造力,从而提高学生解决实际问题的能力。将项目教学法引入Java程序设计实验课堂教学,其实施环节为项目的选择、项目具体实施过程中项目的分配、项目小组活动的实施与完成等。项目教学法的实施,不仅能够使学生对整个软件的开发有一个更为直观和全面的认识,而且有利于培养学生的团队协作精神,也有利于教师业务能力的展开和业务水平的提升。

关键词:项目教学法;程序设计;教学过程;教学效果

随着时代的发展,当前许多高校已开设Java程序设计课程,该课程已成为高校计算机专业的核心课程之一。在教育部计算机基础课程教学指导委员会制定的白皮书中,Java课程也被列为核心课程之一。同时,伴随着Java在Internet中的广泛应用,各企业对学生的Java编程能力也有越来越高的要求。作为计算机专业的学生必须要熟练掌握Java语言的编程能力、编程技巧和编程方法。在Java的教学环节中,既有课堂的理论教学,又有上机实验教学。上机实验教学作为Java编程能力培养的一个重要环节,不仅能够培养计算机专业学生观察、分析和解决问题的能力,而且对学生的创新意识、思维能力的培养起着至关重要的作用。然而,Java实践教学环节在大部分高校中经常被忽略或者流于形式。因此,深入研究和探讨Java程序设计实验教学工作的新模式和新方法就显得尤为重要。

一、项目式教学的理论概述

1.项目教学法的含义

项目教学法(Project-based Learning),又称为基于项目的教学法,指的是师生通过实施一个完整项目的教学过程。在项目教学法中,注重理论与实践相结合,其目的是在项目实施过程中,将理论教学与实践教学有机结合,在实践中加强对理论知识的理解与掌握,在理论教学中加大对实践教学的引导,加强学生的主体地位,从而提高学生的自主学习能力和创新能力,提升教师引领项目的能力,促进教师对项目的驾驭能力。

在项目教学法的实施过程中,从实际项目出发,教师需要将解决的问题以项目的形式发放给学生,在分发的同时可以将项目进行分解,并给出一定的示范,将项目以说明书的形式分发给学生,使每个学生对项目以及进程有一定的了解。项目教学法的实施一般以小组为单位组织教学与项目的展开,教师在这个过程中起到一个引领的作用,从整体上把握项目的展开进度。项目的学习过程通常是每个组的成员根据分到的子项目来制定小组的项目计划和搜寻整理相关的资料,在小组长的协助下完成子项目的制作并作出有效评价。学生在项目实施过程中,充分理解子项目的含义,掌握相关子项目所涉及的知识和技能,体会同学之间的互相协作和团结精神,在项目活动中培养学生发现问题、分析问题的能力,提高解决问题的技能。

2.项目教学法的特点

“项目教学法”显著的特点是“以项目为主线、教师为引导、学生为主体”,创造了学生主动参与、相互协作、互相探索的新型教学模式。

项目教学法中的项目主要来源于实际生活,项目的主体应贴近实际的工作环境,使学生对项目的内容感到熟悉。

项目教学法是一套比较完整的教学体系,要求教师具有一定的应变能力,能应对项目的变化和学生随时提出的问题。同时,项目教学法也是一项教学策略,具有一定的复杂度,且在执行项目教学法时具有灵活多变性,教师在项目实施教学过程中能够激发学生学习的积极性,提高学生的探索能力,提升学生的动手能力。

在项目教学法的实施过程中,学生作为教学的主体,各小组成员需要在学习的过程中认真学习、主动探究、加强合作。在项目的实施过程中,要加强学生的主体地位,使学生认识到自己对整个项目的贡献以及所要完成的工作,引导他们认真面对不断出现的新问题并给予解决,从而提高自信心。

项目教学法的目的在于培养学生的观察能力、分析问题能力、自学能力,从而提高学生的动手设计能力、研究能力,进一步提升团队之间的协作能力。项目教学法的产生并不能完全替代日常教学,它不过是提高教学效果的一种手段,并非日常教学的全部,只有将项目教学法和传统教学方法相结合,才能从根本上提高教学质量。

二、Java程序设计实验教学中项目的选择和设计

现阶段Java程序设计课程的实验教学环节有限,如果所选项目规模过大,则所涵盖的知识点就过多,其要求也就较高,在执行的过程中难以完成,学生也不易掌握,最终导致学生学习积极性下降;如果项目规模较小,则所涉及的知识面较窄,最终导致学生的学习缺乏整体性。因此,项目的选择关乎整个教学环节的效果。项目教学法中项目的选择,既要以人才培养方向为基础,又要以教学内容为依据,在材料的选取上,尽量选择学生较为熟悉的素材,这样便于学生较快地适应项目。基于此,Java程序设计实验教学课堂项目的选择可从以下几个方面入手:首先,项目的选择要体现出专业特色,根据Java程序设计的教学要求以及师范类学生的特点,选择与教育教学相关的项目进行学习。其次,项目的选择尽可能涵盖大部分知识点,通过项目的完成来巩固所学的知识点,并能灵活多变地应用。最后,项目所用的技术难度要适中,过难会挫伤学生学习的积极性,过于简单则达不到应有的目的。基于上述考虑,笔者认为“学生成绩管理系统”作为项目教学法中的项目是合适的,该项目既具有一定的代表性,同时对于学生来说,项目的内容并不陌生,可以将其贯穿于整个教学内容中,让学生以团队成员的身份亲自经历一个小型软件的开发过程,在实践中灵活运用所学的理论知识,真正做到学以致用,提高自身动手能力。

三、Java程序设计实验教学中项目教学法的实施

1.项目成员分组

首先,依据理论课堂和平时作业的表现选出编程能力较强、整体设计思路较好的学生作为组长,组长组织一定数量的学生作为项目组成员,成员之间相互配合、相互帮助,组长不仅要将教师所教授的项目要点及时向项目组成员传达,而且能组织项目组成员对遇到的问题进行积极的讨论,并将讨论结果反馈给教师。此外,组长还要能够组织整个小组的活动,带动小组成员积极参与项目中的各项活动,在教师和学生之间起到很好的纽带作用。

2.实验教学理论环节

教师要为学生项目的学习营建一个合适的氛围,激发学生学习项目的积极性。在项目实施之前,先让学生体会Java程序设计所设计作品的魅力,让学生对作品的风格、设计和功能等方面有一个初步的了解,激发学生的学习兴趣。依据前面所设计的教学情境,教师应对所用的项目展开框架性的分析,让每组学生明确小组的具体任务,从而引导学生进入具体任务的设计中去。

在项目教学中,教师所承担的角色与日常教学中的角色不同,在项目教学法的实施阶段,学生是主体,教师在项目教学中起到一个示范、引导的作用。依据学生的实际情况,按照Java程序设计开发的要求及步骤,教师在项目展开之前,可以给每组学生进行10~20分钟的教学示范,内容应围绕学生成绩管理系统的某个子功能模块展开,简明扼要地讲解程序设计的相关思路和模块中所涉及的知识点,使学生在教师的带领下,运用所学的知识点去解决实际问题,完成项目的学习与开发,体会项目开发中遇到的问题与心得。

在项目教学法中,项目“学生成绩管理系统”所涉及的知识点较多,涉及的编程能力较强,这就要求教师在教学中,要尽可能将涉及的知识点与内容,通过合适的例子讲授给学生。在整个项目教学法中,首先,教师应该从基础做起,将面向对象的一些概念完全地展示给学生,使学生在学习的过程中体会、掌握面向对象程序设计的特点;其次,教师应该从简单做起,也就是从界面做起,要求学生具备基本的GUI编程能力,在实际的课堂教学中可以适当地调整教学内容;最后,教师应将所涉及的重点、难点知识,尽可能多地举例给予说明,使学生通过例子来掌握用法,能够做到举一反三。

在项目教学中,学生不再是单纯的受动者,而是知识的学习者、探求者,是知识的主动接受者。学生可以通过教师所讲解的实例,利用图书馆、网络等相关资源收集相关的资料与实例,进行相关项目的学习与掌握,在这个过程中要体会相关知识的用法,掌握类似知识的功能和用法。在项目小组中,小组成员之间可以通过探讨、分析相关子项目需要实现的功能,制定每个成员所要承担的任务,制定小组实施方案以及任务完成的时间,确定相关程序的流程和步骤,同时制定的内容要得到教师的肯定,要让学生感受到项目的目标就是将传统的学生成绩管理转化为数字化的管理,并能够实现学生成绩管理的规范化、系统化、自动化,同时能将子项目的流程图画出,确定程序的相关步骤。

3.项目教学具体实施阶段

(1)确定项目。教师依据Java程序设计教学大纲的知识点结合项目的特点,确定所用的项目——学生成绩管理系统,并分析项目所要实现的预期功能,并详细编写《学生成绩管理系统项目(子项目)的任务书》。

(2)分配项目。分发《学生成绩管理系统项目(子项目)的任务书》,讲解项目的具体要求和实现的具体功能,在具体功能的实现中要强调所用的技术,同时,针对每个小组实现的任务确定每个小组的学习任务和项目要求。在子项目课题的分配上,应该突出项目研究与课程实践相结合,同时应该照顾小组成员的兴趣与能力,例如在子课题“登录界面”中,要照顾那些对界面编程(GUI)感兴趣的学生和美工比较好的学生。在小组制作的过程中,除了注意平时学习生活中所接触的类似课题的登录界面外,还要突出该项目所面对的对象——学生的特点,在做登录界面时,在保证界面的友好性外,更为重要的是要为不同的用户分配不同的权限,要保证所选择角色与功能的匹配,要确保界面编程与后台数据库的正确链接。同时,要注重突出研究课题的Java特性,结合JavaApplet的特性和安全性,将课题的最终展示做成一个JavaApplet的运行方式。

(3)教师参与各项目组拟定的活动与方案。教师参与各项目小组活动,项目小组长组织成员进行讨论并规划“学生成绩管理系统项目(子项目)”的任务,并拟定“学生成绩管理系统项目(子项目)”的实施计划,确定实施步骤和程序,经教师和小组组长共同协商后给出具体任务的名称、目标、内容、进度计划表以及小组成员的分工,拟定子项目的实施思路与方案,各小组长填写一份详细的“项目活动计划”,小组成员严格按照项目计划实施项目,组长起到组织活动规划、相互协调的作用,并督促小组成员按计划完成。教师参与各小组项目计划的规划与实施,对出现的问题要给予及时的技术指导并协调各个小组子项目的进度,并能及时跟进每个小组的计划。在计划的实施过程中,教师可根据实施进展情况,和小组长协商及时调整项目进程的时间,并在“项目活动计划”中备案并调整。

(4)项目小组活动的实施。各项目小组长根据拟定的项目计划,组织小组成员进行学习、讨论,小组长根据小组成员学习的特点以及任务规模的大小,协调分工,并给项目小组成员分配任务。小组内成员可以通过上网搜索、图书馆查阅、教师指导等形式自主获取相关的资料,并根据个人任务进行整理、学习、总结,结合个人的任务书来制定相关的计划。在项目的执行过程中,各小组不断地发现问题、提出问题,并通过小组成员之间相互探讨、相互协作,小组之间交流意见等形式来解决问题,最终完成项目的实施。在项目实施过程中,教师应对各项目组的活动给予适当指导和及时监督,教师根据各项目组实施计划定时抽查各小组任务的执行情况,并将执行的情况及时反馈给各小组长,就完成进度和各小组成员进行交流,对出现的问题给予答复,协调各小组之间的进度,使项目子任务都能及时完成,小组长应该及时掌握各成员的进度,及时和教师进行沟通。

(5)项目的完成。项目组成员根据各自的项目任务书,实现各自的功能模块,项目组各成员在项目组长的带领下,实现子项目的功能,并预留向上与向下的实现接口(与上下衔接的功能模块)。在此过程中,项目组各成员相互协调,将各自实现的功能模块组装在一起,完成特定的子任务。同时,向下、向上预留一定的接口处理程序,通过真实的数据或上下文传递的数据进行子任务测试,小组长起到协调的作用,并在小组内部起到组织的作用,组织单元内部的测试。例如在子任务数据查询模块中,小组成员依据不同的用途编写不同的查询模块,在实现数据查询的功能模块时可以简单地组成一个模块,同时,应该向下预留数据查询接口,将查询结果给予正确展示。在小组项目完成后,要进行不同数据测试,确保数据测试的正确性和完整性,同时,也要针对模块的接口与其他小组的模块进行测试,以确保接口的正确性。在子项目完成时,教师根据分配的任务书逐个进行子任务检查,对出现的问题给予及时指出,并根据各小组长的反馈意见,及时协调小组之间数据及功能模块的实现。

(6)项目答辩与师生评价。在这个阶段,通过项目成果汇报、组内成员自我评价、小组之间互评、教师点拨、师生共同总结等形式完成各小组项目的评价,在答辩平台上充分展示各小组的风采与能力。各小组长相互协调,将各个功能模块在组内成员的配合下,组装并完成整个项目的调试。在此过程中,小组成员与组长均需参与,将整个学生成绩管理系统以成果的形式展示给学生,并同时邀请一部分班内学生和其他专业的学生使用这个系统,在使用的过程中,指出该系统的优缺点。在答辩的过程中,教师和组内的成员均可参加,将项目学生成绩管理系统以完整的形式展示给学生,通过实现功能的完整,最终由教师给出一个定性的评价,并将各个小组任务完成的情况作为评价的主要内容。在项目的实施过程中,各个小组之间要相互协调、相互配合完成整个系统的任务。在答辩过程中,对项目安排了成果的汇报、评估、总结,这样各个小组成员不但需要完成项目课题的知识任务,还要学会协同工作,综合运用Java语言开发能力、软件工程思想和数据库知识组成一个完整的会演文稿。在项目实施过程中,遇到问题相互之间进行探讨,发挥每个人的长处。一组学生汇报时,其余各组学生都能够认真聆听并及时发现问题、提出问题。汇报完成后,小组组长应将大家对本组所作的评价进行收集和汇总。教师在此过程中,起到一个组织者的作用,最后对各项目组的完成情况作出合适的评价。

四、项目教学法在实施过程中需要注意的问题

1.提高教师对项目教学法中项目的驾驭能力

项目教学法在Java程序设计实验教学的实施过程中,项目的选择和设计对整个教学显得尤为重要。教师在对项目的选择过程中,不仅要考虑所选项目与教学内容的相符性,还要考虑其实用性、难易性,以及学生对该项目的熟悉程度等。在项目的设计中,教师还要照顾到课程的进度和学生的接受程度等方面。因此,作为项目教学法中的教师,应在项目的选择和设计上把握好项目的难易度,提高对项目的驾驭能力。在项目的开发过程中,学生难免会遇到各种困难,教师要给予及时指导,帮助学生了解项目的实质,明确项目预期实现的目标,项目中可能用到的技术与技能,从整体上把握方向,给予学生引领式的指导,使学生最终能够通过自我构建获取项目相关的知识,从根本上提升学生分析问题的能力、编写程序的能力,有利于培养学生的自学能力、创新能力,从而达到项目教学法的效果。

2.学生角色的转变

在传统的教学中,学生是知识的被动接受者,知识往往是被灌输的,而在项目教学法中,学生变成了主动学习者、探究者和协作者,通过自主学习、主动探究、相互合作等形式掌握知识和技能,在这样的学习中,学生是快乐的。项目教学法不仅培养了学生的自主学习能力,而且培养了学生的自主创新能力,为今后程序的开发奠定了坚实的基础。

3.充分调动学生学习的积极性

在项目教学法中,项目的选取通常是从实际生活中获取的项目,是大家比较熟悉的项目,在项目的执行过程中,通常是把知识点零散化,在做项目的同时掌握知识点的用法,从现实中总结知识,比传统的教学更具有想象力和接受力,使得知识的获取更具有形象化、主动化、便利化,有利于提高学生学习的自信心和学习兴趣,从而调动学生学习的积极性,提升学生的学习兴趣。

五、结语

项目教学法是将学习的过程融于具体的项目中,在项目实施过程中完成对知识的学习与掌握,学生积极参与项目的执行过程,在执行过程中,学生是一个主动的学习者、探究者,整个项目的完成,是一个全方位学习的过程,更是一个综合运用所学知识解决实际问题的过程,也是一个对软件开发进行体会的过程。项目教学法在Java程序设计实验课堂中的应用,使得学生不再是课堂理论的旁听者,也不再是知识的被动接受者,而是软件开发过程中的一个重要角色,是知识的主动探究者。通过项目教学法的实施,不仅能使学生对整个软件的开发有一个更为直观和全面的认识,还有利于培养学生的团队协作精神,有利于教师业务能力的展开和业务水平的提升。在项目教学法的执行过程中,有些细节还有待于提高,如项目的选取、任务的安排、学生自学能力的提升、课堂知识点的进度等方面。因此,如何使得项目教学法在Java程序设计实验课堂上达到最好的效果,也是今后我们努力的方向。

参考文献:

[1]王进,陈建平.反思性教学在Java程序设计实验教学中的应用[J].实验技术与管理,2011,(6):188-189.

[2]崔泽永.基于Java的实践教学环境改进研究[J].实验室研究与探索,2012,(6):89-91.

[3]李瑞生,王秋云.计算机程序设计类课程实践教学的改革与创新[J].实验技术与管理,2012,(4):183-185.

[4]张学林,陈齐超.项目教学法在“C语言程序设计”中的研究与应用[J].实验技术与管理,2011,(2):164-167.

[5]丁燕华.项目教学法的应用研究——以高中《算法与程序设计》为例[D].上海:华东师范大学硕士学位论文,2009.

[6]杨方琦.项目教学法在“非线性编辑”课程实验教学中的应用[J].实验室研究与探索,2012,(10):380-382.

[7]王威.项目教学法在《软件工程》课程中的应用研究[J].教育理论与实践,2011,(9):52-54.

[8]张龙娟.项目教学法在高职电子课程教学中的应用研究[D].南京:南京师范大学硕士学位论文,2008.

[9]张兰芳.基于“项目教学法”的计算机基础学及其评价[J].西南师范大学学报(自然科学版),2012,37(6):245-248.

[10]李伟波.项目驱动式的“软件工程”教学模式研究与实践[J].中国电力教育,2009,(6):45-46.

[11]任春华.教学改革与研究性学习模式的构建——基于我国高校教学模式创新的探讨[J].渭南师范学院学报,2015,30(12):34-38.

[12]韩晓蕾.计算机基础知识中项目教学法的英语研究[J].长春教育学院学报,2015,(21):101-102.

【责任编辑 曹 静】

【教育教学方法研究】

The Application of Project-based Learning in Java Programming Experiment Teaching

ZHAO Xiao⁃lei
(School of Network Security and Information,Weinan Normal University,Weinan 714099,China)

Abstract:Project-based Learning is to encourage students’participation in the development of the project,which aims at mo⁃tivating the imagination and creativity of the students and finally promotes their ability of solving problems.The successful introduc⁃tion of Project-based Learning to Java programming experiment teaching depends on the choice,the assignment,the implementing and the accomplishment of the project in the process.The implementation of Project-based Learning not only makes the students have an overall understanding of software development but also helps cultivate the team spirit of the students and promote teaching ef⁃fectiveness.

Key words:Project-based Learning;programming teaching process;teaching effectiveness

作者简介:赵晓雷(1978—),男,河南洛阳人,渭南师范学院网络安全与信息化学院讲师,工学硕士,主要从事图形图像处理与程序设计教学研究。

基金项目:陕西省扶持学科数学学科基金项目:基于小波分析的非线性模型在变型检测数据中的应用(14XSD011);渭南师范学院优质课程建设成果:Java程序设计;渭南师范学院科研计划项目:基于云计算的渭南智能交通研究(15YKS008)

收稿日期:2016-01-19

中图分类号:G642

文献标志码:A

文章编号:1009-5128(2016)06-0032-05

猜你喜欢

教学过程项目教学法程序设计
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
欣赏教育在中学化学教学中的实施
探析项目教学法在化工管路拆装实训中的应用
项目教学法在中职flash课程教学中的应用探究
项目教学法在园林工程招投标与预决算课程中应用
PLC梯形图程序设计技巧及应用