刘风华 陈亮亮
关键词:课程思政;职业教育;项目化教学;Python程序设计
为深入贯彻习近平总书记关于职业教育的重要指示,落实全国职业教育大会精神,按照《国家职业教育改革实施方案》《职业教育提质培优行动计划(2020 —2023年)》等部署,各院校积极构建“三全育人”体系,深化“课程思政”建设。为了进一步明确课程思政的教育教学意义,2020年5月,教育部印发了《高等学校课程思政建设指导纲要》,并从国家层面对高校“课程思政”建设做出了整体设计和部署,明确了课程思政建设的总体目标和重点内容,指导纲要中强调课程思政要与课堂教学充分融合,要将课程思政作为重要内容写入教学大纲、纳入评价指标中,在实施过程中要融入课堂讲授、实践任务、课后作业等各个环节[1]。
“课程思政”建设是实现立德树人这一根本任务的重要战略举措,为此,课程思政要与教学内容相辅相成,起到唤醒学生的内驱力、增强学生的责任感、培养学生良好的职业素养和健康的生活理念等作用。
项目化教学是以教学项目为载体,采用任务驱动的方式将专业学习融入破解任务难题的过程中,以解决问题为导向,在完成具体任务的过程中掌握专业领域的理论知识与实践能力[2]。为此,采用项目化教学更加符合“课程思政”与教学内容相辅相成的要求。
项目化教学通常以项目小组的形式开展教学,以学生为主体,激发学生的探究欲;采用课堂研讨的方式设计解决方案,再通过小组论证的方式确定解决方案,然后再通过实践来验证方案的可行性。整个教学过程用项目贯穿,做到主线明晰、为用而学,通过学以致用的方式,立竿见影地解决任务难题,有效增强了学生在学习中的获得感和成就感,从而激发学生向新目标发起冲击的动力,实现从“引发好奇”到“主动探究”到“达成目标”的良性循环[3-4]。
1 Python 项目化教学的整体设计
1.1 Python 课程概述
Python是一种面向对象的解释型计算机程序设计语言,在众多程序设计语言中Python以简单易用,语法简洁、功能强大而受到欢迎,尤其是Python强大的第三方库,将图像处理、数学计算、数据库编程、网络编程等功能集于一身,是各大高校开设入门级程序设计语言的首选。通过课程的学习,能够掌握Python 语言的基本数据类型、运算符、变量,能正确书写表达式;掌握字符串、正则表达式、列表、元组、字典、集合等序列结构数据的定义和应用;能使用基本输入输出及其他常用内置函数、流程控制语句、函数、模块、包等编写及合理组织代码,完成程序编写。掌握程序设计的基本思想和方法,会用使用工具描述算法,能运用结构化程序的思想去编制、调试和运行程序和分析异常,具备一定的代码复用和设计复用能力;能用程序设计思想解决生活中的问题,并将程序设计思想、方法和工具融入专业知识。
1.2 Python 程序设计课程的项目化重构
根据《Python程序设计基础》的教学要求,课程组根据计算机行业动态和学生自身发展的需要,重新修订课程标准与课程大纲,重构课程内容,以项目为载体,将课程思政与具体教学项目相结合,将知识点与项目内容有机融合,将思政点嵌入学习任务,通过选择具有正能量、能激发爱国爱岗之心的实践案例融入课程,培养学生主动思考、发现问题、分析问题、解决问题的能力;在课堂教学中充分发挥项目小组的作用,营造沟通交流和协作互助的良好课堂氛围;注重职业素养的培养,严格遵守行业规范、操作标准,培养青年一代的社会责任感和使命感。
课程思政与教学项目、教学任务的融合如表1 所示。
2 Python 程序设计课程的项目化教学实施
2.1 项目构成及内容
项目化教学通过“项目背景”引入教学内容,通过“项目准备”为学习新知打下基础,由“项目分析”将问题分解为一个个子任务,并在传统的任务驱动式教学法基础上,设计了具有一定变式度、差异性的梯度子任务。教师对项目的基本逻辑与脉络进行提示与引导,师生共同完成从“项目分析”到“项目实现”的完整过程,并根据上一阶段目标的完成情况进一步升级到“项目拓展”,循序渐进解决教学难点,实现知识的深度拓展与能力的螺旋式上升[5-7]。整个教学过程中采用思政線与任务线双线并行,通过以“点对点”方式、画龙点睛式、专题嵌入式实现课程思政的“润物细无声”。以项目六“奋进新时代之词云效果”为例,课程内容主要是学习如何用Python程序将中文文章中的高频词以词云方式进行显示。为此,项目案例选择了一段关于中国百年奋斗成果的文章。
项目背景为中国共产党的百年奋斗历史和第二个百年奋斗目标;
项目准备为字符串的相关操作,由此对比出英文文章中字符统计方法与中文字符统计方法的区别;
项目分析与实现中对生成词云效果需要用到的第三方库进行梳理,并根据项目要求确定具体使用的第三方库,即jieba库和wordcloud,以及与Python开发环境匹配的具体版本,掌握第三方库的下载及安装方法。在解释第三方库的作用时,引导学生要具备迁移思维“学会站在巨人肩膀上看待问题、解决问题”,让学生在解决问题时具有更高的视角和更大的格局。
知识学习方面通过教师引领和学生讨论的方式进行,比如教师抛出中英文字符统计的问题,项目小组经讨论得到“英文文章以单词为单位用空格断词,而中文是以句子为单位,同时中文博大精深,不同的断句会有完全不同的意思”。于是教师引出jieba库的作用,可以将汉字按照语义进行分词,再用wordcloud 库根据分词结果生成词云图。教师将jieba库和word⁃cloud库的使用案例发给学生,各项目小组参考案例完成任务。
项目拓展中根据词云效果图,小组讨论发现问题并提出改进措施,进阶到拓展任务。
项目实战则由各小组根据案例自行设计实战任务,达到举一反三、巩固新知的作用。
2.2 混合教学模式下的项目化教学实施过程
教学实施分为课前学习、课中进阶、课后拓展三个阶段,依据四元教学理论,设计了“引-探-帮-练- 升”五环节推进项目学习[8]。
现以项目六《奋进新时代之词云效果》為例详细说明教学实施过程。
1) 课前学习:了解项目预习新知
课程教学采用线上+线下的混合教学模式,借助“学习通”在线学习平台,在课前发布与项目背景相关的视频、资料等,同时将课前预习内容以微课和课前测试的方式发给学生,引导学生完成课前预习,通过测试结果和学习情况动态掌握学生学情。
2) 课中阶段:五步进阶,攻克任务
引:项目引入,打开一段关于中国百年奋斗成就的文章,让同学们统计出文章中的高频词,并以词云方式进行展示。
探:方案探究,学生分组讨论如何才能解决中文文章中的断句、分词和词频统计、排序等问题,教师引导学生根据Python第三方库的索引,查找对应扩展库的功能,完成任务2 jieba 库和wordcloud 库的安装。
帮:引导支持,教师通过讲解、演示、互动的教学形式介绍jieba库、wordcloud库的功能,同学们通过学习掌握jieba库和wordcloud库的使用方法,完成任务3和任务4。
练:实战演练,此环节主要采用教师安排任务、学生编写程序完成相关任务。其中任务完成效率高的学生转变为助教角色,建立“教师-助教-学生”学习链,采用互帮互助的方式,协助学习,突破教学难点。
实现词云效果的主程序为:
升:任务进阶,学生在完成简单的词云效果后,通过小组讨论发现可以进一步优化的地方,比如默认生成的词云图是以白色为背景的矩形图,看上去比较简洁,可以通过设置与主题相关的图案轮廓和其他背景图片,让词云效果图更加美观、贴合主题。鉴于这种对作品精益求精的态度,引导学生学习图片叠加、图片剪裁等新知识,并对原有效果进行改进,进阶到拓展任务,实现知识技能的螺旋上升。
为实现叠加效果,增加的程序内容为:
3) 课后阶段:梳理总结,拓展任务
学生通过自主探究完成任务并提交至学习通平台。
通过三阶段、五环节的教学实施,能够充分发挥项目化教学的优势,让学生带着问题和任务去闯关,培养了学生将实际问题转换为抽象程序的能力;提升了学生使用Python语言设计、分析、编程和调试的能力;引导学生将程序设计的理念和生活中的问题相结合,提升学生的计算思维能力。
3 项目化教学评价
项目化教学考核评价贯穿课前、课中、课后三阶段,涉及课前学习情况、新知掌握及项目完成度、课后拓展任务的创新及完成情况、课堂参与度四个方面,评价主体有学习通平台数据、教师评价、学生评价等构成,项目考核构成如表2所示。
4 项目化教学效果
项目化教学方式有效唤起了学生的学习兴趣,阶梯式任务设置持续激发了学生学习的动力,课程思政的嵌入式融入,实现了情感共鸣。通过课前学习、课中演练、课后拓展等教学环节的开展,学生对Python 程序设计课程产生了浓厚的兴趣,学生主动探索、分享交流,以兴趣为锚点撬动了学习主动性,课堂内学习氛围浓厚,以链式互助关系为依托,所有学生均能顺利完成预期任务,达成教学目标。
5 结束语
在全面推进“课程思政”建设的背景下,以带有思政色彩的项目案例为载体,开展Python程序设计课程的项目化教学改革,依托在线学习平台打造线上、线下双重教学空间,采用思政线与任务线并行的教学设计,践行“教学有温度、任务有梯度”的教学理念;达成了“会分析、能开发、遵规范、善沟通、强协作”的程序设计类课程的教学总目标。