职业院校《C语言程序设计》课程思政教学实践探究

2023-04-27 17:35晏素芹
电脑知识与技术 2023年8期
关键词:C语言程序设计C语言课程思政

晏素芹

关键词:C语言;课程思政;教学设计

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

文章编号:1009-3044(2023)08-0167-03

课程思政是以课程为载体,以课堂实施为基本途径的育人实践活动,是对立德树人这一教育根本任务的有效落实。具体来说就是充分挖掘和运用课程所蕴含的思想政治教育元素和所承载的思想政治教育功能,并将其融入课堂教学的各环节,实现思想政治教育与知识体系教育的有机统一[1]。

1 思政元素融入C 语言程序设计课程教学的必要性

大部分职业院校的学生主动学习意识淡薄,逻辑思维欠缺,社会责任感缺乏,少数学生还有不同程度的心理问题。在人工智能和大数据发展的新时代,C 语言程序设计日渐成为职业院校理工科专业的一门公共基础课程,重在培养学生的计算思维、核心素养和利用程序设计解决一般问题的能力。本课程的思想和方法对他们的人生将会产生深远的影响。为把学生培养成全面发展的高素质技能型人才,在教学中充分挖掘课程中的思政元素,并将思政元素恰如其分地融入各教学环节,增强学生的“四个自信”,提升学生的“四个意识”,重塑精益求精的大国工匠精神是极其必要的。

2 课程思政建设的现状

2.1 学校对课程思政建设重视程度不够

职业院校的定位是培养高技能人才,因此学校对课程思政的体系构建不够重视。学校对课程思政建设认识不足,没有从构建“三全育人”格局的高度对课程思政进行理解,停留在“有布置无支持无跟踪”层面,课程思政仅仅是流于形式。

2.2 教师的课程思政能力有待提升

教师是课程思政实施的中坚力量,是课堂教学的主导者。教师实施课程思政的能力将直接决定能否把立德树人的根本任务落到实处。没有接受过系统培训的教师无法深刻理解课程思政的内涵,有些教师通过自发学习,虽然知道课程思政的内涵,具备主动的课程思政意识,但自身的课程思政能力不足,对于课程思政的实施感到心有余而力不足,最终造成思政教育和课程教学“两张皮”的现象。

2.3 融入“思政元素”的教材欠缺

教材是教学活动的重要载体,是师生教与学的主要依据。现阶段有效融入思政元素的教材很是欠缺,学生无法从阅读教材的過程中习得思政教育。

2.4 实验教学环节思政元素融入不够

C语言程序设计是一门理论和实践性都很强的课程。由于学时的限制,教师往往按教材的章节编排讲解知识点,思政元素的融入点基本都集中在概念和语法规则上,上机作业多是对知识点的验证性实验,设计性实验和综合类实验较为欠缺,这将直接影响学生良好的程序设计能力的形成,课程教学目标无法有效达成[2]。

3 课程思政应用于教学的实施策略

3.1 加大制度支持,保障课程思政的有效实施

“课程思政”规章制度是教师在教学中实施课程思政的有力保障,学校应当制定有效的“课程思政”规章制度,使教师的“课程思政”实施有章可循。

3.1.1 建立教学团队,将思政元素融入课程标准

“课程标准”是规范课程教学基本要求的重要依据,也是课程实施、评价和管理、确保教学质量的重要保障。学校应组建由C语言程序设计课程教师、专业课教师和思政课教师共同组成的“课程思政”教学团队,结合人才培养方案,深入分析课程的内容体系和模块划分,合理地确定融入思政元素的课程总体目标、单元目标和具体的章节目标,制定科学合理的有效融入思政元素的课程标准。

3.1.2 给予教师支持,将“课程思政”教学效果纳入教师考核机制

教师是课程思政建设的核心力量,学校应该为教师的课程思政实施提供必要的保障。学校还要加强“课程思政”的宣传、培训和交流,对教师实施课程思政的情况进行有效跟踪,加大对有显著教学效果的教师的宣传、表彰和奖励力度,以提升教师参与课程思政的主动性。

3.2 教师潜心学习,提升“课程思政”能力

俗话说,“育人先育己”。首先,“课程思政”立足于课程,教师应提升自己的专业素养,深入掌握课程的知识体系,把握知识点间的内在联系,精心设计各教学环节,重视学生程序设计思想和工程伦理的培养。其次,教师还应提升自己的政治素养,关注社会热点、国内外形势,积极学习党的重大方针政策和政治理论知识,思考如何引导学生自主学习马克思主义理论,并将“思政元素”有效融入教学实践。再次,教师还要学习中国传统文化,潜移默化地影响学生。

3.3 将“思政元素”融入教学内容

“课程思政”教学团队成员应当积极思考并研究“如何将课程内容和‘思政元素’无缝衔接”这一问题,将典型的“课程思政”案例集结成册,形成有“思政元素”的校本教材。

3.3.1 C 语言概述

(1) 为什么学编程:首先,从个人层面讲,我们早已进入“信息时代”,而计算机是信息处理的核心。“商业、农业、工业、教育等都被计算机技术推动着进步。如果能知道计算机是怎么做到这一切的,也就是知道这里蕴含的计算思维是什么,那么可能给个人所在行业的发展带来帮助。否则,就只能浮于表面地应用现成软件而已。”[3]而学习编程就是习得“计算思维”的最佳途径。其次,计算机软件(编程技术)的发展对综合国力的提升起着举足轻重的作用。以中美贸易战的“中国芯”为例,让学生明白,只有自己强大了,才能不受制于人,激发学生的学习动力和爱国热情。

(2) 为什么学C语言:首先,程序设计语言是人机对话的工具,作为一门结构化的面向过程的程序设计语言的C语言应用范围较广,在2022年3月的全球计算机编程语言排行榜中位居第二。其次,C语言是其他网络编程语言和面向对象语言的基础,他们的程序设计思想都是相通的,学了C语言再学其他语言就比较容易。最后,《C语言程序设计》也是机电、汽车等专业的专业基础课,为《汽车单片机》《51单片机》等课程的学习奠定基础。

(3) 如何学C语言:理论与实践同行,多上机调试程序。

在教学内容中融入如下“思政元素”:①在“C语言的发展史”中以“C语言之父”——丹尼斯.里奇的故事和华为公司如何在美国的压制下,一步步自强自立最终研发出“鸿蒙”操作系统的事实,激发学生刻苦钻研、不断创新的学习品质和爱国情怀。②在“C语言的程序结构”中,要求学生一定要按规定编写程序,以保证所编程序的正确运行和程序的易读性。“不以规矩,不能成方圆”,引导学生恪守各种法律法规和规章制度。让学生编写并调试一个简单程序,使学生体会到稍有疏忽,程序将无法运行或得不到预期的结果,借此培养学生严谨细致的工作态度。

3.3.2 算法——程序的灵魂

“凡事预则立,不预则废”。通过算法概念的讲解,让学生明白做事之前进行规划,并要在多种可选算法中选择高效算法,引导学生按计划做事,科学安排自己的学习和生活,进行合理的职业规划。

3.3.3 程序设计基础知识

(1) C语言的数据类型:通过分析“阿丽亚娜5型火箭事故”的原因,引导学生在定义变量时要选择合适的数据类型,以免发生由于数值的溢出而导致的错误。进而引导学生在做任何事情时都要心中有度,逐步形成科学严谨的态度和一丝不苟的精神。

(2) 数据的输入与输出:通过演示用输入/输出函数实现的漂亮图形,讲解输入/输出函数的格式要求,引导学生遵守规则、充分发挥想象力,创造美好的生活。

(3) 运算符与表达式:通过案例“稀缺的淡水资源”计算“世界人均可饮用的水资源”引入运算符的讲解,在讲解运算符的优先级时,教育学生做事情要分清轻重缓急,合理规划自己的生活。通过编程算出“世界人均可饮用的水资源”,让学生明白世界淡水资源短缺,要从自己做起,从身边的小事做起,尽力保护我们生活的地球,保护淡水资源[4]。

3.3.4 选择结构

通过观察“徐州动物园门票价格”图片,抽象出儿童、老人、军人和残疾人免费,学生半价的优惠政策,引导学生传承中华民族的尊老爱幼、拥军助残的传统美德。

(1) if语句:通过if语句的执行流程的讲解,让学生明白“鱼和熊掌不可兼得”的道理,引导学生在面临人生中的重要选择时一定要慎重,选择适合自己的最重要,并且要对自己的选择负责。通过编写含有if语句的程序,解决“个人所得税的计算”问题,让学生明白依法诚信纳税是每个公民应尽的义务,是维护国家和人民利益的保证。

(2) switch语句:通过案例“节能减排,阶梯电价”引入switch语句,并用switch语句解决电费的计算问题,引导学生绿色生活,为节能减排做出贡献。

(3) 选择结构的嵌套:通过对不同学生自主编写和调试的“模拟四则运算计算器”程序的讲评,让学生明白只有善于分析和思考,考虑问题才能更全面,程序功能才能更完善。要求学生面对问题要认真思考,精益求精,在自己的能力范围内尽量把事情做到极致[5]。

3.3.5 循环结构

(1) 三种循环语句:通过三种循环语句的执行流程分析,让学生体验量变引起质变的道理,引导学生注重平时的点滴积累,为以后的厚积薄发垫下基础。2013年习近平总书记首次提出“精准扶贫”的重要指示,几年过后,全国的贫困人口大幅度减少,脱贫攻坚目标任务接近完成,以此增强学生的“制度自信”。在学习while语句时,通过比较“while(条件)语句块”和“while(条件);语句块”,让学生明白“差之毫厘,谬以千里。”的道理,并通过说明“苏联的联盟一号宇宙飞船失事”原因,让学生明白细节决定成败,养成严谨细致的工作作风。

(2) 循环的嵌套:通过运行输出“九九乘法表”和“由星号构成的简易图形”的程序,要求学生分析并仿写程序,实现自己设计的类似或更复杂图形的输出,以此培养学生的创新思维。通过演示“鸡兔同笼”和“百钱白鸡”这些经典的算术问题,让学生体验到多重循环结构在解决数学中的穷举问题时的方便性,进而激发学生学习科学知识以及利用所学知识高效解决问题的内在动力。

3.3.6 数组

(1) 数组的概念:数组是一组同类型数据的有序集合。现实生活中也是“物以类聚,人以群分”,引导学生见贤思齐、多与正能量的人交朋友,这样才能使自己更加优秀。

(2) 数组的引用方法:“单个变量”是游兵散勇,只有聚在一起形成“数组”才可能所向披靡,使学生明白团队合作的重要性。

(3) 数组的应用举例:学习利用二维数组求解“杨辉三角”时,告知学生杨辉三角的起源(杨辉三角是二项式系数在三角形中的一种几何排列,最早在中国南宋数学家杨辉所注的《详解九章算法》中出现,比法国数学家帕斯卡发现规律早393年),激发学生的民族自豪感和“文化自信”。通过对杨辉三角规律的分析到代码的生成等环节的体验,加强学生建模意识的培养。

3.3.7 函数与模块化程序设计

(1) 函数的概念:通过分析组织较为复杂的程序,说明引入函数的必要性。通过模块化程序设计思想和函数调用的讲授,培养学生分而治之的思想,提升学生的统筹规划和团队合作能力。

(2) 函数的递归调用和递归函数:递归调用是指一个函数在它的函数体内直接或间接调用它自身,这样的函数称为递归函数。让学生明白日常生活中的“言传身教”和“以身作则”的重要性。

(3) 变量的作用域和生命周期:“一寸光阴一寸金”,人和变量一样,生命周期都是有限的,引导学生有效规划时间,分清轻重缓急,有計划地朝着目标前行,“算计”时间,做好每一个当下,使自己的人生更加有意义。

(4) 预处理程序:“兵马未动,粮草先行”,学习和工作亦是如此,做任何事情前尽可能做好万全的准备,因为机会总是留给有准备的人。

3.3.8 指针

通过图示说明变量的直接访问和间接访问。通过程序实例的分析说明利用指针编写程序能大大减少内存的占用率,提升程序的运行效率。引导学生努力学习,并不断反思与总结,以便在遇到问题时能想到多种并从中选择较高效的解决办法。

3.3.9 结构体

结构体是用同一个名字引用的相关变量的集合,可包含多种不同类型数据的变量,每一个成员都要遵守该结构体的用法。引导学生作为某集体的一员时,要遵守所在集体的规则,和其他成员一起凝心聚力,发挥出团队的巨大能量。

3.4 将“思政元素”有效融入实验环节

完善实验教学,合理安排验证性实验、小型设计性实验和综合性实验的比重。对于验证性实验,教师先引导学生分析程序的执行流程并预测执行结果,然后按照规范输入代码并调试,直至调试正确,以此培养学生的规范意识。对于小型设计性实验,学生自行设计程序,提倡一题多解,并分析不同程序的执行效率,以此培养学生精益求精的工匠精神。综合性实验时,将学生分组,每个小组完成一个综合项目。组内的每个学生既要完成自己负责的分任务,又要兼顾和他人任务的衔接性,最终整合成一个完整的项目,以此培养学生的团队协作能力,通过组间的相互交流和评比,培养学生的竞争和创新意识。

4 结束语

课程中思政元素的挖掘不是一蹴而就的,需要学校的大力支持和师生长期共同努力。教师要深入挖掘各教学环节中的思政元素,有意识地践行“课程思政”,真正做到“润物细无声”,从而构建“三全育人”新格局,为我国培养合格的新时代社会主义建设者和接班人。

猜你喜欢
C语言程序设计C语言课程思政
基于Visual Studio Code的C语言程序设计实践教学探索
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
论子函数在C语言数据格式输出中的应用