张倩,李伟键,廖秀秀,唐四云
(广东技术师范学院,广州 510665)
《Web程序设计》是一门综合性、实践性强的网络编程技术之一,是计算机专业课。依据多年的教学经验以及同行间的沟通,发现该课程存在以下问题:①教学方法普遍简单化。单一的讲授教学方法,缺乏趣味性;②设计的实验教学案例比较独立。各知识点的案例间没有关联,学生缺乏完整项目的训练;③学生知识背景存在差异。该课程依赖于前导课程,而学生对前导课程掌握程度不一,基础较弱的学生对于《Web程序设计》所涉及的知识就难以理解。
《Web程序设计》作为培养学生具备Web应用系统开发能力的核心课程之一,它既是前导课程的总结提高,也是后续课程的基础,更是后续从事程序员相关工作的直接支撑。因此,运用有效的教学方法提高《Web程序设计》课程教学质量是非常必要的。本文从提高学生的动手能力、团队沟通协作能力和培养创新思维和创新能力的角度出发,构建基于进阶项目驱动教学模式。
《Web程序设计》是程序设计类课程,该类课程是计算机课程里一类特殊的课程,学生要学好此类课程,不仅要从理论上掌握相关的程序设计思想,更重要的是要具备足够多的编程经历,只有以项目驱动从“做中学”,才能实践出真知,真正掌握程序设计类课程和编程技能。项目驱动教学法是借助一个完整、综合的教学项目来进行授课,强调学生的主体性、自主和协作性[1]。构建主义认为,项目驱动的实践教学有助于学生自主构建理论知识和实践技能。目前,项目驱动的教学模式已被广泛应用到高校教学,并且得到较好的教学反馈[2-5]。张晓刚[2]基于CDIO工程教育模式(以工程项目为载体组织教学)的启示,提出了项目进阶驱动的实践教学模式,将项目的开发过程划分为项目准备、Servlet版本开发、JSP版本开发、框架综合开发四个递进式阶段,大大激发了学生的学习兴趣,改善了教学效果。邓丹君[3]等人提出进阶式项目驱动的教学方式,将实践教学的实施分为验证型、项目型、项目设计型三个实践环节,学生项目开发的能力得到了提升。
项目内容的设计、分解和实施都是项目驱动教学的关键。在明确授课专业特点、培养目标以及Web技术应用和发展趋势的基础上,进一步明确《Web程序设计》课程的教学目标,并确定授课的知识点。精心设计项目实验内容,使得每个子项目都能针对一至多个知识点来设计,并善于启发和调动,使学生的思维处于积极状态;同时,子项目实验内容的选取还应能体现实用性和层次性,实验内容既兼顾基础,又有拔高锻炼,能在锻炼学生动手能力的基础上,掌握更多的团队协作、创新等专业技能;此外,所有子项目实验可以独立进行,但又相互呼应和关联,从属于一个综合项目。因此,设计的进阶项目模型如图1所示,“进阶”体现在两个方面,一是子项目之间的进阶,从“基础技术-核心技术-设计模式”的简单到复杂的递进;二是子项目内的进阶,将单个子项目进一步分为三层:①基础任务(验证型实验):立足基础知识,学生独立完成;②协作任务(设计型实验):难度拔高,团队协作完成;③拓展任务(创新型实验):难度再次拔高,团队协作完成。
图1 进阶项目模型
进阶项目驱动教学模式,将项目贯穿教学的整个过程,通过完成进阶项目来更好地理解和掌握知识点。在教学的“课前-课堂-课后”三阶段中,需完成的工作如下:
(1)课前。教师明确教学目标、授课知识点,精心设计综合项目实验内容,按“基础技术-核心技术-设计模式”进阶的方式将项目分解为多个子项目,每个子项目涉及一至多个知识点,并进一步将每个子项目按“基础任务-协作任务-拓展任务”的方式进行内部进阶任务分解。
(2)课堂。首先,学生以小组为单位进行已下发任务的项目汇报,教师听取汇报,并讲解存在的共性问题;然后,教师讲授新的知识点,讲解并下发对应子项目的基础任务(学生需在课堂上独立完成),下发协作任务(教师只给出任务要求,学生以小组为单位协作完成该任务的设计和编程),下发拓展任务(协作任务的完善和拓展,例如,增加新功能、采用其他技术等,教师不指定任务要求,需要学生发挥自主创新能力);最后,教师在学生进行课堂练习时,对存在问题的学生,进行个性化指导。
(3)课后。项目编程需要时间,而课堂时间有限,因此,协作任务和拓展任务需花费更多的课后时间来完成,教师可以通过QQ、邮箱、微信等方式进行答疑。
在基于进阶项目驱动模式的《Web程序设计》课程的教学中,设计和选取“新闻发布系统”为项目案例。基于2.1小节的进阶项目模型,整个项目的进阶子项目分解如表1所示。
表1 新闻发布系统的进阶子项目分解
以新闻管理子项目为例,其内部的进阶任务分解如表2所示。
表2 新闻管理子项目的进阶任务分解
本文构建了基于进阶项目驱动教学模式,并应用在《Web程序设计》课程中,一学期的教学实践,验证了进阶项目驱动教学模式的可行性,学生在《Web程序设计》课程中理论知识和实操能力都得到较大的提升。进阶项目能够让学生逐步掌握知识、能力得到充分锻炼。小组合作充分锻炼了学生沟通协作能力,基础好的学生能够带动和帮助基础差的学生共同进步,但也隐藏问题,例如部分学生参与度较低,滥竽充数,需教师加强监督。