APP下载

C语言课程思政教学研究*

2023-12-19余娟

中国教育技术装备 2023年19期
关键词:编程程序思政

余娟

陕西师范大学物理学与信息技术学院 西安 710119

0 引言

一直以来,学生的思想政治教育与专业教育是相分离的,然而教书育人对教师来讲从来都是一个不可分割的整体。实际上,根据各专业课程特点的不同开展思政教育可以起到润物无声、全面育人的效果。当然,如何将思政元素巧妙融入专业课的讲授中,做到既教书又育人,这是对新时代专业课教师的新挑战。2020年5月,教育部印发《高等学校课程思政建设指导纲要》[1],指出理学、工学类专业课程要在课程教学中把马克思主义立场观点方法的教育与科学精神的培养结合起来,提高学生正确认识问题、分析问题和解决问题的能力。工学类专业课程,要注重强化学生工程伦理教育,培养学生精益求精的大国工匠精神,激发学生科技报国的家国情怀和使命担当。大学阶段是学生世界观、人生观、价值观形成的关键时期。C 语言是一门工程应用性强,兼具理论与实际操作的课程,且课程对象为大一新生,部分学生由于已实现高考这个明确目标,尚未树立新的奋斗目标,会陷入迷茫。C语言的工程应用特性和课程开设时间使得C语言课程思政显得更有必要。本文将深入挖掘C 语言课程的育人元素并将其融入教学。

1 C语言课程思政分析

1.1 课程特点

C 语言功能强大、应用广泛,因此,“C 语言程序设计”是很多院校理工科专业的必修课。课程内容包括算法、顺序程序设计、选择结构程序设计、循环结构程序设计、数组、函数、指针等。通过该课程的学习,学生需要掌握C 语言的语法和基本算法,学会编程及调试程序,锻炼逻辑思维能力;课程工程应用性强,兼具理论与实际操作,因此课程内容较为抽象且需要大量实际操作训练,从而导致部分学生,尤其是初次接触计算机语言的学生认为这门课程难学。

1.2 课程思政的难点

思政教育本质上是哲学思想的教育,而哲学是具体科学的高度概括和总结。所以良好的课程思政应该是专业课程内容与思政教育观点具有一定的逻辑共性,能够相辅相成。课程内容能顺利地引出思政教育内容,思政教育内容反过来又能辅助甚至加深学生对课程内容的理解和记忆。

由于C 语言课程的特点,加上很多学生是初次接触计算机语言,对程序设计较为陌生,因此讲授课程时既要具有一定的趣味性,以调动学生的学习兴趣,又要适时恰当地融入思政教育,以达到立德树人、培养科学精神的目的。因此专业课教师,要想寻找到合适的思政融入点将课程的知识与逻辑和思政教育元素巧妙结合,使之浑然一体,就需要对课程知识点重新梳理,对整个课程的教学有详细周全的规划。

此外,思政元素的融入是为了更好地体现“育人”的目标,教育对象为学生,思政元素融入的方式应该以学生感兴趣,达到育人的目的为原则,因此不能生搬硬套,以免引起学生反感,这一点对教师也是一个挑战。

2 C语言课程思政的教学目标

“C 语言”课程教学的主要目标具体包括知识目标和德育目标。

2.1 知识目标

理解C 语言高效、简洁的特性和结构化程序设计的特点,熟悉C 语言的基本语法,掌握程序设计与调试的基本原理与方法,培养学生发现问题、分析问题和解决问题的能力[2]。

2.2 德育目标

C 语言程序设计课程兼具理论学习与实际操作,因此,思政教育重点培育学生求真务实、实践创新、精益求精的精神,培养学生踏实严谨、追求卓越的优秀品质,使学生成长为心系社会并有时代担当的人才。将价值导向与知识传授相融合,弘扬社会主义核心价值观,传播爱党、爱国、积极向上的正能量,培养学生的科学精神。具体如下:

1)培养学生的爱国主义情怀,激发其为民族复兴尽自己一份力量的共鸣。

2)使学生具有建立短期和长远规划的意识,认识到在事物发展过程中规划和目标的重要性,让其形成正确的人生观和价值观,树立奋斗目标。

3)培养学生团队分工合作与沟通的能力、纪律观念和责任心,使其认识到团队合作的强大力量,增强集体荣誉感、团队责任感。

4)培养学生精益求精的大国工匠精神,使其认识到细节的决定作用,增强精益求精的工作态度。

5)结合唯物主义辩证法,培养学生全面、系统和辩证地分析和解决问题的能力,强化其创新意识。

3 思政融入

在实现知识教育的同时还要实现德育教育,因此需要重构教学过程,仔细分析课程内容,基于课程内容与思政观点要有一定逻辑共性的原则,设计符合教学大纲要求的课程思政教学内容并融入专业知识点中,使其相互作用相辅相成本。文提出的思政融入点及实现方式如图1所示,通过课堂、作业、小组作业、上机实践等方式实施,并充分利用BB平台、QQ、问卷星等网络资源教学。

3.1 流程图——使学生目标清晰

算法是程序的灵魂,而流程图可以清晰地描述出算法的思路和形成过程。在教学流程图的过程中,引导学生使用流程图描述自己的短期规划与长期规划,避免由紧张的高中进入大学后失去目标,虚度时光。在学生感受生活中规划的重要性的同时,使其理解流程图在程序设计过程中的重要性,使他们在设计程序的过程中有意识地正确使用流程图。

3.2 选择结构——树立正确三观

顺序结构、选择结构、循环结构是C 语言程序设计中的三种基本结构,由这三种基本结构组成的算法结构可以解决很多复杂问题。选择结构中,通过表达式的真假判断,决定执行哪些语句。因此判断条件的正确设置至关重要,它决定了程序的走向。在教授这部分内容时可从以下几点进行思政融入:1)引导学生认识到人的一生也将面临无数次的选择,指引学生树立正确的世界观、人生观、价值观,践行社会主义核心价值观——这是人生的“选择表达式”,使学生在人生道路上做出正确的选择;2)结合党史和近代历史讨论为什么历史和人民选择中国共产党领导中华民族伟大复兴事业。3)结合新冠疫情下各国对待疫情的方式的不同,说明国家制度的不同导致选择的不同,也导致了新冠疫情的不同发展方向。中国特色社会主义制度决定了国家选择动态清零的防疫政策,因为国家把普通老百姓的利益放在第一位。通过这些现实生活中的例子加深学生对选择结构中表达式设置重要性的理解。

3.3 循环结构——坚持不懈

循环结构中,循环体被反复执行,循环变量不断变化,最终达到循环的终止条件,结束循环,从而进入下一步。但如果程序编写错误,使得循环变量没有随着循环的进行而变化,将会使程序陷入死循环,无法进入下一步。由此引出,我们在学习和工作中只要向正确的方向一步一个脚印前行,坚持不懈,每天一点进步,通过不断的积累最终就会实现自己的梦想,如果日复一日地荒废时间,那么时间流逝却不会有任何收获。通过循环结构的学习让学生明白坚持不懈的重要性。

3.4 函数——设计小组任务,培养团队合作能力

函数是C 程序的主要组成部分,一个程序常由多个函数共同构成,由此引出团队合作的重要性。在教学过程中将学生分成小组,成员共同完成小组任务,并以小组为单位进行考核。小组需要完成编程、录制讲解视频、撰写文档等任务,小组成员根据各自特长完成相应任务,成员之间需要相互配合。告诉学生每位成员就相当于一个函数,完成一定的功能,需要共同配合完成小组任务。

在这个过程中,学生既可以理解函数的作用,也可以培养团队合作能力,意识到个人与集体的作用。

3.5 算法与编程

同一问题可以采用不同的算法,不同算法的时间复杂度和空间复杂度存在差别。而一个算法的时间复杂度和空间复杂度往往是相互矛盾的,在矛盾中寻找平衡就是确立合适算法的过程。解决问题时需要将算法用C 语言编写程序实现。算法与编程的学习贯穿于整个课程的学习过程。因此在上机编程时进行以下思政融入。

3.5.1 强调精益求精的大国工匠精神与创新精神

在最开始编程时,要求学生不能仅满足于得出正确结果,还要养成良好的编程风格,如一行只写一个语句,需要缩进的应缩进,程序应适当加注释,运行后的界面要美观友好。随着程序不断变得复杂,同一问题可以通过多种算法进行解决,但不同的算法效率不同,向学生强调在之前要求的基础上,尽量对算法进行优化,鼓励学生把辩证法应用到编程过程当中,从多角度观察分析事物追求更完美的解决方案,而不是仅满足于完成任务。培养学生分析、解决问题的能力和精益求精、勇于创新的精神。对于作业的考核也加入这方面的考量。

3.5.2 设计合适的编程题目,培养民族自豪感

平时编程题目除了课本的题目外,教师可以自己设计,将思政教育与编程融为一体。比如2022年我国成功举办了冬季奥运会,可以以此设计题目“奥运知识查询”,可以设置多个关于奥运会的知识点,输入问题编号,程序则给出问题答案。该程序可以通过switch 或者if 语句实现,通过对该题目进行编程,一方面学生可以熟悉选择结构语句的用法,一方面可以了解中国的奥运历史,感受到国家的强盛带给奥运的变化,激发学生的爱国情怀、民族自豪感及文化自信。

也可以把党史与编程相结合,学生先学习党史,然后设计党史查询程序,通过这个过程使学生感受一代代共产党人奋斗拼搏的精神[3]。明晰党在百年奋斗历程中对初心和使命的遵守践行,继而能够知史爱党、知史爱国,增强投身于实现中华民族伟大复兴的中国梦的勇气和力量。同时也能在批判错误社会思潮中帮助青年学生树立正确历史观[4]。

3.5.3 培养踏实认真严谨的科学态度

在编写程序时,很多学生会因为细小的错误导致程序无法正确运行,比如在if 后多加分号,或者scanf(“%d”,&a)误写为scanf(“%d,&a”)等,这类错误仅因为一个符号而导致整个程序错误,由此告诉学生在学习工作中不要忽视细节及基本规则,要踏踏实实、认认真真做学问,这样才能取得成功。

一个C 程序运行后,如果结果错误,程序一定错误;如果结果正确,程序不一定正确。因为程序有可能巧合,或者考虑不全面,只在某些情况下正确而在某些情况下错误,因此从编程开始就强调测试程序时应考虑全面,确保程序正确,而不能只测试一种情况就得出正确的结论,以让学生养成严谨的科学态度。

3.5.4 培养科学的思维方法

编写程序是非常灵活的,程序没有标准答案。在教学时引导学生善于思考,学会对任务进行分析,引导学生前后连贯,综合比较,归纳分析,设计算法,这个过程可以很好地培养学生的科学思维,使学生掌握在信息时代处理问题的科学方法。

3.6 关爱鼓励每一个学生

平时在各教学环节关注每一位学生。由于学生为大一新生,一些学生由于性格内向或者对课程学习存在一定困难,主动参与性低,长此以往会形成恶性循环,丧失对学习的兴趣而且不够自信,不利于学生今后的发展,因此对这类学生要特别关爱。平时学习一定的内容后通过问卷星进行小测试,将错误率较高的题目分配给这些学生进行讲解,通过小组成员帮助后,他们可录制讲解视频发给教师,若有问题,教师进行指导后重新录制,并将视频在班级播放。这样一方面可以通过题目讲解使学生深入理解知识点,另一方面可以使这些学生更加自信,起到既教书又育人的目的。

课程思政教育的核心是课程的设计,而落实就在于教学过程中课堂润物细无声的浸润,使学生从各方面获得收获与成长。本文提出的C语言课程思政教学已在2021 级物理学专业实践,课堂效果良好,学生乐于接受,学生的上机编程作业质量也比以往有所提升。

4 结束语

“三全育人”是新时代高校落实立德树人根本任务的关键举措,思政教育是高校教育的重要任务,要把思想价值引领贯穿教育教学全过程。笔者讲授C 语言课程多年,深入挖掘课程的思政点,找到课程专业知识与思政点的逻辑共性,将课程知识与思政教育相融合,形成了较为成熟的C语言课程思政教育体系,并通过多种形式实施,使学生学习充满兴趣的同时,力求将价值引领融入专业知识的传授中,发挥专业课程的思想政治教育功能,以培养更多符合新时代要求的高素质人才。在今后,将与时俱进进一步挖掘新的思政元素并融入课程教育。

猜你喜欢

编程程序思政
思政课只不过是一门“副课”?
关于国企党建与思政宣传有效结合的探讨
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
思政课“需求侧”
试论我国未决羁押程序的立法完善
思政课“进化”——西安交大:思政课是门艺术
“程序猿”的生活什么样