Python程序设计课程中的课堂思政元素初探

2020-04-08 09:30柳青
电脑知识与技术 2020年3期
关键词:思想教育程序设计教学实践

摘要:为了更好地贯彻“其他各门课都要守好一段渠、种好责任田”的任务,作为高校开设面最广的程序设计课程的老师在进行专业知识讲授的同时进行课程思政教育是必须的。以Python程序设计课程为例,从教师加强思想政治理论学习、从小处着手融入思政元素、通過调试程序等培养学生养成严谨的科学作风、结合时事,精选案例等几个方面对课堂思政元素进行了设计和实践。

关键词:课程思政;思想教育;程序设计;教学实践

中图分类号:G642 文献标识码:A

文章编号:1009-3044(2020)03-0075-03

1 概述

党中央历来高度重视大学生思想政治教育工作。自新中国建立以来,党中央就把大学生思想政治教育作为大学实现教育培养目标的任务之一。[1]习近平总书记在全国高校思想政治工作会议上强调“要用好课堂教学这个主渠道,思想政治理论课要坚持在改进中加强,提升思想政治教育亲和力和针对性,满足学生成长发展需求和期待,其他各门课都要守好一段渠、种好责任田,使各类课程与思想政治理论课同向同行,形成协同效应。”这就说明做好高校思想政治工作不仅仅是思想政治理论课老师的责任,任何一位专业课、通识教育课老师都责无旁贷,必定要将教书育人落实到课堂。

随着智能时代的到来和新工科建设的兴起,程序设计教学面临着广阔的发展机遇,将负担起培养作为科学思维三大支柱之一的计算思维能力和主要任务,并为计算机学科与其他学科的交叉融合做必要的知识和应用能力储备。[2j如今社会已经进入大数据时代,新知识、新技术层出不穷,由于Python程序设计语言在数据获取、数据分析、数据挖掘方面的优势,近几年来Python以迅雷不及掩耳之势快速崛起,2019年10月TIOBE编程语言排行榜中Python语言稳居第三。在我校,Python程序设计课程面向全校经管类专业开放,计算机类学科的程序设计与经管类学科相互融合、互为服务。我们就是要抓住这样的大课堂,将思政元素融入课堂,把学生培养成社会主义事业的接班人。

2 课堂教学中思政元素的设计和实践

为了避免“课程思政”成为无本之木,无源之水,就必须结合课程内容和特点,进行思政元素的挖掘。[3]

2.1 教师加强思想政治理论学习,学习新思想、新论述、新方法

教师要组织课程思政的教学,只有通过多学科研究人员的交叉系统研究和相互借鉴才能达至对其本质的认识,才能在实践上进一步推进“课程思政”内涵研究的科学化、系统化,才能推动高校“立德树人”的创新发展。[4]课程思政教学,首先就要求教师本身有较高的理论水平,而且教师的理论水平要跟得上时代的发展,这就需要教师向思政专业教师学习取经,相互探讨时事热点,交换不同看法,不断地学习新理论、新思想、新方法。除了向他人学习,自身也要不断提高理论水平。我们课题组的老师大部分是中共党员,如今党员学习有个“学习强国”的平台,这个平台中有推荐、要闻、新思想、综合、人物、实践、教育、时评、经济、思考等各类栏目,我们在学习强国的平台中认真学习,仔细揣摩,从中找到紧跟时代的课程思政的结合点。比如从“新思想”栏目中我们会学习到《求是》杂志中的若干篇文章:习近平:牢记初心使命,推进自我革命、习近平:增强推进党的政治建设的自觉性和坚定性、坚定文化自信,建设社会主义文化强国等;从“人物”栏目中我们了解了燃尽一生,打开中国天眼的南仁东、最美教师,用生命影响更多生命的张丽莉、“时代楷模”陈立群、敬畏教育,以爱传承的封莉容、时代楷模杜富国……与此同时还要读原著原本,读《习近平新时代中国特色社会主义思想三十讲》《习近平关于“不忘初心、牢记使命”论述摘编》等,提高自己的理论水平。

2.2 融入思政元素从小处着手,润物细无声

在Python程序设计课程中,有列表、元组、字符串、字典等常用数据结构,在讲这些数据结构的时候,比如字符串,我们会把某些人名组成一个字符串,names=许海峰,张怡宁,邹市明,王皓,马琳,王励勤,王楠,郭跃,容国团,郭晶晶,要求这些人名同姓的放一块重新组成字符串,学生一看,都是奥运冠军的名字,怎么做呢?我们就会讲到先用字符串的split0方法形成列表,然后对列表排序后再用join0方法重新生成字符串,如图1所示,大家惊讶地发现这样确实能把同姓的人名放在一起,但是又跟我们平时的按照汉语拼音次序不同,原来这样排序只能按照Unicode编码来排,如何按照汉语拼音来排序呢?我们就作为一项课后练习布置给学生。当然这练习没那么简单,当学生碰到困难的时候,我们就会鼓励学生,学习奥运冠军不怕困难,勇于拼搏的精神,容国团的名言“人生能有几回搏”就在耳边回响……这样就能从小处着手,以奥运冠军的名字为契机,将思政元素融人细微之处,鼓励学生勇攀科学高峰。

2.3 差之亳厘,谬以千里,通过调试程序、纠错和改错培养学生养成严谨的科学作风

在程序设计的课程中,程序通常要经过调试才能得到正确的结果。在上课的过程中,经常会听到学生这样说:“这么简单的程序分分钟搞定!”,还有的声音则说:“老师,我跟你写的代码全部都一样,为啥我的结果不对?”而说分分钟搞定的学生也是错误百出。如在讲for循环中,我们有这样一个示例:

【例3-12】有一个列表sales= [5000,3000,8000。10600,6000,5000]。该列表中的元素依次表示某产品1-6月的销售额。请用for循环遍历该列表,找到第一个销售额大于等于6000的元素,并打印该元素的值。如果没有找到,则输出“未找到”。[5]

学生很容易上手写来这样一段程序,如图2所示;

程序:运行结果:

这个结果明显是错误的,为什么呢?这样写的含义是遍历sales列表,如果某元素大于等于6000则输出第一个大于等于6000的销售额是这个元素,否则输出未找到。这样就把每个元素跟6000相比的结果均输出了。我们再启发学生,如果已经找到第一个还需不需要再找下去,很明显不需要,这时通过break结束循环即可。这样写出来的程序和运行结果如图3所示。

程序:

运行结果:

这样的结果虽然不对,但是确实是找到了第一个大于等于6000的销售额后程序就结束了,那前面的两个未找到又是怎样出现的呢?原来遍历列表的时候,对于每一个元素,还是先判断是否大于等于6000,如果是则输出第一個大于等于6000的销售额是这个元素,否则输出未找到,直到找到第一个大于等于6000的销售额为止,如果没有大于等于6000的销售额,则遍历完成后程序结束。我们就提醒学生考虑一个问题,到底什么时候输出未找到呢?原来只有当遍历结束而还是没有找到大于等于6000的销售额后才能显示未找到。这样,我们应该写成for_else_结构,程序和运行结果如图4所示。

程序:

运行结果:

至此,这段程序才算完成。图3和图4中的程序字符都一样的,但是缩进不一样,结构也就不一样,图3是if...else_结构,图4是for_ else_结构。这就会出现学生经常说的为啥看起来写的代码一样而结果不一样。出现这种问题通常有两种原因,一是对程序代码的不理解,另一种是浮躁、粗心。对于第一种需要老师耐心细致的讲解,学生要开动脑筋、虚心求教、不懂就问、克服困难、勇攀高峰,而对于第二种通常出现在“分分钟搞定”的学生身上,我们就要告诫这些学生,科学来不得半点虚假,要脚踏实地,戒骄戒躁,如果自己掌握得又快又好,也要尽可能地帮助其他同学,互帮互助,共同进步。而对于学生中出现的漏输冒号、错输中文标点符号、该有的缩进没缩进等这样的情况,我们会教导学生要认真仔细,语法上的任何错误都可能导致程序产生严重的错误,要遵守语法规则,养成严谨的科学作风,而在现实生活中要遵纪守法,严格遵守各项规章制度,坚持走中国特色社会主义道路,这是实现中华民族伟大复兴的必由之路。这样就能将思政元素渗透到每一堂课中,发挥“隐形”思政的功能,既能传授知识,又能引导学生树立正确的世界观、人生观和价值观。

2.4 结合时事,精选案例,既能掌握学科知识又能提升政治素养,潜移默化中进行课程思政教育

兴趣是最好的老师,只有学生对教学内容感兴趣时,才能学得最好。[6]python程序设计课程中有一讲“正则表达式”的内容,根据教学进度的安排,这一讲正好在国庆节前后,如果单单纸上谈兵则这一讲的内容枯燥乏味,犹如鸡肋,但是如果跟爬虫结合起来则这一讲的内容就变得丰富有趣、意味深长。由于学生接触Python程序设计的时间不长,我们就选取了比较简单的百度贴吧来爬取。我们做了一系列的简单案例供学生实践,虽说是简单案例,相关的知识却并不少,我们从获取网页开始,讲到解析网页,再到存储内容。第一个简单案例:获取百度贴吧国庆节吧第一页帖子的链接地址和标题,屏幕上显示输出。部分输出结果如图5所示(由于贴吧内容实时更新,运行结果不同)。在解析网页中这个案例就涉及正则表达式,我们带领学生分析网页结构,发现我们可以先使用正则表达式

(*?)

把中间所需要的内容爬取下来,然后在这些内容的基础上再使用另一个正则表达式href=”(*?)”title=”(.*?)”提取链接和标题。学生热情澎湃、心情激动地分析网页写着代码。在分析代码的过程中,我们继续提问:有没有其他写法可以提取需要的内容?有的学生就说“可以用最靠近的div来提取:‘(*?)
”,大家热情高涨的继续实验,有的欢快的叫老师“成功了!”,有的则在仔细核对爬下来的内容是否跟网页一致,老师则冷静地提醒学生要认真思考,仔细核对,精益求精,科学来不得半点虚假。很快,仔细认真的学生就会发现置顶精华帖缺失。老师就会不断鼓励学生,发现问题就要克服困难解决问题。经过老师的启发,大家的讨论,集思广益很快就找到了问题所在:置顶精华帖的原网页代码中这句div中间多了一个“\n”,那么正则表达式改成‘即可。在学习这个案例的过程中,学生亲身实践到“条条道路通罗马,只要努力就会有收获”,还能培养学生不畏艰难、不断追求的科学精神和精益求精,实事求是的优良作风。

这只是这一系列案例的开始,爬完一页以后我们就进入第二个案例:在爬取一页的基础上爬取多页,学生又要不厌其烦地分析网页结构,培养学生踏实肯干、实干苦干、脚踏实地的优秀品质;等我们讲到文件和数据库的时候,就会进入到第三、第四个案例:爬取的内容存入文件、数据库之中。层层递进,一环扣一环。而在这一环扣一环的当中,我们会布置实践作业给学生:自愿组成小组,选取某一国庆节热播电影爬取评论。今年是“我和我的祖国”这部电影,电影年年不同。对于初学Python的学生来说,完成实践作业我们鼓励团队协作,通过团队合作找出解决问题的方法,培养学生团队意识和探索精神,提高综合素养。

3 结束语

立德树人是高校立身之本,所有课堂都有育人功能。[7]从思政课程到课程思政,教师在认识上要确立思政教育不仅仅是思政教师的事,是所有教师份内的事。[8]课程思政任重而道远,结合课程特点,课程思政还有很多内容值得探讨,有很长的路要走。只要我们坚定不移地把握课堂主旋律,课堂思政将在培养学生的各个方面发挥极其重要的作用。

参考文献:

[1]吕宁.高校“思政课程”与“课程思政”协同育人的思路探析[J].大学教育,2018(1):122-124.

[2]秦呋,史晓楠,《程序设计基础》课程教学改革实践——以Py-thon语言为教学语言[J].软件导刊-教育技术,2018,17(2):71-72.

[3]耿丽娟,“课程思政”在计算机基础课程中的探索[J].通讯世界,2019(8):347-348.

[4]万力.“课程思政”研究的三重逻辑综述[J].天津市教科院学报,2019,8(4):36-41.

[5]杨年华,柳青,郑戟明.Python程序设计教程[M].北京:清华大学出版社,2019.

[6]赵美林.兴趣导向下的Python程序设计课程教学模式研究[J].科技视界,2018(29):161-163.

[7]吴涛.发挥专业特色,实施“课程思政”[J].电脑知识与技术,2017,13(28):143-144.

[8]倪成伟,吴庆念,高职思想政治教育的回归:从“思政课程”到“课程思政”——以“经济管理基础”课程为例[J].职教通讯,2017(36):17-21.

猜你喜欢
思想教育程序设计教学实践
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
浅论高中化学生活化教学的实践与思考
浅谈初中物理实验教学与学生创新能力的培养
测量平差课程教学改革探讨与实践
小议在小学英语教学中渗透思想教育
PLC梯形图程序设计技巧及应用