“C语言程序设计”课程中思政元素的设计
2021-06-11张利华
张利华
摘 要: 阐述了“C语言程序设计”课程开展“课程思政”的必要性,对课程教学中的思政元素进行了深入的剖析与提炼,在教学实施过程中将思政教育融入到基础理论知识和实践操作等各学习环节中,以达到激发学生学习的积极性、增强其程序阅读分析与编程的实际能力、提高课堂教学质量和教书育人的目标。
关键词: 课程思政; C语言程序设计; 思政元素; 思政教育
中图分类号:TP3 文献标识码:A 文章编号:1006-8228(2021)05-103-04
The design of ideological and political elements in "C Language Programming" course
Zhang Lihua
(Guangdong Heyuan Polytechnic, Heyuan, Guangdong 517000, China)
Abstract: This paper expounds the necessity of teaching the "C Language Programming" course with ideological and political education, and analyzes and extracts the ideological and political elements in the course teaching. In the process of teaching, ideological and political education is integrated into all the learning links such as basic theoretical knowledge and practical operation, so as to achieve the goal of stimulating students' enthusiasm in learning, enhancing their practical ability of reading and analyzing program, and programming, as well as improving the quality of classroom teaching and the teaching and educating people.
Key words: course teaching with ideological and political education; C language programming; ideological and political element; ideological and political education
1 C语言课程的编程素材
C语言课程以培养学生逻辑思维、编程方式、编程技巧为主,课堂教学也应在传授知识的同时渗入蕴含在知识背后的思维方式和文化意义[1]。该课程在教学标准中将C语言程序设计各知识点与德育元素进行链接,旨在传授基本问题求解思路,建立编程意识,培养良好的思维习惯,进而做到运用程序阅读与编程手段培养敏捷思维和创造性的思维,以及读懂问题、分析问题与解决问题能力,还可以将思想品德教育贯穿其中[2]。
2 编程素材中的思政元素融入
对于C语言程序设计的课程思政设计可以从专业理论知识讲授的具体内容、教学方式和实践教学环节等多角度,深入挖掘“思想政治课程”的精髓,明确核心知识、拓展知识目标、实际操作能力目标和思政目标,将之有机结合,化零为整,并根据每个教学环节中的实际情况进行有的放矢、有针对性教学,加以总结与优化,最终形成含思政元素的“C语言程序设计”的精品课程。“C语言程序设计”课程中各提炼知识点与思政德育元素有机结合的教学设计如下。
知识点1:认识C程序(爱国情怀)
让学生观看C语言的发展过程与C语言的功能视频,告诉学生程序设计技能是人工智能、5G时代的人才不可或缺的基本技能。课堂中可以讓学生讨论生活中与程序相关的事物激发学生学习程序的兴趣,比如学校新建的自助餐食堂软件就是一个很好的生活实例。课后引导学生了解我国软件开发的现状,强调计算机软件发展、编程技术以及编程智能化对增强国力的重要性。可举例从中美贸易战中的“中国芯”等案例激发学生的爱国主义热情,使学生都具有为国争光的荣誉感和责任心,激励学生奋发学习,刻苦钻研,树立职业理想和家国使命感,为实现中国梦要更加努力学习[3]。
知识点2:程序基本结构(认真、细心和严谨)
通过编写与调试程序,让同学们切身体会到:任何一个小小的疏忽,哪怕是一个标点,用错了,整个程序都将无法运行或不能得到正确的结果。在今后的工作岗位上需养成认真、细心和严谨的作风。
知识点3:算法描述方法(良好的思维习惯)
以问题探究的方式让学生讨论“从1累加到100的问题计算方法有哪些”让学生明白高效率算法的重要性,引导学生按照计划和顺序做事,用科学合理的流程安排生活、学习和工作。
知识点4:标识符的命名规则(法律法规)
熟练掌握和运用标识符的命名规则,告诫学生在上课学习、日常生活和将来的工作岗位中一定要遵守相应的制度与规定,并用以约束和指导自己的行为,以后才能成为合格的社会公民。
知识点5:数据类型(心中有度)
演示各种数据类型范围,使学生理解做任何事情都要知深浅,心中有度。这里的“度”是做人的标准,意味着人应该遵循的规则。
知识点6:运算符(不以规矩,不能成方圆)
通过讲解运算符的运算规则,告诫学生每人都懂得不以规矩,不能成方圆。每个人都必须按科学规律做事,怀着实实在在的态度做事,探索任何事情的客观规律,循序渐进,引导学生设立周全计划,做到有井有条、有规律地生活、工作。
知识点7:数据的输入与输出(严于律己,宽以待人)
讲解输入/输出函数的严格的格式要求,以及演示在输入前先输出提示信息,在输入/出时要设计好输入/出格式,引导学生养成严于律己,宽以待人的处事原则。
知识点8:顺序结构程序设计(做事要有计划)
通过编写“海伦公式求三角形面积”程序,掌握顺序结构化程序的设计方法,感受程序设计在解决日常生活问题中的作用,逐步养成规范的程序设计习惯。由此总结出程序的编写步骤,让学生明白生活中的大小事情都有其先后顺序,在现实生活中,事物的发展通常按照一定的顺序进行。当我们能把先后顺序搞清楚,处事做人条理就非常清晰,能够达到事半功倍的效果。凡事预则立不预则废,对一个成功者而言,计划越周详越精细,则做事情越顺利。
知识点9:条件的判断(尊老爱幼)
通过浏览“旅游景点售票公告图”图片,提炼出学生半票,婴儿老人免费的优惠政策,抛砖引玉,使学生明白尊老爱幼是华夏民族的传统美德,更是一种担当,是一种社会责任。
知识点10:if语句(鱼和熊掌不可兼得)
通过“鱼和熊掌不可兼得”的历史典故,与学生探讨生活中我们遇到的两难选择时,我们应当如何取舍。引导学生明白,人生道路上是会有很多选择,做的每个决定都会产生蝴蝶效应,进而影响到大局,因此在今后的人生道路上要树立正确的人生观和价值观。特别当面临着个人利益与社会利益乃至国家利益有冲突时,要以大局为重,以社会利益、国家利益为重[4]。
知识点11:switch语句(运动健康)
通过描述“班级每天运动1小时计划表”的任务场景,督促学生在学习工作之余不要忘记锻炼身体。让学生明白:身体是学习生活工作的根本,健康才是是幸福的源泉,让学生除了学习技能知识,还要不断的提高身体素质。
知识点12:选择结构嵌套(独立思考)
通过编写与调试“模拟四则运算计算器”程序,要求学生先实现简单功能,然后以学生独立思考为主,教师不断提示程序可能的异常情况。只有让学生认真思考,才能学到知识和掌握技能。同样,在思政方面,面对瞬息万变的复杂问题,也只有自己思考方能明白其中的奥妙,懂得正确的选择。
知识点13:选择结构程序设计(一丝不苟和精益求精)
首先通过学生展示作品,感悟到在程序设计、调试中碰到的种种问题,以及作品中不完善、不严密之处。然后教师点评开发程序过程中程序界面的友好性和容错性,都要求逻辑严密和精益求精。要求学生无论何时何地,都要养成一丝不苟和精益求精的工匠精神,尽量把事情做到极致。
知识点14:while语句(失之毫厘,谬以千里)
通过演示“while(条件);语句块”和“while(条件)语句块”程序,因为一个“;”引出“失之毫厘,谬以千里”的成语,学生列举此类故事,如“苏联的联盟一号宇宙飞船失事”事件等。以此类例子使学生树立踏实、遵循标准和规范,严谨细致的工作作风[5]。
知识点15:do-while语句(乐善好施、扶贫帮困)
通過编写“慈善募捐”程序,潜移默化地向学生灌输正能量:扶贫解困是中华民族优良传统。赠人玫瑰,手有余香,做慈善,不仅帮助了穷苦大众,也展现了自我高尚的道德情操。付出必有收获,施舍的是金钱、物资,得到的是爱心、敬仰。只有这样,才能做到社会主义建设阶段,精神文明和物质文明一起抓。
知识点16:for语句(滴水穿石)
通过讲述“棋盘放麦粒”的故事,让学生明白就算是积累少量的东西,也能成为巨大的数量。现在我们还比较弱小,但是我们要每天不断的努力,一步一个脚印,不断积集力量,就会越来越强大,这样离我们的目标就会越来越近。
知识点17:循环跳转语句(知足长乐)
通过观看《渔夫和金鱼》的动画视频,让学生学习渔夫的善良,学习比目鱼的知恩图报,但不要学习渔夫妻子的贪心,不知足。生活中,做人不要太贪得无厌,要懂得知足长乐的道理,过度贪婪的结果必定是一无所有。每个人都应该不辞劳苦,凭自己的双手实实在在地创造出社会价值来获取个人的物质生活,一步步实现理想,切不可心存侥幸,妄想一步登天。
知识点18:两层循环嵌套(创新意识)
通过演示“九九乘法表”、“数字三角形”、“星号组成的简易图形”等程序,要求学生对程序进行改写,编写出类似或更复杂的图形。这样可以对学生进行创新思想的教育,从而激发创新意识。
知识点19:三层循环嵌套(科技的力量)
通过探究“我国古代数学家张丘建先生设立的用一百铜线钱购买一百只鸡”的经典算术问题,让学生体会到庞大的手工计算量无异于愚公移山。而通过三重循环结构编写程序代码,计算机成功执行立即得到结果。让学生学会使用多重循环结构解决数学穷举计算问题,让学生深刻体会程序设计的惊人力量,开阔计算思维,学生能感受到走出传统、关注科技发展的必要性,学会利用先进的手段解决问题,提高创新能力。
知识点20:数组概念(个体与集体)
通过导入问题:“假设统计整个班100位同学的一门课程的综合成绩,从中梳理出平均分、最高分、最低分”。首先让学生利用之前学过的知识进行程序设计:先定义50个变量,然后一个一个输入值。再相互比较,会发现处理起来很复杂,从而引出更简单的方法:使用数组。这样学生可以体会到个体与集体的关系,联想到班级中每个学生都是班集体的一分子,只有每个人都努力发光发热,班集体才会像个小宇宙,才会爆发出大能量。一个集体的成功,离不开许多人奉献。个人必须做到与班集体同进退,共荣辱,这样才是一个成功的班集体。
知识点21:一维数组(逆向思维)
通过提出问题“在一个有序表中插入一个数据后仍有序”。学生在原有认知和技能的基础上,以发散思维从多个角度设想多种解决问题的方案,如从前往后逐个比较与移动等。教师在充分评改学生的作业基础上,点出作业中的错误以及存在的一些缺点,然后教师将学生导入逆向思维,采用从后往前比较与移动的方法解决所遇到的问题。接着继续提出问题:“如何将两个有序表合并为一个有序表”。如此充分调动学生操作的主动性,改变学生被动学习、不爱学习的情况,拓展学生技能,使学生擅长思考。这样可以让学生学懂、学深、学透,进而培养其挖掘蕴藏在知识背后的价值取向。
知识点22:二维数组(民族自豪感)
通过对杨辉三角起源认知(杨辉是中国宋代著名的数学家,他整理杨辉三角领先于法国数学家帕斯卡近400年,著有《详解九章算法》),激发学生的爱国热情和民族自豪感,同时也让学生树立坚定的信念,向科学家学习,成长为思想政治可靠、专业技术优秀的建设人才。通过探究杨辉三角的样式,分析模型特点,确定二维数组结构,再到发现递推规律,确定推演公式,最后生成代码等一系列环节,培养学生的建模意识,启发学生的推演思维。
知识点23:字符数组(日积月累)
C语言的学习是一项枯燥且漫长的过程,需要学习者不断的努力和探索。现在的内容比之前难了很多,众多学生受不了压力,遂想放弃,这个关键时刻,教师要多鼓励,多安慰,让学生明白知识与技能就是在不断的积累当中慢慢学会的。看似日复一日,今天和昨天没有大的区别,但是时间久了就会发现自己已储备了很多知识。
知识点24:函数的使用(统筹方法)
教师通过“班级晚会活动策划”,采用类比联想的方式概括函数的主要功能,理解函数的模块化程序设计:班长相当于主函数负责对整个晚会的统筹组织,班委会中每一位成员负责一个组相当于子函数,每一个组中的成员又具体负责某一件具体事情,相当于子函数下的子函数。函数讲究的是合作,把自己不擅长的拿给别人做,增强了团结、合作意识,同伴之间互相帮助,各取所长,使得学习效率更高,进度更快。
知识点25:函数的参数传递(授之以鱼不如授之以渔)
先让学生观察一个利用传值的方式交换两个数据的程序,然后教师对程序只做部分的修改(利用传址的方式交换两个数据),却看到结果并不完全相同的现象。由此想到古训“授之以鱼不如授以渔”,同样是传授,却因为传授的内容不一样,结果也不一样。由此告诉学生,学生不仅要学习知识内容,更要掌握学习的方法,才能跟上时代进步。
知识点26:函数的嵌套与递归调用(理论与实践一致)
让学生玩汉诺塔游戏,导入递归问题,然后编写出程序,让学生先接受理论知识,再动手操作,做到理论联系实际,用理论指导实践,用实践检测理论,理论与实践紧密结合。有理论不会动手是不行的,盲目行动没有理论指导更加不行。
3 结束语
本文的探索意在让学生形成强烈的爱国情怀,从而奋发学习和刻苦钻研,培养吃苦耐劳、不畏困难的人文品德;具有创新意识、严谨求实、诚实守信、科学思维的职业道德;具有强大的抗压和良好的团结协助能力;树立职业理想和家国使命感;以及树立正确的IT行业的法制意识和勇于创新的工匠精神;成为一个有社会责任感、有创新能力、会学习有修养、有知识文化、有实践能力、身心健康,对社会有用的人。本文的探讨还需要进一步的精进以及用实践来检验。
参考文献(References):
[1] 杨开源.新高考背景下的高中政治有效课堂教学[J].考试周刊,2019.23:168
[2] 张燕红,郭天杰,赵秀丽等.军队院校计算机基础教育“向实战聚焦、向部队靠拢”的改革探讨[J].电脑知识与技术,2014.10(17):4099
[3] 周雅静.高职计算机类课程思政教育的探索——以《C语言程序设计》为例[J].教育现代化,2019.6(42):200
[4] 賀向东.中国成人教育管理运作全书[M].中国物资出版社,1998.
[5] 张宁,窦艳芳,肖雪,杜云明,徐斌山.数字信号处理课程引入课程思政的方法探索与实践——以佳木斯大学为例[J].佳木斯大学社会科学学报,2020.4.