APP下载

程序设计类课程综合教学模式的构建与实践
——以《JavaEE 程序设计》课程为例

2022-06-08李永毅

长治学院学报 2022年2期
关键词:编程知识点教学模式

李永毅

(长治学院 计算机系,山西 长治 046011)

自2016 年6 月中国正式加入《华盛顿协议》,我国的高等教育为了与国际接轨,各高校积极开展了工程教育专业认证相关工作[1-3]。为切实贯彻落实专业认证要求,我院计算机科学与技术专业进行了工程教育认证总体规划,从国家、社会和用人单位的需求出发,制定了培养目标,根据培养目标制定了毕业要求,毕业要求需符合工程认证12 个指标点。根据毕业要求制定课程体系,最后进行了人才培养方案修订及教学大纲修订。一线教师依据《工程教育认证办法》和《工程教育认证标准》要求,贯彻“以学生为中心、以产出为导向和持续改进”的教学理念,深化课堂改革。根据相关要求及教学理念,软件教研室对程序设计类课程进行了教学改革。

JavaEE 程序设计属于应用型较强的编程类课程,其课程目标是解决复杂工程问题,但最终教学效果乏善可陈。学生不仅不能解决复杂工程问题,连基本的编程信心都缺失了。为了提高学生的编程实践能力,诸多研究者进行了教学改革;张武金等人在编程课程中使用项目化教学模式;罗剑等人在计算机编程课程中应用翻转课堂教学模式;郭鹤景等人在编程类课程中应用线上线下混合教学模式。项目化教学模式有效提高了学生的编程实践能力[4-7];翻转课堂教学模式提升了学生的编程自我效能感[8,9];线上线下混合教学模式,在一定程度上放宽了课堂教学时间限制[10,11]。如何整合这些教学模式,提高学生解决复杂工程问题能力及编程实践能力,对我们是一种挑战。

文章对项目学习、翻转课堂、线上线下混合教学模式有机整合;以企业级项目为主线,以基于翻转课堂的线上线下混合教学模式为手段,以改革后评价方式为检验标准,进行了教学实践。

1 探索与实践过程

1.1 目前编程类课程存在的问题

JavaEE 程序设计课程是我院计算机科学与技术专业的专业技能课程。为了分析JavaEE 程序设计课程的教学效果及影响因素,针对我院2019级计算机科学与技术专业及网络工程专业学生进行了线上调研及线下访谈,调研及访谈结果归纳总结如下。

(1)教学内容与课程目标支撑的工程认证标准指标点脱节。工程认证的宗旨是培养能够解决复杂工程问题的工程师。学院的教学是根据教学大纲,选择教材进行授课。大多数教材是按照知识点进行编排,讲授的主要是知识。使用的案例大部分是孤立的,缺乏企业级复杂工程实际案例。学生所学知识无法进行工程应用与升华,无法满足工程规范及流程,无法在企业级复杂工程问题案例中进行实践,学生毕业后无法马上上岗。教学与工程认证要求脱节。

(2)实践时间有限,学生编码量欠缺。我院JavaEE 课程以边学边练模式进行教学,但由于授课时间有限,教师只能把基本知识点及小案例讲授完成,学生课堂编码时间及编码量有限。学生遇到bug 并且需要教师指导才能完成任务时,教师却因为指导时间有限且需要指导的人数较多而不能及时提供指导。

(3)JavaEE 程序设计知识点零碎,编程难度大。JavaEE 是使用SpringBoot、Mybatis、SpringMVC 等框架实现项目,框架的编程模式与非框架传统的编码模式不同。JavaEE 主要使用容器管理对象,涉及到很多较晦涩的概念,如控制反转、依赖注入、切面编程、控制器、映射器、适配器、视图解析器、关系映射等,学生要透彻理解这些概念,需要进行编程实践验证才能实现。学生在编程时遇到bug 是难免的,但由于自己无法找到原因,时间长了可能导致其对编程失去兴趣,不愿花太多的精力和时间进行学习,甚至可能对编程产生畏惧。

(4)学生个体差异的影响。由于学生们对编程的敏感程度、接收程度不同,按照学院的统一标准进行授课,事实上就忽视了学生个体差异对教学效果的影响。

(5)评价方式难以调动学生学习积极性。传统评价方式是通过平时作业、实验报告成绩、期末笔试成绩进行权重计算得出最终成绩。传统考核模式不重视平时实践过程,多数学生在考前突击复习,死记硬背,应付考试,虽然考试分数高,但是编程能力却可能很差。这样的传统评价体系无法体现课程教学目标的达成度,学生分析问题、解决问题及实践能力也难以提升。

1.2 教学内容组织

JavaEE 教学中,以权限管理系统企业级项目为主线,将JavaEE 知识点嵌入其中。随着课程的深入,权限管理项目不断加入新的内容。在这种开源项目中,学生共同参与,其内容可以不断迭代完善。课程知识点与权限管理项目的对应关系如表1 所示。

表1 课程知识点与权限管理项目的对应关系

JavaEE 课程的教学组织与权限管理系统项目相结合,教学过程中贯穿项目开发全流程。首先分析权限管理系统的项目需求,然后分析项目所包括的功能模块,针对各个功能模块,分析其所需的知识点。课程知识点应用贯穿于权限管理系统的编码阶段。编码需要按软件规范执行,并形成说明性文档,在编码过程中要求有明确的接口说明。针对项目功能模块知识点交叉地方,对还未学到的知识点,老师要讲清代码的功能及接口,让学生直接从开源项目复制对应代码。

1.3 教学模式改革

JavaEE 课程内容多,实践性强,编程陷阱较多,课程综合性较大。学生虽然能理解课程内容,但是在项目的实践中可能遇到很多问题及bug,即使对简单案例也无法复现。使用翻转课堂、线上线下混合教学模式开展教学,线上以学生为中心,项目任务为驱动,教师发布教学任务,提供教学材料;线下教师主要以辅导答疑等方式开展教学。该授课模式为学生提供了充足的编程实践时间,这样教师就有充足的时间解决学生遇到的问题及编程陷阱。基于翻转课堂的线上线下混合式教学模式如图1 所示。

图1 基于翻转课堂的线上线下混合式教学模式

基于翻转课堂的线上线下混合式教学模式过程如下。

(1)课前自主学习。首先对学生进行分组,2-3 人一组,教师精选权限管理系统项目案例,对案例进行分析,将涉及到的知识点进行总结罗列,并将相应的知识点视频、课程任务发布到超星学习通教学平台。学生通过在线视频学习,对权限管理系统相应任务进行复现。学生针对项目复现中遇到的难点及程序bug,在学习通教学平台讨论区进行讨论,并对无法解决的问题在线反馈。教师收集问题,根据问题对课上内容进行调整。

(2)课上知识内化及技能习得。线下教师通过引导、解决bug 方案竞答以及学生小组讨论,解决学生线上自主学习的通用问题,并对个例问题进行针对性辅导;学生对遇到的问题及bug 根据讨论结果进行实践验证;最后,教师总结课程,分析知识点在权限管理系统中的应用。

基于翻转课堂的线上线下教学模式激发了学生的学习兴趣,引导学生自主学习企业级项目;学生通过线上视频进行项目复现,线下问题答疑解决项目编程中的陷阱,实现了课程理论与实践的一次翻转[8-9]。这在很大程度上避免了学生由于长时间遇到程序陷阱问题无法解决而产生的对程序设计畏惧的情况。通过基于翻转课堂的线上线下混合式教学模式,能使学生发挥主体作用,提高团队协作能力、研究能力和创新能力。

1.4 企业级综合案例在教学中的应用

项目学习是以建构主义、实用主义和发现理论为基础的一种教学模式[4-7]。JavaEE 课程以权限管理项目为学习主线,以JavaEE 学科的原理、知识点为中心,以制作权限管理系统软件为目的。将权限管理系统分解为各个知识点,教师通过合理的项目环节,将零散的知识点串联成权限管理系统综合项目,在教学中借助线上教学平台及教学资源开展教学活动。企业级项目在教学过程中,主要讲解各知识点在项目中的运用、软件开发流程和各功能模块接口。对于相互关联的未学知识点,教师让学生通过代码复制,根据视频讲解进行程序复现。这种新型的探究性学习模式与工程认证解决复杂工程问题的要求不谋而合。

1.5 改革评价方式

课程考核的主要目的是检查教学效果是否达到课程教学目标。JavaEE 课程的三个教学目标分别是:

(1)对JavaEE 中的相关概念、技术、方法正确理解,使学生能够针对具体复杂工程问题,选择合理的技术及方法进行设计。

(2)能够使用Eclipse、IntelliJ IDEA 等开发环境,运用JAVAEE技术进行web工程设计、编码、调试、部署等,并能考虑其方案的优缺点,并实现其技术方案。

(3)能够掌握使用JavaEE 进行计算机软件开发的总体架构及流程,并能分析其优缺点,并培养其工程实践能力。课程的教学目标主要是要提高学生的实践能力、分析问题能力及使用工具的能力。传统的考试方式主要考查静态知识的掌握,学生通过考前短时间突击就可以应付考试,缺乏对学生实践能力、分析问题能力及使用工具能力的考核。为了更好的完成教学目标,并适应工程认证要求,该课程实行过程化考核与项目化考核相结合的方式。过程化考核占总成绩的60%,包括线上讨论、线下问题解答、课上交互情况等;项目化考核占总成绩的40%,主要包括项目演示、项目答辩、报告撰写等模块。在具体的考核过程中,过程化考核采用按节、按知识点进行考核,超星学习通平台对学生的每节讨论、视频观看与问题答疑有具体统计。按统计结果,根据分配的权重,计算出过程化考核得分。在项目化考核,中根据项目报告、项目的完成情况及现场答辩给出项目化考核得分。最后对过程化考核得分和项目化得分加权计算出综合得分。

2 结论与探讨

2020 年第二学期采用改革后的教学模式对计科1901 班进行授课。网络1901 班学生采用传统的授课模式,作为对照组。网络1901 班及计科1901 班都是53 人,大学入校时分数相当,且是同一辅导员。从期末总评成绩上看,计科1901班总评成绩有了较大的提高。通过两个教师对两个班级的项目总评成绩进行评定,计算平均分。分析结果为:计科1901 班JavaEE 学生不及格人数占比为3.8%,网络1901 班不及格人数占比为11.3%;计科1901 班,80 分以上学生人数占班级总人数的25.4%,网络1901 班,80 分以上占班级总人数18%。从参加学校的互联网+大赛来分析:计科1901 班参赛项目15 项中获奖人数为10 项,网络1901 班参赛项目15 项中,获奖人数为6 项。从项目功能完成情况、项目代码规范、项目流程及规划来分析,计科1901 班学生项目明显优于网络1901 班。

综上所述,企业级项目为学生解决复杂工程问题提供了案例,基于翻转课堂的线上线下混合教学模式为项目复现提供了保障。改革后的评价方式为学生持续学习提供了续航力。项目化教学、基于翻转课堂线上线下混合式教学模式符合JavaEE 编程类课程特点,能够提高学生学习效果,值得在类似课程中推广实施。

猜你喜欢

编程知识点教学模式
群文阅读教学模式探讨
一张图知识点
一张图知识点
第四页 知识点 歼轰-7A
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
关于G20 的知识点
“一精三多”教学模式的探索与实践