卢 瑾,任宏亮,张 健,俞山青
(浙江工业大学信息工程学院,浙江杭州310023)
“程序设计”是高等院校理工科普遍开设的一门重要课程,作为理论与实践并重的课程,其受众面广泛,对后续课程影响较大,因此,对该课程的教学方法设计一直备受关注。传统的课堂教学侧重对知识的记忆、复述或是简单描述的浅层学习活动,缺少对学生自主思考和实际操作能力的锻炼。而新兴的MOOC等自主在线学习方法往往重接收、轻建构,容易引发知识体系的碎片化问题,无法保证学生所学知识体系的完整性以及提高学习的积极能动性。
有研究表明:基于公共和私人资助的混合模式将是教育的最优选择[1]。一种介于传统教室学习和在线学习的混合式教学成为目前国内外很多高校采用的新型教学方式。混合式教学是指在适当的时间,通过应用适当的媒体技术,提供与适当的学习环境相契合的资源和活动,让适当的学生形成适当的能力,从而取得最优化教学效果的教学方式[2]。
ADDIE模型是一种通用的教学设计模型,常用于在线合作学习和培训,国外在多媒体远程教育课程设计中使用广泛,国内在翻转课堂、微课设计等教学中也多有引用并取得较好效果[3~5]。将ADDIE模型融入到混合式教学设计中,规划、设计、开发与执行“程序设计”课程,根据学生的学习风格和认知特点,在以课堂教学为主的基础上,增加学生自主学习与个性化学习的机会,创设轻松活泼、积极主动的编程学习环境,从而优化教学效果。
系统化的教学设计模型是教学设计理论的抽象化图形描述,是课程设计与开发的指导性模型。ADDIE模型体现了通用教学设计特征,涵盖了教学设计过程的一系列核心步骤,它将系统化的教学设计分为分析(Analysis)、设计(Design)、开发(Development)、实施(Implementation)与评价(Evaluation)等五个步骤[6](如图1所示),以保证高效地进行课程设计,是目前课程开发领域最为经典的理论模型之一。
图1 ADDIE教学设计模型
ADDIE模型以教学目标和教学问题为首位,体现教学活动的线性过程:分析考察学习者的需求、设计学习或教学策略、开发编排教学材料、实施开展教学活动、进行总结性评估和形成性评估[7]。
模型中的五个阶段互相影响,形成性评价贯穿于整个过程;各个阶段又包括相应的子阶段,具有较强的执行操作性;且每个阶段的具体步骤结合实际应用情境,可以结合其他学习理论或教学设计模型实施[8]。
ADDIE模式体现了教学设计理论模型的内核和共同特点,本文以“程序设计”课程教学模型构建为例,探讨如何将 ADDIE模型运用到“程序设计”课程教学的流程中去,达到优化教学效果的目的。教学设计过程也分为分析、设计、开发、实施、评价这五个阶段,如图2所示,以下是对教学设计模型的详细阐述。
对于混合式教学的课程设计而言,需要明确教学目的、要与学生相关联并与教学环境相适应。因此,分析阶段的内容包括教学对象分析、教学内容分析以及教学环境分析。
1)教学对象分析
对教学对象的分析包括以下诸方面:学习动机、学习风格、起点水平、个人对学习的期望等。“程序设计”课程通常作为一门基础课程,绝大部分新生初入大学校园时对编程所需要的逻辑思维方式,既陌生好奇又学习热情高涨,但学习主动性与自觉性上存在很大的差异。另外学生中性格中庸内敛、不喜张扬者居多,不善于与教师沟通表达,同学间合作意识较为薄弱。此时,教学方式的新颖性、对学生学习兴趣激发和学习动机的端正在教学设计过程中尤为重要。
2)教学内容分析
图2 程序设计课程混合式教学模型
根据学生的认知规律,“程序设计”课程教学分为认知阶段、理解阶段和设计阶段,旨在培养学生良好的程序设计风格和习惯;使学生具备一定的应用计算机解决和处理实际问题的思维方法与基本能力,为后续的课程学习打下坚实的基础。例如“程序设计”课程C语言教学强调面向过程的编程思想,要求学生理解程序设计的基本概念和方法,能灵活组织程序结构,运用各种简单数据类型及构造类型,编制一些简单的应用程序,并获得进一步学习其他程序设计语言的能力。“程序设计”课程C++语言教学则增加面向对象程序设计方法及思想的培养,充分理解抽象数据类型、封装、继承和多态等对象化程序设计概念和程序结构。
3)教学环境分析
混合式教学的环境主要包括网络学习环境和课堂教学环境。
网络学习环境包括网络软硬件配置及网络学习平台与各种资源。目前笔记本电脑及手机等智能网络移动终端基本普及,公共wifi无线网络在校园内全面覆盖,各种互动学习编程平台、MOOC平台等网络课程资源极为丰富,学习的时间空间约束性减少,完全可以满足学生随时随地学习的需求。课堂环境全部采用多媒体教室,完全满足授课教学、研究探讨和成果展示交流的功能。
设计阶段以前期分析阶段结果为基础,主要是确定教学目标、制定教学策略、确定教学顺序、规划教学过程。
1)教学目标设计
综合教学对象和教学内容的分析,“程序设计”课程的教学目标就是在学生接受事实知识和原理知识的基础上,掌握技能知识,培养面向过程及面向对象的程序设计方法及思想,掌握解决实际问题的能力,进而学会利用程序设计语言解决一般应用问题,并为后续的专业课程奠定程序设计基础。与此同时,培养学生沟通表达能力与团队协作能力也是教学目标之一。
2)教学内容设计
由于学生个体差异的存在,逻辑思维能力、独立创新能力等决定了学生在编程语言学习过程中体现出层次不一致性,因此教学内容的设计需要考虑学生的水平差异问题。“程序设计”课程的教学内容可分为理论教学与实践教学两部分,对课程各章节的教学重难点进行整理,按照内容本身的层次性,将理论教学内容拆解为认知部分、理解部分与设计部分,实践教学内容拆解为模仿验证类部分、自主设计类与思考创新类部分。
3)教学策略设计
教学策略设计即开展教与学活动的组织方式的设计,混合式教学与传统教学的核心区别主要就体现在教学策略(组织策略和传递策略)的设计上。组织策略是整合所学新知识之间、新旧知识之间的内在联系,形成新的知识结构的策略,其针对教学的主题是怎样将教学内容组织起来;传递策略解决的是运用哪种媒体和手段将教学内容有效地传递给学习者,侧重于教学媒体的选用和教学交互方式的采取。概括和归纳是学习中最为常用的一种组织策略,保留传统的课堂面授来实现上述策略。传递策略采用分组协作学习、讨论辩论式学习及任务驱动式学习等形式于课内外实现。通过新颖的教学形式来调动学生学习的主动性,促进师生间、生生间的沟通交流,以营造出良好的学习氛围。
4)教学过程设计
教学过程是教学活动开展的实施方案,主要包括复习、新课导入、新知呈现、巩固新知、拓展训练等步骤,但通常会根据具体的教学内容有所调整。混合式教学设计不再局限于课堂教学这一个环节,而是将课内外学习活动进行整合设计。其主要环节包括针对性的课前学习任务单设计、课外资源制作选取、课后快速少量的测评设计、反馈调研表设计及课内的授课内容设计与研讨活动的策划等。
开发阶段主要的任务是合适教材的处理与辅助教学资源的开发与选择。前者针对开设的“程序设计”课程,对教材实现二次整合,对教材内容进行适度增删、选用、调整和加工,以更加适合于混合式教学的授课模式。后者对认知部分内容相关资源进行配套开发,以便学生自主学习,包括自主学习任务单和教学视频的制作。其中教学视频应针对性地讲解某个知识点,同时符合学生的认知能力,视频来源不拘于自己制作,也可以从开放教育资源中寻找,以微视频为主。另外开发针对于理解部分和设计部分的内容的教学材料,用于课堂中疑难解惑与研究探讨,延伸学生知识面,提高学生各方面的综合能力。实践型的内容包括验证类、设计类和创新类,适当引入与项目相关的综合类型,以兼顾不同层次的学生在不同层面上的提高与学习。
混合式教学实施阶段以前期的设计和开发阶段为基础,借助合适的教学媒体,实现学习空间、学习资源和学习方式的结合,以此开展教学和研讨活动。
评价方式包括形成性评价和总结性评价。
形成性评价贯穿于混合式教学的各个阶段,通过测试统计、调查问卷和课后访谈等方式收集数据,及时了解学生学习的进展和存在的问题,实时监控学生学习的参与度,以便可以及时调整完善教学方案与内容;
总结性评价则在教学实施完成后进行,主要就学生的学习成效、知识掌握、能力养成等方面进行全面的考察和评鉴,教师通过评价结果总结反思,修正教学设计的前序步骤,通过迭代式的循环,从而形成混合式教学设计的实践。课程的最终考核体系采用两种评价结果,综合学生学习参与度与学习效果度,淡化卷面成绩,突出综合能力。
在教学分析与设计阶段中,根据“程序设计”课程学习中学生的认知规律对教学内容进行层次分类,即针对不同类型的内容,采用不同的教法设计,主要分为自主学习法、口述教授法和协作讨论法,设计方案如表1所示。
教学方案实施分为课内与课外两个阶段。课内侧重知识内化,鼓励学生针对自己课外学习中的疑问与教师和同学充分互动,积极参与到小组讨论中,培养交流与合作能力。课外侧重知识接收,借助网络资源与各种平台,通过自主学习与相互交流的形式以实现对知识的迁移与应用。
表1 “程序设计“课程内容分类与教法设计
1)课外阶段
“程序设计”课程中认知部分内容以学生课外自主学习为主,借助基于微信平台的智慧教学工具雨课堂软件发布自主学习任务单,提出学习任务与要求,同时推出微视频、微课件与微练习等教学素材,提供给在线学习编程平台,帮助学生完成自主学习任务,并通过智慧教学工具进行投票调研或者知识点测试实现实时反馈,再结合在线交流平台辅助指导与沟通交流工作,及时获取学生学习进度,以调整课内学习进程及教学方法的安排。
2)课内阶段
由于“程序设计”课程的知识具有一定的系统性和连贯性及较强的实践性,而基于自主学习知识点容易导致碎片化和离散性,学生对知识的总结、梳理和归纳存在一定的困难,因此,课内侧重师生互动与实践应用教学,分口述面授与协作讨论两种方式。根据教学工具实时反馈的学习近况,针对学生学习中的共性问题和疑难问题,课内采用集中面授的形式进行梳理,内化自学的认知部分知识,指导学习理解部分的知识,并采用提问的方式展开分组讨论,引发学生思考问题,对于设计部分的内容,开展个人及小组的成果展示讨论等方式,促进知识的理解与消化。实践内容中模仿验证类的内容作为学生课内上机操作的基本任务,自主设计类的内容作为知识点的延伸,以提高学生操作技能与实践能力,而思考创新型内容作为拓展任务,采用分组合作的学习方式,积极鼓励学有余力的学生自主学习,积极创新,而基础较弱的学生在成果分享、思路交流的过程中达到掌握编程的思想与提高能力的目标。
本文将ADDIE模型与混合式教学模式有效融合并应用于“程序设计”课程教学中,构建了由前段分析、教学设计、教学资源开发、教学实施以及总结评估五个阶段组成的“程序设计”课程混合式教学模型,对改革课堂教学有着积极的意义。借助智慧教学工具雨课堂和在线互动编程学习平台Fenby,通过对我院2016级自动化专业70名学生的“程序设计基础C”课程的具体实践来看,96%的学生能及时查看自主学习任务单,约80%的学生能主动参与线下学习,而随堂测试及调研参与度高达99%,约40%的学生能实时反馈学习进度。
混合式教学设计顺应当下智能终端的高普及性与无线网络的高覆盖性趋势,将编程学习渗透到智能终端的使用中,其便利性能够高度迎合学生心理,激发学生学习热情,很好的解决学生畏难、不愿主动沟通的问题,在混合式教学中,分组协作对提高学生合作意识与交流能力上也发挥了很好的作用。对教师而言,智能教学工具的使用也全面及时反馈学生的学习进度,对教学进度和教学方案的把控与调整也有很大的帮助。
混合式教学模式的研究目前还处于初步探索阶段,还需广大研究者和一线教师进一步深入与完善。