APP下载

C语言教学中增强学生中国文化认同机制与实施路径研究

2023-04-06高翔郭恒川王国强

电脑知识与技术 2023年5期
关键词:中国文化C语言文化自信

高翔 郭恒川 王国强

关键词:中国文化;C语言;文化自信

党的十八大以来,习近平总书记反复强调文化自信,做出深刻阐述。早在2014年习近平总书记在文艺工作座谈会上就指出“中华优秀传统文化是中华民族的精神命脉,是涵养社会主义核心价值观的重要源泉,也是我们在世界文化激荡中站稳脚跟的坚实根基。增强文化自觉和文化自信,是坚定道路自信、理论自信、制度自信的题中应有之义”[1]。2019年习近平总书记在考察南开大学时强调“我们要把学习的具体目标同民族复兴的宏大目标结合起来,为之而奋斗。只有把小我融入大我,才会有海一样的胸怀,山一样的崇高。”计算机专业课程,特别是编程设计类多起源于外国,教学过程中缺少中国文化元素。如何将中国文化融入程序设计课程中,牢记传播文化自信,培育匠心文化的使命担当;让学生树立传承大国文明,为我国大国工艺做贡献的匠心。是当前C语言课程文化自信培养的重要组成部分。

1 在章节设计与命名中融入中国元素

C语言程序设计是计算机科学与技术、软件工程、物联网、大数据、通信工程等计算机相关专业的第一门专业基础课程。C语言程序的学习不仅是一门编程语言的学习,更是计算机相关专业学生进入大学开始专业修习之路的基石。这门课程的学习态度与思维认知直接关系到四年大学生涯的起跑状态,因此教师在授课过程中不仅要让学生认识“专业”,更要让学生认识“民族复兴的宏大目标”。将中国元素、中国文化、中国精神融进每一堂课,每一个细节,“润物细无声”融入每一堂课程学习中。

C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发[2]。自1972年上线至今已经形成了较为完备的学习路径与学习方案。将中国元素融入C课堂的本质是探索两者的有机融合,而不是生硬地替代。因此章节设计中应以现有课程学习安排为基础。

谈到中國文化,成语诗词武林功夫都是其不可缺少的组成部分,结合C语言学习调动每个学生心中的“武侠”梦,这里将C语言的学习划分为九个章节。

1.1 基础知识章节设计

考虑C语言是学生接触到的第一门专业类课程,将基础知识分成三个章节:第一章:启·程序世界;第二章:九层之台·起于累土;第三章:吐纳收放·出将入相。与传统教学中认识C语言、C语言的运算符与表达式、顺序结构相对应。

1) 启·程序世界

话说自牙牙学语,我们就知道若想和人交流沟通不但要会说话,还要说得合理,此前我们所学皆为与人交流,而今番欲与计算机对话必先掌握一门计算机语言,自今日起众弟子需掌握C派绝学,认识全新程序世界。

2) 九层之台·起于累土

欲知平直,则必准绳;欲知方圆,则必规矩。学程序第一步便是学规矩,程序设计的规矩就是其数据类型、表达式规范、命名规则。这一章我们就从这最简单的遣词造句说起,须知积土成山风雨兴焉,积水成渊蛟龙生焉。

3) 吐纳收放·出将入相

若想成就一番编程神功,需将派内语法、数据、表达式与语句熟练掌握。这一章将带领大家修习最基本的吐纳之法,教习弟子习得与计算机交互的输出、输入语句规范。众家弟子需严守本派语法规则,照章依令方能与计算机实现友好交互。

1.2 分支循环与函数调用

对应程序设计的结构中三个进阶章节选择结构程序设计、循环结构程序设计与函数调用问题设置了第四章:枝流叶布·分道扬镳;第五章:周而复始·曲终人散;第六章:星罗棋布·连墙接栋。

1) 枝流叶布·分道扬镳

前行之路不仅仅是无条件地向前,十字街头抉择不同终会分手,是故程序运行终有抉择,豆刨瓜分亦是难免,兄弟分家需做到条件明确,分割清晰,是为选择分支也。这一章我们将带领大家从选择中的逻辑运算开始逐步学习各种分支结构。

2) 周而复始·曲终人散

骐骥一跃,不能十步;驽马十驾,功在不舍;锲而舍之,朽木不折;锲而不舍,金石可镂。成事者必有循环往复之时,一招一式需反复磨炼,达成标准方可出师。这一章我们将带领大家学习利用循环结构处理需要重复处理的问题。本章学习需谨记六字箴言:【有效】【确定】【有穷】。

3) 星罗棋布·连墙接栋

《淮南子·主术训》云“乘众人之智,则无不任也;用众人之力;则无不胜也”。功力见长任务亦愈加繁杂,一馈十起未尝不可,然程序冗长庞大,劳心劳力且内存耗费大而无用者多,是故调兵遣将,善用军士用兵之上筹也。是故【善分工】【会调派】【知回报】成事之重也。

1.3 数组、指针与用户自定义数据类型

在C语言中数组属于构造数据类型,在此之前学习的程序设计中用到的变量都是基本类型,不能描述多个相同性质的数据之间的内部联系。而指针是C 的一个重要概念,不张我指针就没有掌握C的精华。用户在解决复杂问题时仅适用系统提供的数据类型不能满足用户的需要,C语言允许用户根据需要与使用习惯建立自己的数据类型。因此这三个章节的学子要求学生发挥更多的想象力与逻辑思维能力。因此这三个章节强调了学习箴言,将这三章命名为:第七章:星罗棋布·连墙接栋;第八章:调兵遣将·斗转星移;第九章:出师·造物。

1) 星罗棋布·连墙接栋

迄今为止所涉数据皆为基本类型,然兵多将广逐一点兵劳心费力,单兵孤城亦不可取。是故比物连类,类聚而群分。数据可依续、分类存储管理从而实现数据的高效批量处理,提高工作效率。本章学习四字箴言【同类】【有序】。

2) 调兵遣将·斗转星移

古有俗语“跑了和尚跑不了庙”,可知以其地址直捣黄龙。是故从古至今营房地图、军控布防、要塞地址皆为密中之密,不可轻易示人。C派武学有一独门秘籍,变量寻查可直“指”其址,“针”砭治之。用此秘籍则程序简洁高效,故C派有云不掌握指针便是未得C派灵魂也。

2 理论教学学习课程详细安排

课堂教学是高校人才培养工作的主渠道,是涵育大学生文化自信的首要途径[3]。中国人讲究家学渊源;学习C语言讲清程序的传承与发展对学生理解C 语言教学,清晰掌握未来学习方向与课程学习在整个计算机专业课程体系中的作用至关重要。

2.1 C 语言基础学习

讲解C语言自然要从程序设计的家谱传承讲起,对C语言的初印象讲解也将中国文化元素融入章节小标题中:用C家绝学——宗派特色概述C语言的语言特点、以混沌初开头一句来描述“printf“( hello, world!”);”这句话所涵盖的跨世代的意义、通过行文八股需牢记的八股文行文要求来类比函数撰写规范对C 语言程序设计的意义,将格式、规矩四个字牢记在胸。

算法是程序设计的灵魂,初学编程的学生总会错误地认为算法举例自己很遥远,不做“码农”就可以不用学这些,这个认知是错误的,在基础学习阶段就要给学生树立“天下武功需谨记外练筋骨皮,内练一口气。真正大成之人不仅能比划招式还要有深厚的内功,而算法就是编程大功的心法秘籍”。将流程图比喻成内功修炼之图文秘术,帮助学生认识正确绘制流程图对理解程序结构的重要作用。

2.2 数据、运算符与表达式

数皆有型,分类存储。数据是运算的基础,选择合适的数据类型与存储方式、存储位置对程序设计的重要程度就如同调料与食材的选择之于烹饪,向学生介绍数据存储概念过于空翻,将数据类比食材与调料;将运算符与表达式的正确选择类比烹饪方式与食材的挑选结合可以更省工。以“治大国烹小鲜”形象地将知识与类比升华。

数据相依爬罗剔抉,无论常量变量、身披迷彩的转义字符还是特立独行的常变量都有严格的使用规范,择优选之配以表达准确运算有序的算法设计是程序设计正确进行的第一步。

在讲述C语言表达语句时重点描述“C家语句第一霸-抵背扼喉的控制语句”,以“抵背扼喉”来形容控制语句的关键作用,并通过控制语句的讲解帮助学生开启程序结构的认识。

2.3 输入输出与顺序结构设计

战国·邹·孟轲《孟子·离娄上》:“离娄之明,公输子之巧,不以规矩,不能成方圆。”

程序员第一要素就是严谨——“井井兮其有理也”。这个章节的学习重点在“规矩”两个字。在课程设计中每个小标题都将“规矩”二字融入其中,规行矩步照本宣科的printf,蹈矩循规、不易一字的scanf,利用成语将格式化输出输入函数的特点概括得精准到位,一方面这些成语学生自幼接触,用之可更形象生动地帮助学生认同与理解格式化输入输出的规则与要求。

一字一句四个字形象地解释了putchar 函数和getchar函数的根本——仅能对单个字符进行操作。在这两个函数的学习中,学生最常出现的误区就是将标点符号当成字符的附加成分,本节教学要让学生理解字符的含义,使用字符函数需严格按字符操作,毛举细入。

2.4 分支与循环

顺序、分支和循环是程序設计的三种基本结构,其中顺序结构最为简单,分支结构在理解起来很容易,设计中常出的问题在于分支条件的设定必须明确,逻辑、关系泾渭分明。这一章也是思政教育最深入的章节,人生多歧路,修选在个人。人生的每一个抉择都会造就不同的未来。

循环结构程序设计这一章与中国文化的羁绊最深。《战国策·燕策二》:“此必令其言如循环,用兵如刺蜚绣”。《史记·高祖本纪论》:“三王之道若循环,终而复始”。循环的本质不是一成不变,而是一个由量变到质变的积累,每次循环看似执行同样的操作,但每次执行循环提前都要先“自省吾身—符合条件否”,离开时要记得改变循环控制变量的值,正是《弟子规》中“出必告,反必面”。这与函数嵌套调用中要遵循的“调用结束返回函数调用处”有相似性,都是中国文化中讲究的“有始有终,从哪里来还要回到哪里去”。

3 实验与实践环节教学中的文化传承

程序设计中比较经典的例题多选用外国的例子,这对文化自信的建立是弊大于利的,要建立健全文化自信,就要将中国文化放在每一章、每一节、每一个细节之处。故此在实验与实践教学环节中挑选例题时多从中国古代数学论著中挑选。

3.1 课堂案例设计

临渊羡鱼,不如退而结网,授人以鱼,不如授之以渔。程序设计最重要的环节在练,因此C语言教学中会有大量的课堂案例放在其中,在基础章节学习中题目多从《九章算术》中挑选。九章算数中的“术”可以对应计算机科学中的算法[4],在顺序结构设计、分支结构设计这两个章节引入《九章算术》中的田术作为例题。

循环程序设计学习中《孙子算经》的“鸡兔同笼问题”是非常好的案例与示范,一方面考察了学生循环的嵌套使用,另一方面也通过不同的解决方案让学生理解编程算法冗余度、复杂度问题。明代程大卫的《直指算法统宗》中百僧分馒头问题也是类似的题目。

南宋《详解九章算术》中杨辉三角形是数组应用的典型案例。

3.2 实验教学设计

实验是C语言程序设计实践教学中学生独立思考与独立设计的第一环节,离开教室的辅助,学生需要独立完成一定的实验题目,而中国古代数学问题的引入可以将枯燥的教学内容变得生动有趣,这样既培养了学生的学习兴趣,让学生感受到古人的聪慧智慧,充分调动了学生的学习积极性、主动性[5],又将文化自信润物细无声地融入学习之中。

张丘建《算经》中“百钱买百鸡”问题是基本程序结构实验的典型题目,循环的嵌套和分支与循环的套用是题目的关键;“韩信点兵”问题用到了break语句;明代程大卫的《直指算法统宗》中“浮屠增级歌”“百羊问题”都是C编程的简单实例。

割圆术和秦九韶算法是函数调用中比较契合的案例,高中数学中对这两个知识点都有详细的解释,在大一C语言程序设计学习中将这两个案例用计算机编程实现是对数学知识的传承,古老的算法和现代信息技术融为一体,让枯燥的程序设计课程充满智慧与文化的气息。

4 结束语

在将人才培养放在专业能力培养的大方向下,依然需要加强文化自信的培养。上一堂有文化、有传承的C 语言程序设计课是培养大学生一脉传承的新时代文化自信的重要组成,文化自信是大学生全面发展的内在要求,是培养大学生担负民族复兴重任的关键途径[6]。

猜你喜欢

中国文化C语言文化自信
基于Visual Studio Code的C语言程序设计实践教学探索
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
后现代主义对中国文化的影响
如何让西方文化帝国主义“退场”
论子函数在C语言数据格式输出中的应用