郭晓惠,王 芳
(重庆商务职业学院,重庆 401331)
“面向对象程序设计”课程为理论实践一体,是软件技术专业Java岗位必修课程,作为一门语言编程类课程,该课程抽象且难以理解。以往的教学安排多为理论+实践,即在教室讲授专业知识内容,然后在实训室安排练习。因此,“面向对象程序设计”课程的教学模式急需改变,需将教师主导方式改变为以学生为中心[1]。
重庆商务职业学院“面向对象程序设计”教学组讨论和研究,提出了以学生为中心的混合教学模式,将该模式落实到每个教学环节过程中。创建了课前精品在线开放课程提前学习,课中讲解、练习、总结,课后小班辅导,期末企业化项目实训和以赛促学的混合教学模式。该模式将线上线下相结合,以任务为驱动来组织教学内容,项目实践企业化,组织学生积极参加比赛。
“面向对象程序设计”大部分为大一学习课程,为了让学生在学习时间、地点和独特上更加自由,本教学团队创建了精品在线开放课程,该在线课程以小案例为目标贯穿讲解知识点,包括视频讲解、课件、课程大纲、课程标准、教学内容及练习题等,且有评论区[2]。学生利用课余时间提前完成在线学习,教师可随时查看学生的观看进度,该方式将老师集体讲解知识的过程转化为学生个人学习行为[3],学生可重复性学习,可培养学生积极自主学习的能力,且遇到问题可在平台在线讨论或求解。为了督促学生积极学习在线课程,在线学习将作为该课程的考核一部分。
在教和学过程中,教师应起引导作用,学生为主体地位。课中授课步骤如下:
(1)通过提问方式回顾上次课程内容,不仅检测学生上次课程掌握情况,将学生注意力迅速拉回课堂。
(2)讲解学生在线课程学习情况,使用提问方式了解学生预习情况,该过程应多鼓励学生,以激发学生自主学习能力。
(3)讲解知识,根据学生预习情况,教师采用知识体系+任务驱动法导向性讲解关键知识点,以前的授课方式大多数以教师为主导,重点在讲解知识上,目前很多教师开始采用项目驱动方式。前者重视知识点的讲解,对于学生的实践能力培养较为欠缺;后者提高了学生的实践能力,但是对于高职学生而言,其理论知识体系是较欠缺的。因此本课程采用知识体系+任务驱动法,该方式在授课过程中以任务为导向,讲解过程中贯穿各知识点,让学生知其所以然且知其然,不仅能提高学生的实践动手能力,且对于知识点的认识更深。在讲解过程中,教师必须明确讲解本次课程的主要内容和重难点,让学生对本次课程有一个总体的知识和时间的掌控。教师授课采用任务驱动、陷阱法、错误法等教学方法来激发学生学习兴趣和主动学习,学生在教师讲解每个小知识点后进行练习,快速掌握小知识点。
(4)学生练习,教师布置综合练习,让学生加深对知识点的认识,将知识点予以贯穿,加强学生动手能力,且将理论和实践相结合。
(5)讨论并总结,学生讨论本次课程的重点,学生在讨论过程不仅能学习其他学生的见解,还能提高学习氛围。教师总结环节常被大家忽略,该环节是整个课程的升华[4],能让学生对于课堂学习内容有更好地理解。
根据学生知识掌握情况决定是否开设小班辅导,鼓励学生参加,但不强行指定学生参加。该辅导内容依然以任务为导向,案例设计由浅至深[5],讲解过程以回顾、提问、学生练习和个性化辅导为主,培养学生分析和解决实际问题的能力。
以前的项目实训步骤为:学生选题,编码测试,完成实训文档,教师打分[6]。为了让学生了解企业需求,本教学团队对以往的实训环节进行改进,将项目实训环节设计为以企业项目实施为导向的实践课程设计,该课程设计以企业需求为基础,结合学生实际动手能力,从专业知识、项目能力和综合素质3方面来培养学生[7-8]。该课程设计采用知识体系和项目驱动相结合的方式,对于高职学生而言,学生的动手能力很强,但是对于知识的理解还有待提高,因此该课程设计采用知识体系和项目驱动相结合的方式,不仅能帮助学生高效理解基础知识点,还能引导学生重视项目化实践练习。
本教学团队设计A,B,C,D四个级别的项目各10个供学生选题,教师按照学生掌握知识点情况进行拟分组(每组最多4人),因此需要对每个学生的学习情况非常熟悉,然后和每个学生进行沟通,消除学生层次分组的消极心理,最终确定分组方案。分组的目的是让不同层次的学生选择相应层次的题目,在自己能力基础上进行选题,该方式可以有效避免学生完全不动手,同时提高学习的主动性。
发放项目库,小组讨论并确定项目。教师讲解什么是项目立项,为什么填写《项目立项及开发规划说明书》和怎么填写,学生完成并提交。
教师讲解如何计算工作周期和人员责任分工,指导学生完成《项目开发计划表》,并评审各组。组长需统筹整个项目的实施,和组员讨论模块的划分和时间的安排。
教师讲解和指导学生完成《需求规格说明书》,并评审各组,该步骤让学生明确项目的功能和界面等要求。
教师讲解设计工具的使用,工具包括:Visio,StartUML和PD,指导学生完成《系统设计说明书》,让学生理解从需求到设计的实现思路。
学生完成各自项目分工编码并测试,最后将代码整合测试,该过程需要将所有知识进行整合,且将理论知识转化为实践,该步骤教师只起引导作用,学生需独立完成各自的模块,以此培养学生发现、分析、解决问题和自主学习的能力。该步骤常出现代码整合问题,因此团队在之前步骤时需确定平台、环境、工具等的一致性,接口和类名等。
学生以组为单位进行答辩,项目评分包括:项目功能和项目提问。
各项目组编写并提交《项目总结报告》,整理项目过程中的收获。
积极鼓励学生参加各种竞赛,通过比赛不仅能巩固学生的专业知识,还能培养学生的自主独立学习能力。参赛学生需参加赛项培训,培训过程中,学生需要学习新知识,如蓝桥杯,必须自学算法等知识,因此学生需要花更多的时间来学习,且学会规划自己的时间。对于教师,则有了更高的专业要求,在案例设计中,将历年赛题巧妙穿插在学生练习中。
为培养符合企业用人要求的学生,本文提出了以学生为中心的混合教学模式。线上线下相结合模式实现了学生时间、地点不限和个性化学习,培养学生自主学习能力;知识体系+任务驱动法授课实现了教学做的有机融合;小班辅导提高了学生专业技术能力;项目实施以企业项目为导向,从专业知识、项目能力和综合素质3方面来培养学生;以赛促学方式可激发学生学习的兴趣。实践证明,通过这种混合教学模式提高了学生的专业技术能力和综合素质。