49
计算机教育
Computer Education
第 2 期2021 年 2 月 10 日
中图分类号:G642
文章编号:1672-5913(2021)02-0049-04基金项目:北京联合大学教育教学研究与改革项目(JJ2020Z008)。
第一作者简介:梁爱华,女,副教授,研究方向为模式识别,******************。
0 引 言
疫情期间,师生身在各处,不能面对面授课[1]。没有了面授课堂,教学活动变成了以学生为中心,教师由教学者转变为助学者。这种情况下,调动学生自主学习的积极性和主动性至关重要[2-3]。Python 程序设计[4]作为一门实践性和应用性很强的课程,在依托现有的网络资源,组织学生学习并及时掌握学生学习情况
的基础上,需通过在线实践平台,让学生以任务驱动方式,引导学生逐步探索,提高编程实践能力,从而促进学生应用能力的培养非常重要。在线教学不是简单地给学生准备资源以及练习环境即可,而要落实到学习效果上,设计引导学生持续探究的学习任务,才能调动学生内在学习动力,提高自主学习能力。对于基础较弱,学习主动性普遍不是很高的地方应用型高校的学生,设计适合学情的任务尤为重要,同时有助于保障在线学习与线下教学质量的实质等效[4]。
1 Python程序设计特点
以应用能力培养为导向的Python 程序设计
在线教学实践
梁爱华,徐歆恺,李红豫,李 青
(北京联合大学 工科综合实验教学示范中心,北京100101)
摘 要:为落实教育部应对新型冠状病毒肺炎疫情防控下,开展大规模在线教学的新举措,针对Python 程序设计课应用性强的特点,分析本校学生学情,提出基于SPOC 及在线实践平台,以应用能力培养为导向的Python 程序设计在线教学模式,阐述如何在知识传递基础上,通过横向纵向多维度的任务驱动方法,开展在线教学实践,对照实施的效果表明多维度任务驱动法,可以有效促进学生应用能力培养,并
调动学生完成挑战式任务的积极性。
关键词:应用能力培养;Python 程序设计;在线教学;任务驱动
Python 是一种面向对象的解释型计算机程序设计语言[5],作为适应新技术时代的轻语法程序设计语言,具有简洁性、易读性和可扩展性的特点,使学习者不需要了解计算机底层知识而更多关注应用计算机解决问题的思路和方法。Python 语言发展成熟,全部开源,大量第三方扩展库为各个学科领域的专业问题处理提供方便易用的支持,可将其与各专业的业务需求相结合,快速编写解决复杂问题的应用程序和软件。
对于程序设计课程,教学质量的高低,主要是看学生运用知识解决实际问题能力的高低。而能力的提高,主要是靠学生学、思、知、行紧密结合练出来的,悟出来的。Python 不同于其他程序设计语言,教学过程中可轻语法、重实践,加强实际问题求解能力的培养,弱化实验报告等形式性内容,需要增加实践训练量,从而达到让学生具备应用程序设计技术解决专业问题的能力的目的[6]。
学习对知识的理解到应用需要一个过程,疫情期间学生各自在家,需依托在线编程实践平台,通过一系列任务的引导,引导学生运用所学
2021
50
计算机教育
Computer Education
知识,进行编程练习解决基本问题。在此基础上,逐步增加任务难度,帮助学生在分析问题、解决问题的过程中,通过实践自己建构经验。
2 在线教学组织
在线教学的组织包括知识传递、学习反馈与交互、知识应用3个环节。按照教学过程,这3个环节可对应到课前、课中、课后3个阶段。
知识传递方面,依托国家精品在线开放课“Python 语言程序设计”MOOC 资源,开展异步SPOC ,并根据本校学生特点,适当补充相关资源。课前布置学生观看SPOC 视频。在家观看线上学习视频,很容易使学到的知识陷入碎片化状态,不利于知识的系统和概念化吸收。需通过SPOC 平台数据或课前测等手段辅助了解学生的学习情况。
学习反馈与交互方面,运用慕课堂工具按时组织学生签到,让学生有上课的仪式感,使其快速进入学习
状态。通过直播功能,梳理通过视频学习的教学内容,并根据课前收集到的问题反馈,高效率地答疑解惑。例如对于函数部分的知识点梳理,可以从为什么需要函数,如何定义函数;到如何调用函数,函数参数如何传递进行。在完成基本知识点讲解后,还应该举例说明函数在项目管理中的意义,及模块化的分而治之思想。让学生的认识不仅仅停留在一个个零散的知识点,而是提高到学习该知识的意义,从而激发学生的学习兴趣。
知识应用方面,通过在线实践平台实现。只有在实践过程中,才能调动、综合、重组、改造头脑中已有的知识经验,对所接受到的信息进行理解、解释和吸收消化,形成自己的理解,完成有意义的主动建构学习。这个过程需要依赖于精心设计的实践任务,甚至是完整的项目任务[7]
3 任务驱动式教学方法
任务驱动是激发学生自主学习动机的有效方法。设计以学为中心的驱动式任务,可以更多放权给学生实践、反馈和思考。
任务设计中,既要考虑针对某个知识点的全
面实践,又要考虑任务之间的衔接。为了全方位实践某个知识点,可以按照发散思维模式,从一个任务
横向扩展出其他相关任务。同时,为了任务间复杂度和难度的衔接,则需要按照维果斯基的“最近发展区理论”,为学生提供纵向带有难度的递进式任务,调动学生的积极性,发挥其潜能,超越其最近发展区而达到下一发展阶段的水平,然后在此基础上进行下一个发展区的发展。
3.1 横向扩展式任务
按照在线学习中的分段呈现原则:学习内容按进度分段呈现,其效果优于一次性连续呈现。横向扩展式任务是指围绕某个知识点,充分挖掘其广度,从知识的相关性角度,设计扩展性任务。通过多角度深入理解并应用该知识解决相关问题。使学生通过解决任务,理解、消化知识。并通过整合建立知识联系。
横向扩展式任务示例如图1所示。以字符串遍历为例,在该知识点上,涵盖了字符串的常用操作和循环遍历。
字符串遍历
分类
统计
统计字母 统计数字
顺序调整
指定剔除
分段提取 切片
提取 排列
重组
遍历方式
间隔提取
字符遍历索引遍历图1 横向扩展式任务示例
通过遍历方式中的字符遍历和索引遍历,深入理解字符串序号及循环过程。通过分类统计中字母和数字等多种字符的统计,理解字符串相关函数和方法,并理解Unicode 编码。通过切片提取,理解切片的用法及多种用途的提取方式。通过排列重组,更全面地了解字符串整体操作,并借助其他字符串完成重组及剔除指定字符的功能。
第 2 期
51
专题策划——线上教学(九)
3.2 纵向递进式任务
纵向递进式任务设计是指从知识点复杂度上,基于实际应用问题,通过增量式,优化整合知识并全面应用。任务设置考虑层次性,通过设定不同难度的任务,逐渐引导学生向更高的难度挑战。教师为学生铺设台阶,引导学生逐步迈向上一层。为激发学生积极性,任务还要尽量考虑趣味性和实用性。在完成基础任务后,获得了成
图2 字符串遍历横向扩展式任务示例
图3 字符串重组横向扩展式任务示例
表1 纵向递进式任务设计示例
复杂度等级
知识点
应用问题
具体任务
1字符串操作密码认知求密码长度、密码构成(即是否含有字母、数字等)2分支结构密码简单分类简单密码强度分类(按照长度,仅含数字,仅含字母等)3
遍历循环强度判断
混合密码强度分类(遍历查是否同时包含多种类型字符)
4
函数
强度等级
将各类判断的功能封装成函数
就感。接下来学生会更有信心去完成提高任务。
表1给出了纵向递进式任务设计的示例。以密码强度等级判定为例,从字符串操作、分支结构、遍历循环、函数逐渐增加复杂度。从密码认知中简单地使用字符串相关操作,到密码简单分类中的分支与字符串函数的使用;再到遍历循环后,密码强度判断;最后通过函数封装,达到完整的应用。
依据上述任务设计,在每周的实践任务中,除了基本功能外,增加拓展性的挑战任务。挑战任务的设计与基本任务衔接,难度跨度不能太大,让学生感觉自己“跳一下能够得着”,使学生保持持续的内在动力去探索。
4 实施效果
教学实施过程中,两个平行班同时进行,每周的任务均设置了挑战任务。对于横向扩展性任务,则在直播环节后通过布置拓展任务和实例演
示方式进行。字符串遍历和字符串重组的横向扩
展式任务示例如图2和图3所示。
期中进行的阶段测验中采用抽题模式,每个
题对应不同的知识点。每个题目均从6个横向扩展式测试题中随机
抽取。其中2班有针对性地布置相关任务练习,阶段测验第1至3题的测试成绩对比如图4所示。每个
2021
52
计算
教育
Computer Education
黑点表示一个学生得分,黑点下方数字表示相同得分学生人数,实线表示平均分走势,虚线表示中位分走势。可以看出平均分和中位分均有提高。
纵向递进式任务以选做的挑战任务进行布
置,要求学生在基本任务完成基础上进行探索。各周之间又按照内容的复杂程度,逐渐递进。由
图4 阶段测验实施效果对比
图5 纵向递进式挑战任务完成情况对比
于挑战任务不是必须完成,刚开始学生自主探索的动力较小,且有畏难情绪。此时,根据学生完
参考文献:
[1] 中华人民共和国教育部. 教育部应对新型冠状病毒感染肺炎疫情工作领导小组办公室关于在疫情防控期间做好普通高等学
校在线教学组织与管理工作的指导意见[EB/OL]. (2020-02-04)[2020-02-05]. v/srcsite/A08/s7056/202002/t20200205_418138. html.
[2] 汪琼. “教学存在感”及实现路径辨析[J]. 现代远程教育研究, 2020(2): 11-19.
[3] 焦建利, 周晓清, 陈泽璇. 疫情防控背景下“停课不停学”在线教学案例研究[J]. 中国电化教育, 2020(3): 106-113.
[4] 中华人民共和国教育部. 疫情防控期间做好高校在线教学组织与管理工作[EB/OL]. (2020-02-05) [2020-02-06]. www.
[7] 任永功, 林禹竹, 多召军. 面向深度学习的项目式编程学习优化设计与实践[J]. 现代远距离教育, 2020(1): 46-53.
(编辑:赵 原)
成情况,集中讲解,引导学生勇于尝试,并通过作业加分等方式进行激励。挑战的学生逐渐增多,同时效果也越来越好。图5所示为4次挑战任务的完成情况。可以看出,从最初参与人数为20人逐渐增多。虚线表示的中位数也逐渐提高,实线表示的平均分略有波动,最高分人数逐渐增多。这表明,学生主动探索的主动性提高,并且不是简单尝试后轻易放弃,而是向追求卓越的目标努力。
字符串截取在线
5 结 语
在Python 程序设计课中进行多维度的任务驱动式在线实践,有效地调用了
学生的学习积极性,激发了学生内在动力,通过调查问卷反馈及学生阶段测验来看,该方法取得了较好的学习效果。
在线教育平台为当前疫情环境下的在线教学组织提供了技术支撑,但视频资源仅完成了知识的传递过程。对于程序设计这种实践性强的课程,引导学生通过任务驱动,对知识加深理解并应用,需要教师的精心设计和实践。另外,通过创设教学情境,让学生感受到互助学习的氛围,消除居家学习的孤独感以及调试失败的挫败感,才能更好地提高学
生的自主学习能力,保证在线教学效果。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。