唐娇,汪可薇琪,缑梦珂,卢尧
1.贵州师范大学 机械与电气工程学院,贵州 贵阳 550000; 2.中国联合网络通信有限公司贵阳市分公司,贵州 贵阳 550000
Python是一门通用的计算机编程语言,应用广泛,易于上手但难于精通。职业院校传统的教学方式以及中职学生自身的特点,让Python程序设计课程陷入了“教师难教、学生难学”的困境和无奈之中。与此同时,微课因其短小精悍、主题突出、交互性强等优于传统教学的特点,在教育教学过程中得到了广泛应用,微课教学已被证明是课堂教学的一种有效补充形式。目前,微课或Python程序设计课程领域的研究成果较为丰富,而中职学校Python程序设计微课领域还有较大的研究潜力。本研究欲从微课视域出发,探索符合中职学生发展特点的Python程序设计课程的开发与建设,加快推进职业教育数字化建设进程。
Python语言是由Guido van Rossum在二十世纪九十年代设计出来的,它是一种结合了解释性、编译性、互动性和面向对象的脚本语言,具有简单易学、可移植、可扩展、可嵌入等独特优势[1]。由于Python语言运用广泛且容易上手,中职院校紧跟潮流,开始在软件技术、人工智能技术应用、智能机器人技术等专业开设Python程序设计课程。
微课程最早起源于可汗学院翻转课堂的教学模式,是一种运用信息技术并按照认知规律呈现的结构化数字资源,通常控制在10min内,课堂的教学视频是主要内容,同时还包含与教学主体相关的练习反馈、教学反思等内容[2]。近年来,微课因其短小精悍、主题突出、交互性强等优于传统教学 的特点被广泛应用在教育教学过程中。
在中国知网(CNKI)高级检索中搜索主题词或关键词含有“中职”和“Python”后发现,有效文献共37篇,其中仅有两篇大致提到开发中职Python程序设计微课。同时,张国鹏等人在对我国中职微课进行可视化分析后发现,由于中职微课起步较晚,大多借鉴普通高中的微课教学模式,忽略了中职教育偏重专业知识和技能的特点,且中职课程类微课研究也比较单一,研究热度过早饱和[3]。
在疫情防控常态化工作背景下,为了充分了解中职学生Python程序设计课程的学习情况,本研究通过线上调查的方式发放问卷96份,共回收有效数据80份,有效率为83.3%。其中男生38人、女生42人,主要包括南京职业技术学院、平顶山职业学院等职业院校,涉及计算机科学与技术、大数据技术等专业,最终采用IBM SPSS Statistics26.0中文版软件对收集的数据进行处理分析。在调查到学生对于Python课程教学进度的适应情况时,超过一半的学生普遍认为难以适应教学进度,其中63.75%的同学认为老师的教学进度偏快,个别同学认为教学进度偏慢,如表1所示。
表1 中职学生对当前Python课程教学进度的适应性
同时,中职学生一般文化课基础较弱,在学习Python程序设计时面临着众多问题。根据调查情况看,不适应老师的教学方式、遇到编程问题无法及时解决以及在课堂中无法长时间集中注意力是中职学生学习Python编程面临的主要困难,如表2所示。
表2 中职学生在学习Python时经常遇到的问题
而根据被调查者的选项排序值反向计分得出,中职学生在遇到Python编程问题时更愿意求助于网络,其次是教师。综合各方面原因分析:中职学生本身学习动力不足且处于被动状态,特别是学习成绩处于下位段的学生,他们通常不愿意花费时间和精力去请教老师,或者担心暴露自己的问题而受到嘲笑,从而更愿意求助于网络,所以如何强化学生的学习动机也是提升中职学生编程能力的关键内容见表3。
表3 中职学生在遇到编程问题时对求助对象的选择倾向
总的来说,目前很多中职学生在学习Python课程时普遍存在无法适应教学进度、兴趣缺乏、注意力难以保持等诸多问题。而从下面的图1可以看到有相当多的同学提出了当前课程缺乏趣味性和实践操作性、可利用教学资源不足以及无法适应老师的教学进度和方式等建议。除此之外,还有多达43.8%的被调查者没有提出相关建议,一方面可能是线上调查带来的局限性,另一方面则可能是部分同学学习动力和学习信心不足,对学习持消极态度。
图1 学生对当前开设的Python课程提出的不同建议占比情况
微课教学内容短小精悍,通常选取某个学科的重难点或疑点、考点作为课程内容,相对于传统课堂要完成复杂众多的教学内容、达成多个教学目标而言,“微课”中的教学主题更为突出明确[4]。传统课堂一节课的总信息量远大于微课,学生容易受到无关信息、前摄抑制与后摄抑制的干扰,而教师将Python程序设计课程中的重难点知识做成微课视频,在课堂中辅助教学或由学生课下自行巩固复习则能弥补传统教学的不足,改善单一教学方式的同时,提高学生的自主学习能力。
微课教学时间短,通常集中在5~8min,一般不超过10min。根据国外可汗课程的统计和脑科学的研究,一般人的注意力集中有效时间在10min左右[5]。显然,微课有助于学生进行自我调节、维持持续性注意力并提高记忆[6],增强学生学习编程语言的信心。
微课以视频形式为载体,一般被制作成Flash、AVI、GIF、mp4等格式的视频[7],占用的存储设备空间较小,可以通过网络平台反复观看,突破了时间和空间的限制,因此学生拥有更多的自主选择权。既符合“以学生为本”的现代教育理念,又能够有效提高其自主学习的积极性,促进分层教学目标的实现。
微课资源多样且情景真实,传统教学中由于缺乏对学习过程中的数据采集和分析手段,难以对学习者的最近发展区进行有效评估,难以支持精准教学[8]。微课可以针对学生的学习水平设置多层次的教学内容供学生自主练习,并全程记录其学习情况,满足其个性化发展。与此同时,师生还可以在真实的、具体的、典型案例中进行教与学,增加Python学习的趣味性,迅速提升课堂教学水平。
一节精致的微课,不仅要精心打磨选题和实际制作,还要考虑讲解者的教学水平、后期制作等众多因素[9]。在进行微课总体设计时,应明确教学目的、合理处理教材内容,同时考虑到新旧知识的联系、内容设置的先后顺序并及时进行评价反馈,形成一个完整的闭环结构。微课具体制作包含设计选题、制作课件、准备辅助资料、录制并上传音/视频以及建立微课评价机制五大环节[9]。
微课选题应具有趣味性、创新性,切实满足学生的实际需求。尽量采纳学生感兴趣的内容作为案例来讲解相应知识,同时增加微课界面的互动性,设置适当的提问。在讲解递归函数时可以巧妙利用Python Turtle模块,通过呈现简单的分形树、科赫雪花曲线等容易引起学生注意的图形刺激来加强学生对递归函数的进一步认识,同时设置提问,引导学生思考生活中还有哪些游戏或图形可以用递归思想解释,培养学生的自主探究能力。如表4为绘制分形树的子程序和编译运行后的结果。
表4 分形树子程序及运行结果
微课选题须遵循“以学生为本”的基本原则,还要考虑科学性、相关性、价值性等因素。比如,教学过程中的重难点、疑点、考点、热点,平时需要老师反复讲解和强调的内容,学生容易出错的知识点和经常提问的内容等,都可以作为微课的选题对象[10]。
注重选题的规范性和系统性,一方面要以相应教材为基础、结合实际应用进行适当的拓展延伸;另一方面,要注意系列微课之间的衔接性、层层递进的设计课程内容。直接“丢”给学生零碎的知识点会妨碍学生对学科知识的全面认识和整体建构,要让学生逐步掌握Python语言的基础语法、函数及模块的使用、理解其中的逻辑关系并能独立进行一定的综合实战。
课前导入:课堂导入时应注意其科学性和灵活性,课程开始能成功吸引学生的注意力,对后续的课堂学习具有十分重要的作用。微课的导入时间一般不超过1min,主要进行旧知的回顾、经验的激活,通常以情景式、故事型等方法导入,以达到预期的教学目的和效果。比如以递归函数作为微课主题时,可以先以数学家斐波那契提出的兔子繁殖例子导入(斐波那契数列:1、1、2、3、5、8、13、21…)引导学生根据给出的斐波那契数列求出第11列兔子的数量,从而找出其中的规律。
知识点讲解:教师可对本节课的重难点部分进行适当的教学设计,教学方式可根据具体情况选择学生自主探究或师生互动探究的方式,此环节需要注意把握好教学节奏、适当利用教学工具。比如,在学习递归函数时,教师可以结合Python开发环境讲解斐波那契数列这样的程序设计实例(表5)加深学生对于递归思想的认识。
表5 斐波那契数列代码及运行结果
巩固练习:课堂练习是教学过程的重要环节,恰到好处的习题不仅能及时巩固新知识、而且能发散学生的程序设计思维、提高其学习能力。微课的时长有限,对于习题的设计需充分贴合相应知识点,选择典型题目、易错题目。经过初步学习,大多学生基本掌握怎样用递归函数求出斐波那契数列的某一项,这时可以“趁热打铁”让学生用Python开发环境试求斐波那契数列的第18项进行强化学习。然后逐渐增加难度,设置不同类型的题目,锻炼学生举一反三的能力。
拓展延伸:根据此次调查发现(参照表1),有多达70%的学生认为难以适应教师的教学进度。此环节可以为不同层次的学生设计有难度区分的延伸练习,学生可以根据自身需要选择相应内容进行巩固练习或提高训练,充分利用最近发展区的教学效能。
微课制作不仅涉及课件内容的准备,如:教材、教具、Python程序相关案例、思政内容的融入等,还需要撰写微课的脚本。脚本的撰写可以使微课的制作过程更流畅,有助于及时发现问题并修改相关内容。脚本是微课结构和内容的体现,包括解说词、字幕、音乐等关键要素[11]。
微课视频需要保证可靠的清晰度,微课制作者可以根据实际需要选择相应软件。其录制过程中不仅包括文本、图片、动画的运用技巧,还涉及音频、视频等素材的加工[12]。对于录屏类微课制作而言,一般需要导入PPT、录制语音旁白,同时运用Photoshop CS6进行图片处理、动态注释功能以及选区操作的思维导图、编辑视频等相关技术[13]。课件PPT要做到简洁明了、主题突出,合理使用背景,文字格式及颜色等;语音旁白要清晰洪亮、富有感情、语速适中,并与画面同步,完成视频录制后及时上传到相关学习平台,以供学生随时使用。
表6 微课质量评价指标
微课评价体系一般指对于微课质量进行总体评价的制度模式,及时准确、积极有效的评价可以对课堂教学产生重要的指导和激励作用,促进中职学生学习Python编程语言的可持续发展。为了保证中职院校的微课教学质量、提升教学效果,建立完善的微课教学评价体系是非常关键的一步。本研究根据中职院校教学特点,借鉴温彤和Sun Y等人的微课质量评价指标初步构建了中职微课质量评价体系[14-15],力图为中职微课教学提供更多参考和标准。
教学过程中,很多抽象的内容展示和知识体系建构,都需要借助现代化手段进行直观表现,而微课制作需要掌握一系列基础理论、技术、流程与方法等,这对教师队伍的信息化水平提出了更高要求。中职院校可鼓励教师参与微课制作、多媒体技术运用等教学技能大赛,加强对教师信息化教学的培训工作,对教师的信息化教学成果进行一定的奖励,从而促进教师参与微课制作的积极主动性[16],提高微课质量。
在疫情常态化和经济全球化背景下,推动中等职业教育数字化建设是大势所趋[17],而利用微课辅助教学来促进职业教育数字化发展的优势是显而易见的,但随之而来的是微课教学可能面临的一系列挑战:中职微课可能变得“肤浅化”和“快餐化”,数字教学资源虽多但却是过度碎片化、不成体系的[18];同时容易忽视教育的“育人”功能,难以践行“立德树人”的教育理念。如何应对这些挑战,充分发挥微课的辅助教学功能是不容忽视的问题。
此次调查发现,部分中职院校的Python程序设计课程过于偏重理论教学,学生普遍缺乏实践能力,且理论课和实践课分离现象严重,这成为学生学习兴趣低下、实践能力较差的重要原因。根据美国著名心理学家班杜拉的自我效能感理论来看,成功经验会增强自我效能,从而获得学习成就感,进一步激发学生的学习动机。而且,要想学好编程就必须多写代码,学生也更容易在上机操作过程中获得可视化的数据成果,在不断Debug中培养编程思维,总结编程经验。除此之外,鼓励奇思妙想、协作与竞争,广泛开展学科竞赛等都能够有效地强化学生的学习动机,培养学生解决实际问题的能力,激励学生主动参与并投入到Python程序设计课程学习中。
结合中职学生的学习调查现状和微课特点,并以递归函数为例设计微课制作流程,可以发现微课作为传统课堂的辅助教学手段,能够突破时空限制,实现课程的灵活性与趣味性,有利于增强学生的学习自主性和内在动力、推动实现Python程序设计这门课程分层教学的目标。在实践过程中,教师需提高信息化教学水平、在微课制作中适当融入思政元素、增强Python程序设计课程的实践性,促进中职微课的进一步发展和创新。同时,中职院校的程序设计类微课还需要不断优化,建立科学完善的微课质量评价体系,引导学生自我监控学习进程并积极调整改进,为中职微课教学提供参考和标准,推动职业教育数字化建设。