Python 程序设计课程思政方法与实践
2021-08-02代丹丹唐万梅
代丹丹,唐万梅
(重庆师范大学计算机与信息科学学院,重庆 401331)
0 引言
习近平总书记在全国高校思想政治工作会议上强调,要利用好课堂教学这个主渠道,落实“课程思政”教育。“课程思政”是指以构建全员、全程、全课程育人格局的形式,将各类课程与思想政治理论课同向同行,形成协同效应,把“立德树人”作为教育根本任务的一种综合教育理念[1]。《中共中央国务院关于进一步加强和改进大学生思想政治教育的意见》也强调:“高等学校各门课程都具有育人功能,所有教师都负有育人职责。”要实现全方位育人,让各类课程与思想政治课共同承担育人责任,短板就在于如何在专业课程中融入思想政治教育,而关键就在于找到专业课程与思政教育相融合的普适性方法。
随着大数据、人工智能的发展,青少年编程教育已经上升至国家战略层面,是我国“科教兴国”战略的基础。无论是国务院发布的《新一代人工智能发展规划》[2],还是教育部办公厅印发的《2019 年教育信息化和网络安全工作要点》[3],都无一不提到要推广编程教育进中小学课堂。人工智能作为目前最大的科技“风口”,国内外均在推进新型高科技人才培养,抢占世界科技高峰。在国外,新加坡、芬兰提倡以跨学科的方式进行编程教育[4-5],芬兰教育科学部部长还提到,技术教育是芬兰的国家目标,会尽一切力量为儿童学习编程提供各种资源以为未来做准备[6]。在德育方面,国外也提倡以柔性方式在不同课程中融入道德和价值观教育[7],如法国的法语教学中,教师会着重引导学生热爱民族语言、感受民族文化,美国高校在专业教学中也会注重引导学生思考相关社会伦理道德问题[8]。这与我国所有课程都应当承担育人功能的“课程思政”理念有共通之处。
国内关于编程教育与课程思政的融合研究主要集中在课程思政元素挖掘、教学设计或实践路径探索上。如文献[9]中提到从理论课、案例教学、实践课中挖掘思政资源;文献[10]中以IT 行业的岗位素质要求为依据确定课程思政目标,根据C 语言教学内容进行课程思政教学设计;文献[11]中设计了融入思政要素的课前、课堂的理论教学环节和基础性、开发性、探索性实验的多层次实践教学环节,并取得了较好实践效果。也有对程序设计类课程思政案例进行研究的学者,设计了融入思政元素的主题教学案例并开展教学[12-13]。分析文献发现,国内程序设计类课程思政的研究内容不够深入,以Python 语言为研究对象的较少,并且缺乏程序设计类课程思政案例建设研究,案例学习资源匮乏,在教学方式、教学内容上也较为单一。
青少年编程教育是培养科技创新型人才的基础,在国家实现第一个百年奋斗目标的关键时期,在全球信息化发展大势下,培养有担当、有理想、有爱国情怀的新时代“后浪”,是迫在眉睫的任务。现代教育技术专业硕士研究生作为未来中小学信息技术教师,如何在培养其编程能力的同时,帮助他们树立正确的人生价值观,促使他们成为具备核心素养的中小学教师,是Python 程序设计课程应该探索的问题。基于TPACK 理论框架,要在专业课程中开展课程思政,需要从教师本身入手,从教师自身具备的知识素养中寻找专业课程思政方法。
1 Python 程序设计开展课程思政的必要性
1.1 师范生特点
在2018 年召开的全国教育大会上,习近平总书记明确指出:“教师是人类灵魂的工程师,是人类文明的传承者,承载着传播知识、传播思想、传播真理,塑造灵魂、塑造生命、塑造新人的时代重任。”现代教育技术专业硕士研究生作为未来的中小学教师,要教书育人、为人师表,也要潜心专研、勇于创新。作为学生,学术道德是底线,而作为教师,职业道德是基本。他们正处在学生向教师的过渡阶段,是知识、能力水平,以及教师职业道德养成的关键时期,而教师的思想政治素质和职业道德水平直接关系到中小学德育工作状况和亿万青少年的健康成长,关系到国家的前途命运和民族的未来[14]。因此,对师范生进行思政教育是每一门课程都不可推卸的责任。
1.2 Python 程序设计课程特点
2017 年,国务院发布《新一代人工智能发展规划》,规划中指出支持开展形式多样的人工智能科普活动,在中小学设置人工智能相关课程[2],而Python 是人工智能与大数据分析的基础工具,各地、市教育局不仅将Python 列入小学、中学课程体系中,还有一些省份如北京、山东、浙江已将Python 列入高考科目,从而在中小学推广编程教育。Py⁃thon 程序设计作为当下培养青少年科学素养、计算思维最为流行的程序设计课程,是现代教育技术硕士研究生的专业必修课,也是该专业研究生毕业论文的研究热点。与其他编程语言课程相比,它有两大特点:①语法简单、易于阅读,零基础的学生也能快速入门;②功能强大、兼容性强,有大量三方库支撑,可以轻松完成数据管理、图形用户界面等各种任务。
青少年编程教育并非只是学习程序的编写,以编程教育为支撑,能够融合科技、人文等多领域知识用于解决实际问题,不仅能够培养学生的科学素养和计算思维,还能通过与其他学科知识的融合增加学生的学习获得感,促进青少年德智体美劳全面发展,这也与“课程思政”的教育理念相契合。因此,在Python 程序设计中开展课程思政是大势所趋。
2 Python 程序设计课程德育目标
《中小学教师职业道德规范(2008 年修订)》对中小学教师提出了“爱国守法、爱岗敬业、关爱学生、教书育人、为人师表、终身学习”6 方面的要求[14]。在2018 年召开的全国教育大会上,习近平总书记对学校教育也提出了6 个方面的要求:“要在坚定理想信念上下功夫,要在厚植爱国主义情怀上下功夫,要在加强品德修养上下功夫,要在增长知识见识上下功夫,要在培养奋斗精神上下功夫,要在增强综合素质上下功夫”[15]。结合Python 程序设计课程特点,以及师范生未来应达到的职业素养,将该课程德育目标确定为:引导学生坚持中国道路、弘扬中国精神,培养学生爱国情怀;树立法治意识,坚守法律法规底线;有甘为人梯的牺牲奉献精神,树立正确的人生价值观。同时,提升准教师的“课程思政”意识和能力,为学生在今后的专业课程思政教学中打下基础。
3 Python 程序设计课程思政方法
要在专业课程中开展课程思政,首要关键点在教师,无论是专业课程中思政元素挖掘,还是课程思政实施,课程思政效果评价都离不开教师,也即教师自身知识素养是关键。根据TPACK 理论,教师应具备的知识有学科内容知识、教学法知识和技术知识,TPACK 是整合技术的教师知识框架,包含3 个核心要素和4 个复合要素,是信息时代教师应当具备且必须具备的全新知识[16]。结合TPACK 理论,专业课程思政开展方法可以从教师自身具备的学科内容知识、教学法知识、技术知识入手,如图1 所示。
Fig.1 The framework of ideological and political methods for professional courses图1 开展专业课程思政方法框架
3.1 学科内容知识是关键
要在专业课程中开展课程思政,教师对学科内容知识的全面掌握是关键,只有对本学科内容的知识框架了然于心,同时熟知思想政治教育的基本内容,才能根据思政课程内容挖掘专业课程中蕴含的思政元素,而教师在专业学科上的深耕本身就是对学生最好的思政教育。Python 程序设计课程的知识框架主要包括Python 基本语法、程序控制结构、turtle 库、基本数据类型和组合数据类型、函数、word⁃cloud 库、文件等内容,并且在教学过程中通常以大量案例结合Python 第三库的使用来贯穿整个基础知识部分内容的讲解。因此,在开展课程思政时,可以结合课程德育目标在设计具体案例上下功夫。
3.2 教学法知识是基础
教师善于运用教学法知识是课程思政顺利开展的基础,思政元素要在课程教学中与学科知识进行有温度、有深度的融合,需要教师根据不同的学科内容选择合适的教学方法。有效的教学方法或模式不仅能提高课堂效率,带动学生情绪,促使思政元素更好地融入专业课程教学中,并且教师较强的教学组织能力也能成为学生的榜样。Py⁃thon 程序设计课程是一门实践性很强的课程,需要学生亲自动手操作实践,根据课程内容和学生特点,本门课程选用混合式教学模式以及任务驱动、自主探究等方法开展,其部分内容采用PBL 教学模式,让学生成为主体,去发现和解决问题。
3.3 技术知识是前提
在信息时代,多媒体教室、智慧课堂早已取代传统教室成为主流,信息技术知识也成为当代教师的必备技能。在专业课程中开展课程思政更加离不开技术知识的支撑,需要教师运用技术知识,为思政教育营造良好的教学情境,像黏合剂一样让思政元素和专业课程融合得更加自然。根据教学模式和教学方法,Python 程序设计课程使用了微课、课件制作、Spoc 平台等技术知识,支撑专业课程思政开展。
基于以上方法,以Python 程序设计课程为例,根据课程德育目标,选取Python 中常用的turtle、wordcloud、pygame 等第三方库与爱国主义教育、法制教育等思政主题进行融合设计,形成如表1 所示的典型案例。
Table 1 Python program design curriculum Sizheng teaching case表1 Python 程序设计课程思政教学案例
4 Python 程序设计课程思政教学案例与实践效果
课程教学对象为研一学生,面向现代教育技术、职业技术教育专业研究生开设,本文主要对部分教学案例实践情况进行介绍。
4.1 Python 程序设计与爱国主义教育融合
教学案例:Python turtle 绘制党徽,庆祝建党100 周年。
德育目标:了解党史,学会维护党旗党徽的尊严,培养学生爱国情怀。
学科内容:turtle(海龟)库是Python 中重要的标准库之一,它能够进行基本的图形绘制,也是目前中小学主要教学内容之一。教学内容是了解绘图坐标系,掌握画笔控制和运动函数,以及全局控制函数,能利用turtle 库完成各种图形绘制。根据教学内容可以找到融入课程思政的契合点,即利用turtle 库完成各种图形绘制,可从图形素材下手,通过绘制一些有代表性的图案、图形并找到其背后的意义进行课程思政教学设计。
设计要点:采用线上自主学习,线下翻转课堂的混合式教学模式。在课前通过重庆高校在线开放课程平台(http://www.cqooc.net/)发布自学任务,了解中国共产党党徽的由来和意义,并观看“中国共产党党旗党徽制作和使用的若干规定”文件解读微课,引导学生知史爱党、知史爱国,培养学生对祖国文化的认同感和自豪感。课上创设情境引入新课,让学生以小组形式讨论绘制党徽需用到的函数,结合数学知识,理清绘制思路,在教师的帮助下完成党徽绘制。最后由教师和学生共同对学生完成的作品进行点评总结,并在课后要求学生对代码进行优化创新,用tur⁃tle 库绘制其他作品。
教学效果:在学生提交的作品中有绘制团旗、奥运五环等作品,并制作成微课案例详细讲解了绘制过程,说明学生在掌握专业知识的同时提高了思政意识,在无形中锻炼了他们的教学设计能力。
4.2 Python 程序设计与法制教育融合
教学案例:远离毒品小游戏——连一连。
德育目标:了解毒品的常见伪装和带来的危害,增强识毒、防毒、拒毒能力。
学科内容:Pygame 库是用来开发游戏软件的Python 程序模块,基于SDL 库而开发,用它制作小游戏非常合适。教学内容是如何用Pygame 库实现图形、文字的加载、绘制,实现界面效果,以及如何编写游戏事件,实现游戏效果。游戏是学生都感兴趣的话题,亲自编写游戏并实现游戏效果可以给学生带来较高的成就感,要在Pygame 库中挖掘思政元素,可以从游戏主题入手,设计融合思政元素的游戏主题,进行项目教学。
设计要点:课前观看2019 年国际禁毒日的最新禁毒微电影《魔鬼》,了解常见的毒品类型及其危害。课上通过4399 上的反毒品小游戏引入新课,采用任务驱动法让学生们设计一款远离毒品小游戏,游戏要实现的效果就是连接与描述相符的毒品图片。学生设计游戏界面并依次用Pyg⁃ame 库函数实现,然后思考讨论如何实现连线的正误判断和重复连接,以及用户操作存在的几种情况,并实现游戏效果。最后测试程序效果,看谁连得又快又对。
教学效果:从课前信息、课堂反映、小组讨论情况可以看出,课程思政起到了积极作用,学生对该类型课程表现出较高兴趣,觉得比较新颖,增加了学习Python 的趣味性,并且在专业课程学习中了解了毒品的危害,对学生起到了警醒作用。
4.3 抗击疫情
作品名称:战疫——致敬英雄。
德育目标:学会奉献,懂得感恩,树立正确的理想与奋斗目标。
设计要点:为了检验学生的编程能力以及作为未来教师应具备的教学设计和课程思政能力是否得到提升,采用PBL 教学模式让学生独立完成“战疫——致敬英雄”项目。该项目以网页的形式记录下了全国各地医护人员和人民解放军支援湖北省的详细数据,分为地图模块、医护人员烈士模块、军区支援模块3 个板块。地图模块以中国地图为载体,按照各省行政区域划分板块,每个板块区域设置相应的链接,通过点击跳转至对应地区的介绍页面,直观展现各地区支援湖北的详细数据;医护人员烈士模块记录了因本次疫情牺牲的医护人员名单;军区支援模块记录了军人护送防疫物资、接管火神山医院等英勇事迹。项目旨在以真实平凡的数据记录他们伟大热血的事迹。
教学效果:在该项目完成过程中让学生不仅感受到了人民之团结、国家之昌盛,为生在中国而自豪,还因能运用自己所学为社会作出贡献而感到骄傲。也让学生们知道在当下平静的校园生活背后有人负重前行,要学会奉献,懂得感恩。该项目的圆满完成也从侧面印证了在Python 程序设计中开展课程思政的教学效果较好,初步实现了德育目标,准教师们的“课程思政”意识和能力也得到了提升。
5 结语
在“课程思政”大环境下,新时代的教师不仅要传授专业知识,还有一项重要职责就是挖掘专业课程中的思政元素,将社会主义核心价值观融入课程教学和改革各环节。在专业课程中开展课程思政,重要的是方法,从教师自身具备的学科内容知识、教学法知识、技术知识入手,可以让课程内容与思政元素的结合更加自然、紧密,达到“盐溶于水”的效果。Python 与爱国主义教育、法制教育等思政主题融合的教学案例,不仅培养了学生爱国情怀,增加了法治意识,也培养了准教师甘为人梯的奉献精神,以及课程思政的意识和能力。下一步研究将结合中学思政课程内容进行Python 课程思政教学案例设计研究,开发设计一系列基于课程思政的中学Python 教学案例,旨在丰富Python 教学资源,为其他编程教师开展课程思政提供一定参考和借鉴。