[摘 要] 以许多理工科专业开设的基础课程“C语言程序设计”为例,探索其“课程思政教育”模式具有示范作用。从全过程育人理念出发,分析蕴含在计算机语言和程序设计中的哲学思想、方法论和职业素质需求,挖掘课程内容中隐含的“思政元素”,分析设计了其全过程育人模型,突出培育学生计算机语言自身特质的一丝不苟的“工匠精神”,教学内容融入爱国情怀、法制意识、社会责任等软件工程师职业要素,激发学生掌握专业知识的学习热情,自觉认同教师身正示范传授的德育内容,实现智德教育的有机融合。
[关键词] 课程思政;思想教育;程序设计;C语言;德智融合
[基金项目] 2018年度江西省自然科学基金项目“基于深度学习的电气系统间歇故障检测方法研究”(20181BAB202018);2020年度江西理工大学2020“课程思政”课程改革(119);2018年度江西理工大学研究生教改课题“地方高校计算机技术专业硕士生创新能力培养模式研究”(YJG2018015)
[作者简介] 邱晓红(1967—),男,江西南康人,博士,江西理工大学软件工程学院教授,主要从事计算机教育和智能计算研究。
[中图分类号] G640 [文献标识码] A [文章编号] 1674-9324(2021)36-0149-04 [收稿日期] 2021-01-21
一、引言
2019年11月,中共中央國务院印发《新时代爱国主义教育实施纲要》,从制度层面要求深入开展课程思政教育,把思想价值引领贯穿教育教学全过程和各环节,要加强对课堂教学的建设管理,充分发掘和运用各学科蕴含的思想政治教育资源[1]。习近平总书记指出,办好思想政治理论课关键在教师,思想政治课教师“政治要强”“情怀要深”“思维要新”“视野要广”“自律要严”“人格要正”,通过六个“要”帮助学生扣好人生的第一粒扣子[2]。专业课程教师,同样要思维新,视野广,应用唯物辩证法和历史视野,创新教学内容,将“立德树人”的任务纳入课程教育过程中[3]。理工科类专业课程内容专业性强,存在教学内容难以融入思想政治教育内容问题,其教材很少看到有关德育的内容[4],智育与德育常处于割裂状态。因此,高校正在探索课程思政[5],如针对专业的特殊性挖掘计算机网络课程思政元素,借助虚拟网络社会出现的问题加以开展思想政治教育[6]。
“C语言程序设计”是许多理工科专业的基础课程[7],教学内容更为基础,更存在难于结合教育内容开展思想政治教育问题,更要以新思维、新视角进行专业知识教育,实现课程思政新突破。本文分析了“C语言”和“自然语言”,“程序设计”与“工程设计”共性和个性,从学生学习成长到软件工程师职业维度,从授课内容维度,挖掘基本概念、计算机语言和程序设计中存在的唯物辩证法哲学思想和方法论及其“思政元素”,融入专业知识教学中,增强其爱国情怀、工匠精神,实现“德智融合”教育,构筑专业课程教学全过程育人大格局。
二、C语言程序设计的课程特点与课程思政全过程育人模型
“C语言程序设计”课程包含计算机语言和程序设计等两方面基本内容。通过类比分析计算机语言与自然语言、计算机程序与小说、程序设计与小说构思或工程设计等概念,可以从学习成长到就业岗位职业需求,构建授课内容的全过程育人模型。
计算机语言与自然语言相对应,存在很多可类比内容。从计算机语言与自然语言的异同点可以挖掘不少思想政治教育的内容。有仿照自然语言的非编程语言,即在联合国使用的称为“世界语”的人工语言,其主要特点就是类似于自然语言,语法设计易学、易读、易用。而计算机语言主要为了方便程序员与计算机交流,使得计算机准确理解并完成程序员设想或求解问题的智慧,需要丰富的表达能力,但要求语法、语义不产生歧义性。所以计算机语言比自然语言更严格,任何微小的错误,可能引发大错误。而自然语言就不同,存在很多灵活性,因为是人在交流,交流者依靠自己的智慧,语法、语义存在的歧义,在一定场合会自动修正。所以学习计算机语言必须严格规范、准确,要求一丝不苟。
计算机程序则是人类(程序员)的智慧的产物[8]。复杂的计算机程序相当于自然语言大家小说家的作品,可以包含了一个虚拟世界。计算机程序可以认为由算法和数据结构所构成。数据结构对应小说的人物和事件,算法对应人物、事件相互之间的作用和关系。而最新的人工智能机器学习的自我学习算法进行的思维模拟与创造,引出了人的认识能力如何被认识、模拟、提高的哲学问题。而算法定义要求包含输入、输出特性,与人生的价值和作用是一致的,即活着要有所作为,如同保尔·柯察金的名言:“人最宝贵的是生命,生命每个人只有一次。人的一生应该这样度过:当他回首往事的时候,不因虚度年华而悔恨,也不因碌碌无为而羞愧;……”。
程序设计,就是应用计算机语言解决问题的方法和结果。一个好的设计将有很好的作品,不好的设计将产生对社会有害产品。学会了程序设计专业知识,就有望成为软件工程师,从其职业素养的角度,可以挖掘不少职业岗位所需的社会责任和遵纪守法的案例。这样“C语言程序设计”课程就形成一整套思想政治教育素材,构成授课全过程育人目标模型,如表1所示。
如表1所示,“C语言程序设计”是许多专业的基础课程,说明课程本身包含很好的哲学思想和方法论,授课时需要从唯物辩证法角度引导学生认识计算机语言和程序设计内在特点,促使学生在掌握专业知识的同时,树立正确的人生观、价值观。
模块化结构化设计思想是“C语言程序设计”核心要素,与人类社会中大企事业单位有相对独立的小单位构成的高效的生产组织方式存在类同性。“模块化”已成为重要的工程哲理和方法论。软件的复用性就是典型的模块化思维能力,要求程序员在完成任何一个功能模块或函数的时候,不要局限在完成当前任务功能上,要努力使该模块成为相对独立功能的产品,成为其他产品的基础模块,这样就避免重复性劳动,降低了成本。模块化思维还造就了“产品开发的流程控制和制度创新”的硅谷模式。
C语言的特性和功能,体现出“对立统一规律”。C语言中“数组”“函数”“指针”“结构体”等概念在以后创立的计算机语言,以不同的方式出现,有的消失了,有的则增强了,如在C#没有了指针概念,但存在动态数组,数组大小允许可变。计算机语言要素是根据编程需要不断发展变化,既对立又统一。另外,计算机语言的要素功能,如C语言的“指针”功能强大,几乎无所不能,使用不当,带来程序的安全性问题,反映了事物的两面性,是矛盾的统一体。
C语言程序设计的软件功能更体现了“质量互变规律”。任何软件都可以认为都是由一个个简单程序或功能模块所构成。根据用户的需要,通过程序员的设计,将各个功能模块组织管理起来,就形成功能强大的软件,进一步改进逐渐智能化,就得到了人工智能产品。智能手机就是典型代表,其核心代码就是C语言编写出来的。这就是量变到质变的最好体现。未来超人智能产品的出现,也将是在大量的人工智能产品出现之后量变而来。
三、“C语言程序设计”课程思政元素具体融入点和教学方式
前面表1已经描述了“C语言程序设计”教学全过程育人模型,具有通用性和抽象性,下面举例具体说明其德智融合教育的融入点和教学方式。
(一)以“史”为融入点,重点选择C语言自身成功发展史
1.理想目标的认同。设计优秀的计算机语言的目标是满足程序员与计算机交流、解决科学问题的需要。C语言至今具有旺盛的生命力,是能滿足程序员的需要。这与我们社会发展目标是一样的,人民对美好生活的向往就是我们的奋斗目标。
2.人类命运共同体理念的认同。在开源项目理念下,程序员们开放与他人共享自己源代码,推动了信息产业的繁荣和进步,培养了大量的优秀人才,其典型案例就是C语言开发的Linux操作系统,成为很多软件产品的核心代码,为世界创造无限的价值。开源项目体现了“人人平等”“人人为我,我为人人”的信念和思想。
(二)以“岗”为融入点,重点选择成为一个优秀程序员具备的“工匠”素质和要求
1.严谨求实的敬业精神。任何微小的错误,即使当前没有发现,也是漏洞,在哪天就可能爆发,造成巨大的灾难。如千年虫问题。典型的案例有1962年Mariner火箭发射失败,原因是程序中有错误的公式。
2.团结协作的团队精神。复杂功能的软件代码有众多的功能模块构成,需要多人团结合作才能完成。
(三)以“特”为融入点,重点选择C语言自身功能独特优势
1.遵纪守法的法制意识。以“指针”功能强大为例,掌握在好人手里,就可以编写出好程序,但若用来干坏事,也是无所不能的,病毒程序大部分也是C语言和汇编语言编写的。所以不少计算机语言考虑到安全性问题,就没有指针。违法典型的案例就是隐私信息泄露。
2.爱国敬业社会责任。函数是C语言的基本单位,是构成大型程序的基石。但库函数可能包含有问题的代码,许多黑客也盯着发现其中的漏洞。编写程序需要有“诚信、敬业”精神,不能有恶意的后门。当然,也有故意设置陷阱和后门的如美国FBI,所以成为祖国大厦的建设一份子要有爱国情怀,明辨是非的能力。“科学无国界,但科学家有祖国。”
(四)以“点带面”,采用不同教育方法将思想政治教育内容融入专业教育内容中
1.充分利用课前五分钟,教师身正示范孟子说的“吾日三省吾身”,在复习中指出专业知识点中易于混淆的概念、语法和语义,通过一定的案例说明其危害性,培养一丝不苟、严谨治学的工匠精神。
2.授课中,对关键概念进行拓展,探讨其哲学思想和方法论。利用计算机语言与自然语言中异同点,论述函数、模块化程序设计的思想和理念。
3.编程实践教学中,突出严谨求实敬业精神的作用。以不易发现的错误为例,说明程序可能在某些时候是正确的,某些情景又是错误的,需要严谨求实的敬业精神。
4.编程案例教学内容中,隐含思想政治教育内容。通过类比方法,结合C语言程序设计目标,将“爱国、敬业、诚信、友善”观念融入范例中:如“选择结构”知识点授课范例选择“个人所得税计算范例”,通过其中起征点的提高和扣除,提高国家改革开放成就的认同感和获得感;如“循环结构”知识点授课范例通过循环语句的不同方法求解1+…+50之和,与高斯方法求解对比,说明“算法”的特殊性,勤能补拙,很多时候,勤奋比天才更重要;而“综合实践”选择合作开发学生成绩管理系统程序案例,论述其功能模块的构成和分工协作需求,培养团队协作和爱岗敬业精神。
五、结语
教师是学生接触最直接、交流最多的对象, 教师的行为举止深深影响学生的思想品德修养和价值观取向。为了落实全过程育人与“课程思政”,针对“C语言程序设计”课程的特点,探索了“智德融合”的课程教学模式。专业育人是一项系统工程,从计算机语言和程序设计角度,分析设计了授课内容全过程育人模型,培养学生唯物辩证法思维和方法论,挖掘了课程教育内容存在的“思政元素”,融入专业能力教学内容中。“德智融合”的“课程思政”,不仅传授计算机语言和程序设计知识,还达到了润物细无声的育人目的。巧妙地运用哲学、社会关联元素等能很好地活跃课堂气氛,使枯燥的理论问题深入浅出、类比深刻有趣,提高教学效果,又帮助学生树立正确的人生观、价值观,培养德智体美劳全面发展的社会主义建设者和接班人。
参考文献
[1]张烁.习近平在全国高校思想政治工作会议上强调:把思想政治工作贯穿教育教学全过程,开创我国高等教育事业发展新局面[N].人民日报,2016-12-09(01).
[2]习近平.思政课是落实立德树人根本任务的关键课程[J].求是,2020(17):1-7.
[3]习近平.坚持中国特色社会主义教育发展道路培养德智体美劳全面发展的社会主义建设者和接班人[J].教育科学论坛,2018(30):7-9.
[4]匡江紅,张云,顾莹.理工类专业课程开展课程思政教育的探索与实践[J].管理观察,2018(1):119-122.
[5]胡靖,马星宇,王俊荣.从高校“思政课程”到“课程思政”[J].思想政治工作研究,2020(4):41-43.
[6]帅小应.“德智融合”的“计算机网络”课程思政教学探索[J].黑龙江教育(高教研究与评估),2019(10):1-3.
[7]邱晓红,李渤.C/C++语言程序设计[M].北京:清华大学出版社,2020.
[8]克努特.计算机程序设计艺术:第1卷[M].苏运霖,译.北京:国防工业出版社,2007.
Exploration on Integration of Morality and Intelligence Education of C Language Programming Course
QIU Xiao-hong
(School of Software Engineering, Jiangxi University of Science and Technology, Nanchang, Jiangxi 330013, China)
Abstract: Taking the basic course C language programming opened by many science and engineering majors as an example, exploring its mode of “curriculum ideological and political education” has an exemplary role. Starting from the concept of whole process education, this paper analyzes the philosophy, methodology and professional quality requirements contained in computer language and program design, excavates the “Ideological and political elements” implied in the course content, analyzes and designs its whole process education model, highlights the cultivation of students meticulous “craftsman spirit” of computer language, and integrates patriotism into the teaching content of legal awareness, social responsibility and other professional elements of software engineers. These can stimulate students learning enthusiasm to master professional knowledge, consciously identify with the moral education content taught by teachers demonstration, and realize the organic integration of intellectual and moral education.
Key words: “curriculum ideological and political education”; ideological education; programming; C language; integration of morality and intelligence education