Python程序设计的思政教学探讨
2022-05-30曾晓云
曾晓云
摘要:该文根据《高等学校课程思政建设指导纲要》的精神,结合广西财经学院的计算机专业特色和人才培养要求,分析了Python程序设计教学过程中开展思政教育所面临的困难。并通过对Python程序设计思政教学案例的设计,探讨了如何培养学生遵守编程规范、形成优雅的编程风格,同时在潜移默化中形成遵纪守法、遵循道德规范、勇于探索创新的良好思想品质。
关键词:课程思政;Python程序设计;计算机教育
中图分类号:G641;TP312 文献标识码:A
文章编号:1009-3044(2022)32-0177-04
1 概述
2016年12月,习近平总书记在全国高校思想政治工作会议上强调,要坚持把立德树人作为中心环节,把思想政治工作贯穿教育教学全过程,实现全程育人、全方位育人,努力开创我国高等教育事业发展新局面;要用好课堂教学这个主渠道,思想政治理论课要坚持在改进中加强,提升思想政治教育亲和力和针对性,满足学生成长发展需求和期待,其他各门课都要守好一段渠、种好责任田,使各类课程与思想政治理论课同向同行,形成协同效应 [1]。2020年5月28日,教育部印发实施的《高等学校课程思政建设指导纲要》指出,落实立德树人根本任务,必须将价值塑造、知识传授和能力培养三者融为一体、不可割裂[2]。
为了深入贯彻这一当前高校教育教学改革的新精神,根据计算机专业的特色和优势,研究计算机专业的育人目标,深度挖掘提炼计算机科学中所蕴含的思想价值和精神内涵,对Python程序设计的课程思政教学进行了探讨。Python程序设计是面向大学工科学生开设的一门计算机专业基础课,从教学实际出发,进行课程思政设计,在教学过程中,结合案例分析,将专业知识的培养与对习近平新时代中国特色社会主义思想的学习有机结合起来,从课程所涉及的思想、文化、歷史等角度,增加Python程序设计的思想政治理论教学内容,提升思想性、时代性和开放性。
2 Python程序设计融入思政教学存在的困难
2.1 部分教师对于理工科课程思政教育的理解存在误区
在理工科专业课授课过程中融入思政元素,不仅有助于解决学生为什么要学习该课程的困惑,而且有利于培养学生正确的价值观,塑造家国情怀。但经调研发现,部分教师对课程思政的理解存在误区。有人认为“课程思政”就是“思政课程”,就是当前高校开设的毛泽东思想与中国特色社会主义理论体系概论、思想道德修养与法律基础、形势与政策等课程。由于将专业课程与思政教育彻底割裂开来,教师不知道怎样将“思政”融入计算机教学中,使得计算机教学过程中缺少思政元素。
2.2 思想上不够重视
部分高校教师在理工科专业课程教学中,对课程的育人功能重视不够,教师往往会在教学方式上下功夫,关注如何把语法、算法、技术等知识点讲清楚,关注学生是否掌握了专业知识,却较少涉及这些知识点在日常生活中的应用,与思政融合的教学案例较少,难以满足当前高校“立德树人,培养人才”的根本要求。
3 Python程序设计融入思政教学的办法
3.1 以思政教学思想引领课程教学
1)转变思想,提高认识
课程思政不是一门特定课程,而是一种教育教学理念,是指大学所有课程都具有传授知识、开展思想政治教育的双重功能。思政教育具有培养大学生正确的世界观、人生观、价值观的作用,通俗来说,就是培养学生诚实守信、遵纪守法、尊老爱幼、友善敬业、公正文明、平等自由等政治素质。因此,从广义上讲,思政教育不仅仅是政治老师和德育老师的责任,也是每一位专业课老师的职责。在实际教学过程中,思政教育的内涵与外延十分丰富,赵波、佘玉梅等[3]提出从认识论和方法论2个维度构造课程思政模型,教学过程贯穿科学无神论、家国情怀、做人做事、民族团结四条主线。
2)紧扣办学宗旨,设计好思政教学案例
计算机专业课程思政建设的方向和重点是:结合学校的办学定位、专业特色和人才培养要求,通过专业知识和思政案例相结合,探索思政教学引领下的专业课程教学模式。例如,于莉莉等[4]提出“在程序设计案例中蕴含中国传统文化元素,提高学生文化自信、民族自信”;嵩天、礼欣、黄天羽等[5]将“理解和运用计算生态,培养集成创新思维”作为Python 语言课程的教学理念,从计算技术发展的角度阐述Python的价值,培养学生的创新思维。
计算机专业教学要将“立德树人”作为根本任务,通过思政教学与专业教学的有机结合,为社会培养高素质的创新应用型信息化人才。
3.2 思政元素的挖掘与切入
1)结合课程特点,找好思政教育切入点
结合教学目标,对于Python程序设计这门课程,思政教学的思路是在教会学生专业知识的同时,围绕“诚信、创新、应用型”的目标进行探索和设计。
Python程序设计的思政案例不必拘泥于形式、长篇大论,也不必每节课都思政、处处思政,而是考虑在每章选择一两个典型案例来进行切入讲解,既可以巩固专业知识,又能加深学生对思政内容的印象。
由于该课程主要面向计算机专业的学生,他们已经有数学和编程方面的基础,所以在讲授基础知识和相关案例时可以相对简单一些,不必占用太长时间。本课程的授课重点应该是向学生展示和介绍Python语言的特色,即组合数据类型和Python强大的第三方库。所以思政教学案例的设计应尽量围绕Python的第三方库等特色来进行设计,在深入讲解Python特色应用的同时,巧妙地融入思政教学内容。例如,进行简单绘图的turtle库,进行数据科学运算的math库,中文分词的jieba库,展示词云的wordcloud库、处理数组多维运算的Numpy库、用于数据绘图功能的matplotlib库,获取网页内容的requests库、对网页内容进行处理的beautifulsoup4库等,都可以作为思政教学的切入点。
2)结合实际设计教学案例,使案例具有启发性、实用性
思政案例教学,是教学方法的改革,是对专业知识和思政内容的综合应用。关键在于教师要围绕课程教学目标精心设计教学案例,在体现专业特色的同时将思政教育融入课程教学。这不仅需要教师专业知识过硬,还要求教师有扎实的理论功底、丰富的实践经验和灵活的思维方式,能联系当前社会热点和学生关注的话题,巧妙地结合生活中的例子来设计案例。在解决问题的同时,使教学内容与现实生活、思政教育有机结合,让学生体会到学习的知识能立刻应用到现实生活中,激发学习兴趣,接受潜移默化的思政教育。例如,货币兑换、PM2.5、敏感词的屏蔽、关键词的统计、使用爬虫获取网络信息等;在涉及人工智能、游戏、科学计算等领域,案例可与人文、历史、法律、思想等思政内容紧密结合。
Python程序设计的思政教学内容应遵循由浅入深的原则,通过“基础知识→能力进阶→综合应用”三个层次来进行设计,以达到循序渐进的效果。如“百钱买百鸡”“判断素数”等例子,可以先让学生实现这些例子的基本功能,然后提出基本功能的不足,引导学生进一步探索、修改,一步一步使程序更完善,在激发学习兴趣的同时,启发学生树立“精益求精”、提高程序运行效率的观念,能使计算机课程思政逐步走入学生的内心,通过寓道于教、寓德于教、寓教于乐的途径让学生在潜移默化中接受教育,增强思想政治教育的实效性、实用性。目前,随着思政教学工作的开展,部分高校也开展了课程思政案例教学实践[6-7],进行了思政案例库的建设[8],这些都有利于计算机专业课程进行学习和借鉴。
4 思政教学案例举例
4.1 基础知识阶段
对于Python的基础语法,应着重于培养学生认真严谨的治学态度、严格的编程规范、坚持不懈的求学精神,提醒学生守规矩、理解并践行行业规范,激发学生的爱国主义精神等。
案例1:毛主席的“好好学习,天天向上”一直激励着我们奋发图强,通过以下案例来让学生学习math库和幂乘函数,体会“天天向上”的力量见图1。
运行后的结果为图2:
该案例将“天天向上”数据化,通过结果的比对,直观地向学生展示了坚持的力量。不仅使学生学到了知识,更能激励学生坚持不懈地学习和工作。
案例2:以《算经》中的经典问题“百钱买百鸡”作为案例来启发学生分析问题,发现问题,进而优化程序。
1)在讲解该案例前,先引导学生了解《算经》的历史,并向学生介绍“百钱买百鸡”首创不定方程的研究,激发学生的爱国热情,增强文化自信和民族自豪感。
2)然后向学生解释题目:“鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?”,提高学生的古文阅读和理解能力。并启发学生用嵌套的for循环来实现。代码如下:
输出的结果为图4。
3)启发学生分析代码。通过分析,可以计算出该程序中循环最内层if语句的判断次数为1030301次。与学生讨论,判断次数如此多的原因是什么?
4)提出問题:如何减少循环次数,优化代码?
启发学生理解两个问题:三种鸡的数量一共是100只,小鸡的数量可以用100减去公鸡和母鸡的数量,这样可以省去“for chick in range(101)”的语句,chick可以由100-cock-hen来代替,这样,启发学生将代码修改为图5:
同样,启发学生分析、计算出该程序中循环最内层if语句的判断次数为10201次。
5)再次提出问题:一只公鸡5钱,100钱最多只能买20只公鸡,所以公鸡的数量在0~20只即可;同理可知母鸡的数量在0~33只。上面代码的循环中,cock及hen均设置为0~100,存在很大的浪费。
6)请学生根据分析写出更简练的代码:
优化后,计算出该程序中循环最内层if语句的判断次数为714次。
通过该案例,使学生在掌握知识的同时,明白解决问题的方法有很多种,需要以创新精神找出省时省力的方法,并告诉学生:伟大的事业、杰出的成就不是一蹴而就的,需要从点滴工作开始,不断改进,最终实现精益求精。
4.2 能力进阶阶段
在能力进阶阶段,重点是深入学习函数和Python的组合数据类型,让学生掌握复杂程序的设计和实现的方法,进而培养学生灵活的逻辑思维,提高学生正确认识问题、分析问题和解决问题的能力。
案例3:结合《三国演义》人物出现次数统计来学习组合数据类型中的列表、字典,并学习中文分词函数库jieba,补充介绍wordcloud 库,将结果利用词云的形式展示出来。
1)课前阶段教师与学生简要回顾四大名著在中国古代文学史的重要地位和研究价值,增强文化自信;
2)授课阶段教师以统计《三国演义》词频分析为例,逐步讲解第三方库jieba进行分词统计,并将出场次数前二十名的人物输出;
3)教师讲解Python的另一个第三方库wordcloud,将出场次数前二十名的人物以词云的方式展现出来。
由于统计《三国演义》人物出场次数的代码已经在课本中给出,这里只给出出场次数前二十名的人物的词云图代码,如图7。
得到的词云图如图8:
通过统计《三国演义》人物出场次数的案例,让学生在学习中文分词函数库及编写程序的同时,欣赏中国古代文学的精华,感受中国古典文学的魅力,传承和弘扬我国传统文化,既巩固了专业知识,提高了文学素养,又增强了文化自信。
课后可以布置学生分析十九大报告等重要文件,对其进行词频分析,并通过词云图将高频词展示出来,能帮助学生更直观地了解党和政府工作的重点,理解文件精神。
4.3 综合应用阶段
综合应用阶段的任务是向学生展示Python强大的第三方库,让学生进一步体会到Python的特色,并结合现实例子向学生介绍数据的获取、分析、使用等内容,使学生体会到科技的进步,并树立法治观念,加强法律意识。
通过向学生介绍处理数组多维运算的Numpy库、用于数据绘图的matplotlib库等,可促进学生将感性理解和理性求证结合起来,对数据有更深刻的认识。通过向学生介绍获取网页内容的requests库、处理网页内容的beautifulsoup4库,使学生掌握使用网络爬虫获取数据的途径。
案例4:在讲解网络爬虫案例时,应向学生强调Robots协议,提醒学生遵守国际互联网的通用道德规范。并注意以下问题:采集的信息中是否包含个人隐私或商业机密;对方是否同意或授权采集这些信息;对方是否同意或授权转载,不可自作主张转载到自己的平台;采集后的信息如何使用,公开展示时是否需要脱敏处理,是否用于盈利;是否会对对方服务器造成伤害,例如拖垮宕机、影响正常业务。
可同时列举一些计算机犯罪的案例来说明与信息采集相关的法律法规,如“侵犯著作权罪”“侵犯公民个人信息罪”等,引导学生树立法治、知识产权、保护创新等观念,增强学生的法律意识和行业规范。
5 结束语
在实际教学活动中,通过巧妙设计Python程序设计的思政教学案例,能够实现专业教学与思政教育有机结合,增加了课程的趣味性和实用性,不仅能激发学生的学习动力,还能在潜移默化中影响学生,培养学生树立社会主义核心价值观,激发学生科技报国的家国情怀和使命担当。
参考文献:
[1] 习近平总书记在全国高校思想政治工作会议上的讲话[EB/OL].(2016-12-08)[2021-03-20].https://news.12371.cn/2016/12/08/ARTI1481194922295483.shtml.
[2] 教育部.教育部關于印发《高等学校课程思政建设指导纲要》的通知[EB/OL]. (2020-06-06)[2021-03-20].http://www.gov.cn/zhengce/zhengceku/2020-06/06/content_5517606.htm.
[3] 赵波,佘玉梅,杨曼,等.《高级语言程序设计》课程思政教学设计[J].云南民族大学学报(自然科学版),2022,31(3):344-348.
[4] 于莉莉,赵佳彬,李美珊,等.“C语言程序设计”课程思政资源挖掘及教学路径探索[J].佳木斯大学社会科学学报,2020,38(6):224-225,228.
[5] 嵩天,礼欣,黄天羽.Python 语言程序设计基础[M].2版.北京:高等教育出版社,2017.
[6] 邢旭峰,黄妙芬,彭小红,等.案例教学在C语言程序设计课程中的应用[J].长春师范大学学报,2020,39(2):155-159.
[7] 刘毅.Java高级编程课程思政案例教学初探[J].计算机时代,2020(12):85-87,90.
[8] 张洪博,许落汀.人工智能技术应用案例库的建设和实施[J].福建电脑,2019,35(11):101-103.
【通联编辑:谢媛媛】