基于深度学习理论的高中编程教学模式设计与实践

2023-06-15 02:55钟晓燕邱瑀楠瞿堃
关键词:编程学习者深度

钟晓燕, 邱瑀楠,2, 瞿堃

1. 西南大学 教师教育学院,重庆 400715;2. 包头市第四中学,内蒙古 包头 014030;3. 西南大学 教育学部,重庆 400715

人工智能、 大数据、 物联网等新兴技术的普及应用在众多领域引发了重大变革. 面对正在加速形成的智能世界, 需要全新的思维方式, 使人们能够以创造性的、 深思熟虑的和适当的方式理解和使用技术. 计算思维作为一种思维过程, 通过运用计算机、 互联网和其他信息处理工具, 有效地帮助人类构造和表达问题, 并已成为这个时代最基本的思维方式之一.

大量的研究表明, 基础教育阶段的编程教育是培养和发展青少年计算思维的有效手段之一. 然而, 通过长期的观察和调研发现, 目前高中编程教学实践还存在一些问题, 比如: 课程学习目标缺乏明确统一的定位; 课程研究缺乏深度与系统性; 现有教学案例过于注重外在形式, 忽视学科知识内在关联[1], 难以促进学生的深度学习, 最终课堂学习就变成为取得项目成果而进行的一系列表面“工作”等. 导致这些现象的主要原因是相较于其他科目, 高中信息技术教学缺乏核心理论的指导, 使得一线信息技术教师难以将先进的教学策略或模式融会贯通, 教学设计往往“形似”却“无神”, 无法更好地达成学生计算思维和核心素养培育的目标.

深度学习理论是解决这一难题的重要思路[2-3]. 本文基于深度学习的基本原理, 参考“4S”学习内容框架模型(即学科知识SK、 策略知识KS、 社会技能SS、 认知结构CS)[4], 结合经典教学模式5要素说(即理论依据、 教学目标、 实现条件、 教学过程、 教学评价5个要素)[5-7], 构建了高中编程教学模式, 并据此开展教学实验研究, 期望研究思路、 验证过程和结论能够供研究同行和一线教师商榷和参考.

1 提出问题: 何为深度学习

1.1 深度学习的理解

深度学习一词最初由美国学者Ference Marton和Roger Saljo提出. 他们在进行大学生文献阅读实验时, 发现学生主要采用机械记忆和理解记忆两种策略, 并由此提出了浅层学习和深度学习两个概念. 随着理论研究的深入, 对深度学习的理解出现了关注学习方法的学习方式说, 关注学习发生过程的学习过程说, 和依据社会能力发展需要的学习结果说, 这3种理解方式也代表了深度学习发展的不同阶段. 通过多维度的研究整理, 笔者认为何玲等[8]提出的深度学习概念较为恰当地概括了学习方式、 过程和结果3大方面, 并在此基础上加入了笔者自己的理解: “深度学习是指在学习不同类型的知识时, 学习者能够选择对应的学习方式, 在理解的基础上, 批判地学习新思想和事实, 并将其融入原有的认知结构中, 能够在众多思想之间建立联系, 并将已有知识迁移到新的情境中, 从而做出决策和解决问题的学习.” 与何玲等给出的深度学习概念稍有不同的是, 这一理解着重强调针对不同类型的知识需选择对应的、 适合的学习方式, 这也是对学习策略的补充描述.

1.2 深度学习的作用机制

理论指导实践, 在概念夯实的前提下, 国内外学者对深度学习如何具体作用于教学展开了一系列探究. 从教学反思角度, 张浩等[9]提出基于反思的认知学习过程, 强调知识学习是在反复迭代的“冲突—反思—生成”中进行的; 从e-learning深度学习角度, 段金菊[10]认为个人学习空间的创设至关重要, 要将学习者的角色从内容消耗者转变为内容创作者, 通过知识结构化设计与个性化知识学习路径编排促进深度学习发生; 从效果评价角度, 比格斯、 泰格、 莱斯登、 尼尔森等几位学者开发研究了深度学习评价量表, 并将其分为高阶认知、 整合性学习以及反思性学习3个维度, 清华大学教育研究院[11]则在此基础上开发出简洁的深度学习量表; 胡航等[12]从学习者视角出发提出S-ACIG深度学习认知过程(图1), 认为课堂教学设计中的目标设定、 数字化资源创设、 活动设计应当围绕该认知过程展开, 并据此开发了“4S”学习内容框架及对应的教学策略和教学资源表征态. 本研究以该认知过程为主线, 对多种深度学习教学策略进行梳理, 尝试构建了高中编程教学模式, 旨在激发深度学习的发生, 促进学习者的学习成效及计算思维.

图1 S-ACIG深度学习认知过程

2 寻找方向: 高中编程的深度学习何以实现

2.1 高中编程课程的意义

高中编程课程作为高中信息技术教学的重要组成部分, 在国家教育部印发的《普通高中信息技术课程标准(2017年版)》中被赋予了更高的要求. 其中, 计算思维作为学科4大核心素养之一, 要求学生能够通过计算机的方式界定问题、 抽象特征、 建立结构模型、 合理组织数据, 即能够模拟计算机处理问题的方式和方法. 在高中信息技术课程中, 编程课程是学生掌握并理解计算机解决问题流程的最佳途径.

高中编程课程在新课标对核心素养及课程内容的要求下, 其重要性和地位已不可忽视. 作为一门必修课, 高中编程课程要求学生在掌握基础编程语言、 编程结构、 简单编程算法的前提下, 能够运用这些知识和技能分析问题、 建立结构模型、 合理组织数据, 实现逻辑思维能力与实践操作能力并行培养.

2.2 高中编程课程症结与深度学习建议

针对B市Q区3所重点高中的编程课程教学状况, 笔者对已修读完该课程的学生就编程学习动机、 课堂自主学习情况、 影响编程学习效果的因素3方面的情况进行了问卷调查, 旨在找出课程教学的症结. 调查共发放并回收问卷302份, 其中有效问卷286份, 问卷有效率为94.7%. 调查结果显示, 当前高中编程教学存在学生学习内驱力不足、 学习目标过于关注“语法”、 缺乏有效的课堂教学情境以及评价机制僵化等问题. 为此, 本文从深度学习理论的角度出发, 对这些问题进行了分析并提出了相应的建议, 如表1所示.

表1 深度学习教学建议

3 模式构建: 深度学习视域下的编程教学如何落地

针对高中编程课程教学中存在的问题, 在对深度学习理论的内涵、 典型发生机制讨论分析的基础上, 结合前概念、 情境认知、 SOLO分类等理论, 参考“4S”学习内容框架模型并结合经典教学模式5要素说, 分别从教学目标、 教学流程、 教学环境3个方面构建了基于深度学习理论的高中编程教学模式, 如图2所示.

图2 基于深度学习理论的高中编程教学模式

3.1 教学目标: 自上而下准确定位

信息技术作为一门学科, 与其他科目不同, 一方面没有明确的考纲要求, 另一方面教材内容涵盖面广, 知识点多, 这给信息技术教师在筛选教学内容、 把控知识的深度和广度方面带来了困扰. 因此, 为了解决这一问题, 教学目标需要从顶层出发, 从学业要求、 内容要求和课程目标入手, 逐步制定“总体目标—课程目标—课时目标”. 首先, 需要考虑总体目标, 即课程所要达到的整体目标. 这可以作为目标设计的起点, 明确课程在整体上应该达到的学业水平和实际应用能力. 其次, 根据学科要求, 明确具体的课程目标, 即课程中需要学生掌握的知识和技能. 这需要参考课程标准和教学大纲, 确保教学目标的具体性、 明确性和可操作性. 最后, 根据每个课时的教学时间和学生的学习水平, 制定相应的课时目标, 具体指导每个课时的教学活动. 这可以帮助教师在每个课时中更好地组织教学内容, 确保教学进度合理, 学生能够逐步达到课程目标.

以《算法的概念及描述》的教学目标制定为例(详见表2), 遵照课程标准, 逐层递进, 准确定位教学目标, 排除教材知识点多、 杂、 深的干扰. 这样的目标设计与定位能够保证教学目标的明确性和针对性, 从而更好地引导教学活动.

表2 《算法的概念及描述》教学目标定位

3.2 教学流程: 符合认知规律的教学设计路径

教学流程分为前期分析、 教学设计与实施、 教学评价(课堂及时反馈)3个环节[13](图3).

图3 基于深度学习理论的教学设计流程

3.2.1 前期分析

前期分析是教学流程的重要环节, 包括有课标分析、 知识点提炼分类、 认知起点诊断等3个方面. 首先通过课标分析, 确定学习内容的深度广度. 随后结合“4S”深度学习内容框架, 进行知识点提炼分类, 将学习内容分类为学科知识(SK)、 策略知识(KS)、 社会技能(SS)、 认知结构(CS), 并根据不同类别的学习内容, 初步确定采取何种教学方法和策略指导. 最后, 进行学习者的认知起点诊断, 参考较为成熟的前Gianni测试工具、 前概念转换策略[14]、 SOLO分类理论编程作品评价和教学建议[15], 制定认知起点诊断方案. 表3展示了以《算法的概念及描述》为例的部分认知起点诊断内容, 并提供了对应的教学策略建议.

表3 《算法的概念及描述》认知起点诊断及策略建议[16]

3.2.2 教学设计与实施

教学设计的完成需要经过两个阶段. 首先, 在前期分析的基础上, 制定学习应对策略, 包括学习目标框架、 教学内容重构以及学习任务类型建议, 对教材内容进行“因地制宜”的二次创改. 其次, 为了激发学生的深度学习, 符合学习者的认知规律, 采用S-ACIG深度学习认知过程作为主架构, 合理组织教学内容, 包括每个环节的学习内容、 评价工具以及教学资源表征态[12]. 在具体的教学设计与实施过程中, 教师还需要注意记录出现的各种问题, 并对教学设计进行优化迭代[17]. 表4展示了《算法的概念及其描述》的具体教学设计.

表4 《算法的概念及描述》教学设计陈现

3.2.3 教学评价

深度学习理论强调评价的目的在于帮助学习者检测学习绩效, 不断调整学习策略, 提升元认知水平. 然而, 在应试教育背景下, 仅凭单一的以知识检测为目的的结果性评价虽然直观有效, 但很难全面测量学习者的思维层次和交流合作技能. 因此, 为了更好地评价学生的学习情况和能力发展, 需要课堂及时反馈, 可以从过程性评价和结果性评价两方面入手, 对评价机制和内容进行改良.

3.3 教学环境: 教学模式成功实践的必要保证

教学环境是教学模式成功实践的必要保证, 主要是多媒体的教学环境, 近年来针对教育教学开发的多媒体软硬件也层出不穷, 其中包括有多种数字化教学工具, 如在线协作平台、 编程软件和班级优化大师等. 如何真正发挥多媒体教学环境的优势, 避免为了使用而使用的现象, 成为教学设计时需要考虑的重要问题. 以《算法的概念及描述》的多媒体教学环境设计为例, 秉持教学为化繁为简的原则, 尽量减少不必要的多媒体教学手段. 在选择多媒体工具时也尽量选择兼容性强、 上手操作简单的工具. 例如腾讯文档在线协作平台, 因为学生都有QQ账号, 不需要额外注册申请. 此类在线协作平台一方面便于学习者合作学习, 共同完成小组任务; 另一方面无需手动保存、 上传, 简化了作品共享展示流程. 普适、 简便的多媒体教学环境有助于新教学模式的应用与推广, 同时让课堂教学更流畅, 避免学生因软件操作不熟练或反复切换软件等问题打断学习思路.

4 研究设计与结果分析

4.1 研究假设

为了验证基于深度学习理论的高中编程教学模式的有效性, 以高中Python编程教学为例进行了准实验研究, 旨在验证以下两个假设:

1) 基于深度学习理论的高中编程教学模式对学习者编程成绩有显著影响;

2) 基于深度学习理论的高中编程教学模式对学习者计算思维有显著影响.

4.2 研究对象与方法

研究选取了B市S中学高一年级5班和6班作为研究实验对象, 共计82名学生. 采用准实验法进行研究设计, 两个班级的人数大致相同, 并且经过独立样本t检验发现, 两班学习成绩和计算思维在统计上无显著性差异(p>0.05), 具体见表5.

表5 实验前成绩在实验组与对照组上的差异分析

在授课教师相同的前提下, 5班设定为实验班级, 共有42名学生, 采用基于深度学习理论的高中编程教学模式. 6班设定为对照班级, 共有40名学生, 沿用之前的讲授式教学方法. 实验数据采集的具体内容详见表6.

表6 实验数据采集细目表

4.3 实验数据

本次准实验研究持续了4个月, 具体的课时安排详见表7. 在研究设计上, 采用了准实验法, 两个班级的人数大致相同, 学习水平均等且无显著性差异, 授课教师也相同, 以保证实验的科学严谨性. 在课程结束后, 为了更全面客观地了解和分析实验结果, 对参与实验的学习者进行了编程知识测试和计算思维态度测试, 并对各水平层次的学生进行了访谈. 通过测试数据以及学生评价反馈信息, 以检验该教学模式是否起到了引发学生深度学习、 锻炼计算思维的作用.

表7 教学内容安排

4.3.1 编程知识测试结果分析

本次实验采用《基于SOLO分类理论的高中Python编程教学评价探索——以〈编程计算〉单元为例》[22]中的实测试题, 共计7道题100分, 涵盖常量、 变量、 数据类型、 选择语句、 循环语句和函数调用等学科知识. 试题整体信度效度较高, 信度系数为0.813, 格特曼rep系数为0.94. 数据结果采用 SPSS 26 软件进行分析, 具体结果详见表8. 试题类型包括选择题、 连线题和程序填空题.

表8 成绩在不同教学模式上的差异分析

根据进行的独立样本t检验结果, 不同教学模式在学生的测试成绩上差异具有统计学意义(显著性检验0.001, 小于0.05). 实验组的平均测试成绩为63.93分, 明显高于对照组的44.38分. 这表明不同教学模式对学生的最终测试成绩产生了显著影响.

为了进一步探究新型教学模式对不同学力水平学生的促进作用, 参考了瑞文智力标准测验的等级划分标准, 将学生按照成绩的前25%划分为学优生, 后25%划分为学困生, 中间50%划分为学中生. 随后, 实验组和对照组的学生分别被划分为3组, 进行独立样本t检验. 表9中展示了实验组和对照组学生在优、 中、 困3个层次上的编程知识测试平均得分(分别为: 92.36、 63.75、 34.41对比77.51、 40.78、 13.89). 结果显示, 实验组在3个层次的学生中, 编程知识测试平均得分均高于对照组. 同时, 优、 中两个层次的学生在测试成绩上差异具有统计学意义(p<0.05), 而学困生的成绩差异则不显著(p>0.05). 综合而言, 相较于现行的以讲授为主的编程教学模式, 基于深度学习理论的高中编程教学模式对学习者更为有效, 且在学优生和学中生群体中的促进作用更为显著.

表9 成绩在不同学生层次、 不同教学模式上的差异分析

4.3.2 计算思维结果分析

在计算思维方面, 采用了《K12阶段学生计算思维评价工具构建与应用》等[23-24]的方法, 包含创造力、 算法思维、 合作能力、 批判性思维和问题解决能力5个维度. 该量表的科隆巴赫系数为0.836, 高于0.7, 表明该量表具有较高的信度. 因此, 采用该量表能够科学全面地评估深度学习教学模式是否能够激发学生的深度学习, 并培养和锻炼学生的计算思维能力.

根据表10所示的独立样本t检验结果, 可以看出不同教学模式在计算思维的各个维度上存在显著差异. 具体来说, 合作能力、 算法思维、 创造性、 批判性思维和问题解决能力在不同教学模式下的t值均小于0.05. 此外, 通过均值的比较可知, 实验组的学生整体上具有较高的计算思维水平, 略高于对照组.

表10 计算思维各维度在不同教学模式上的差异分析

研究过程中, 对实验组和对照组中的学优、 学中、 学困3个层次的学生的计算思维各维度进行了独立样本t检验. 根据表11所示的独立样本t检验结果, 可以看出:

表11 计算思维各维度在不同教学模式、 学生层次上的差异分析

在合作能力方面, 实验组各层次学习者的得分(18.54、 16.75、 12.36)均显著高于对照组(12.00、 13.85、 9.54), 并且在3个层次学习者中, 实验组与对照组的得分差异具有统计学意义(p<0.05).

在算法思维方面, 实验组各层次学习者的得分(18.45、 17.45、 12.64)均显著高于对照组(12.00、 10.35、 9.36), 其中学困生的得分差异无统计学意义(p>0.05), 而优、 中学习者的得分差异具有统计学意义(p<0.05).

在创造性方面, 实验组各层次学习者的得分(18.18、 16.85、 12.45)均高于对照组(14.21、 13.55、 10.00), 学困生创造性两组得分差异无统计学意义(p>0.05), 优、 中创造性两组得分差异具有统计学意义(p<0.05).

在批判性思维方面, 实验组各层次学习者的得分(17.18、 16.43、 12.35)均高于对照组得分(13.25、 12.00、 9.21), 且3个层次学习者实验组与对照组问卷得分差异具有统计学意义(p<0.05).

在问题解决能力方面, 实验组各层次学习者的得分(23.36、 20.90、 11.18)均高于对照组得分(18.50、 8.25、 6.63), 且3个层次学习者实验组与对照组问卷得分差异具有统计学意义(p<0.05).

这些结果表明, 在实验组中, 不同层次的学习者在计算思维的各个维度上表现较对照组有显著优势.

4.3.3 访谈结果分析

为了深入了解实验班学生的真实想法, 在课程实验结束后对不同学力水平的学生进行了访谈, 并记录了他们的回答. 访谈提纲和部分学生回答的简要概述整理, 如表12所示.

表12 访谈提纲与学生回答

1) 基于深度学习的编程课堂增强了学生对编程学习的内驱力

相较于以讲授为主的课程学习, 基于深度学习的编程课程受到了学生的青睐. 多数学生表示这学期的编程课程与过去有着截然不同的体验, 他们通过自主学习和探究发现编程并不像之前认为的那么复杂难懂. 学习本课程之后, 他们可以很自然地思考日常生活中许多小程序的原理, 例如红绿灯、 门禁、 商场停车系统等. 这种思考方式不仅让他们更加深入地了解了这些程序的内部工作原理, 也增强了他们对编程学习的兴趣和动力.

2) 基于深度学习的编程课堂锻炼了学生的算法思维

相较于以讲授为主的课程学习, 基于深度学习的编程课堂更加注重在真实情境中展开编程学习, 帮助学生从逻辑角度分析问题、 设计算法以解决实际生活情景中的难题. 在访谈中, 不少学生表示这样的编程学习让他们的关注点从纯语法知识转向了算法设计, 提高了他们的算法思维. 有学生提到: “在编程课上感觉我的思维更加清晰了, 以前只是在脑海里想个大概, 不够具体. 但编程则不同, 编程要求在算法设计阶段就把脑海里想的每一步都落实下来, 程序运行时还能检测我的逻辑是否存在漏洞, 很有意思.” 这种深度学习的编程课程, 能让学生更加重视算法的重要性, 从而促进学生的算法思维训练, 提高他们的编程能力和创新意识.

3) 基于深度学习的编程课堂提高了学生的合作热情

基于深度学习的编程课堂不仅仅强调个体学习, 同时也注重团队协作和竞争. 在小组内部以及小组之间的合作和竞争机制下, 学生的学习热情得到了激发和提高. 在及时准确的评价反馈下, 学生们获得了方向性的指导, 小组内部凝聚力得到了提升, 小组任务也不仅是某个人的任务. 许多学生表示他们喜欢这种合作和竞争的机制, 认为让他们更有成就感, 更愿意投入学习中去. 例如, 一位学困生表示: “我喜欢本学期的课堂. 我们组的头像是我们精心挑选的, 被打印出来贴在黑板上, 每次答对题目都能为我们的组加分, 很有成就感.”

4.4 研究结论

通过对实验数据的分析, 可以得出以下结论:

首先, 基于深度学习理论的高中编程教学模式对学习者的编程成绩有显著正向影响. 通过表8、 表9可以看出, 相较于讲授为主的教学模式, 新模式对学习者编程学习成绩的提高更显著, 除学困生外, 学优生和学中生的成绩差异均有统计学意义.

其次, 基于深度学习理论的高中编程教学模式对学习者计算思维有显著正向影响. 从表10、 表11可以看出, 深度学习指导下的课堂教学对计算思维各维度的发展均有显著提升作用. 具体而言: 1) 合作能力均有提升, 且各层次差异均有统计学意义, 说明无论何种学力的学生, 在深度学习的编程教学中都能提升合作能力; 2) 算法思维都有提升, 除学困生外均有统计学意义, 这说明学困生长期以来较差的思维习惯与学习基础导致其无法在短时间内快速提升算法思维能力, 需要长期坚持思维训练; 3) 创造性都有提升, 除学困生外均有统计学意义, 这说明学困生受学习能力和思维方式所限, 导致创造能力虽有提升, 但仍需夯实基础才能让所想成为现实; 4) 批判性思维均有提升, 且各层次差异均有统计学意义, 这说明无论何种学力的学生, 在深度学习编程教学中批判性思维都能得到显著提升; 5) 问题解决能力均有提升, 且各层次差异均有统计学意义, 这说明各学习层次学生在深度学习编程教学中问题解决能力都能得到充分锻炼.

第三, 深度学习视域下的编程课堂其促进作用在不同学生类型上表现不同. 从表9、 表11可以看出, 尽管新教学模式对学习者的编程知识、 计算思维各维度存在有促进作用, 但基础较差的学困生在计算思维的算法思维和创造能力的提升效果较不明显, 后期改进中应当对学困生在算法思维和创造能力方面多加引导.

5 结语

本文基于深度学习理论, 创造性地设计了一种高中编程教学模式, 并结合前概念诊断与SOLO分类评价工具, 精准把握学情, 以学习者认知过程为教学设计主线, 通过真实有效的学习情境和明确有序的小组合作机制, 帮助学生构建编程知识体系. 学生在“个性化—合作学习”的过程中锻炼合作交流能力, 在基于真实情境的教学中学会“学以致用”, 在项目探究中发展计算思维. 实证研究结果表明, 基于深度学习理论的高中编程教学模式, 在学习成效与计算思维方面均显著优于现行的教学模式. 这一研究对于高中编程教学有一定的启示意义和借鉴价值. 然而, 本文仍有一些局限性和不足之处, 例如受试者数量较少、 时间和地点的限制等, 这些问题需要在后续研究中加以改进. 希望本文的探索和成果能够为深化教育教学改革提供新的思路和实践路径.

猜你喜欢
编程学习者深度
编程,是一种态度
元征X-431实测:奔驰发动机编程
深度理解一元一次方程
编程小能手
你是哪种类型的学习者
纺织机上诞生的编程
十二星座是什么类型的学习者
深度观察
深度观察
深度观察