高翔 郭恒川 王國(guó)強(qiáng)
關(guān)鍵詞:中國(guó)文化;C語言;文化自信
黨的十八大以來,習(xí)近平總書記反復(fù)強(qiáng)調(diào)文化自信,做出深刻闡述。早在2014年習(xí)近平總書記在文藝工作座談會(huì)上就指出“中華優(yōu)秀傳統(tǒng)文化是中華民族的精神命脈,是涵養(yǎng)社會(huì)主義核心價(jià)值觀的重要源泉,也是我們?cè)谑澜缥幕な幹姓痉€(wěn)腳跟的堅(jiān)實(shí)根基。增強(qiáng)文化自覺和文化自信,是堅(jiān)定道路自信、理論自信、制度自信的題中應(yīng)有之義”[1]。2019年習(xí)近平總書記在考察南開大學(xué)時(shí)強(qiáng)調(diào)“我們要把學(xué)習(xí)的具體目標(biāo)同民族復(fù)興的宏大目標(biāo)結(jié)合起來,為之而奮斗。只有把小我融入大我,才會(huì)有海一樣的胸懷,山一樣的崇高?!庇?jì)算機(jī)專業(yè)課程,特別是編程設(shè)計(jì)類多起源于外國(guó),教學(xué)過程中缺少中國(guó)文化元素。如何將中國(guó)文化融入程序設(shè)計(jì)課程中,牢記傳播文化自信,培育匠心文化的使命擔(dān)當(dāng);讓學(xué)生樹立傳承大國(guó)文明,為我國(guó)大國(guó)工藝做貢獻(xiàn)的匠心。是當(dāng)前C語言課程文化自信培養(yǎng)的重要組成部分。
1 在章節(jié)設(shè)計(jì)與命名中融入中國(guó)元素
C語言程序設(shè)計(jì)是計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程、物聯(lián)網(wǎng)、大數(shù)據(jù)、通信工程等計(jì)算機(jī)相關(guān)專業(yè)的第一門專業(yè)基礎(chǔ)課程。C語言程序的學(xué)習(xí)不僅是一門編程語言的學(xué)習(xí),更是計(jì)算機(jī)相關(guān)專業(yè)學(xué)生進(jìn)入大學(xué)開始專業(yè)修習(xí)之路的基石。這門課程的學(xué)習(xí)態(tài)度與思維認(rèn)知直接關(guān)系到四年大學(xué)生涯的起跑狀態(tài),因此教師在授課過程中不僅要讓學(xué)生認(rèn)識(shí)“專業(yè)”,更要讓學(xué)生認(rèn)識(shí)“民族復(fù)興的宏大目標(biāo)”。將中國(guó)元素、中國(guó)文化、中國(guó)精神融進(jìn)每一堂課,每一個(gè)細(xì)節(jié),“潤(rùn)物細(xì)無聲”融入每一堂課程學(xué)習(xí)中。
C語言是一門面向過程的、抽象化的通用程序設(shè)計(jì)語言,廣泛應(yīng)用于底層開發(fā)[2]。自1972年上線至今已經(jīng)形成了較為完備的學(xué)習(xí)路徑與學(xué)習(xí)方案。將中國(guó)元素融入C課堂的本質(zhì)是探索兩者的有機(jī)融合,而不是生硬地替代。因此章節(jié)設(shè)計(jì)中應(yīng)以現(xiàn)有課程學(xué)習(xí)安排為基礎(chǔ)。
談到中國(guó)文化,成語詩詞武林功夫都是其不可缺少的組成部分,結(jié)合C語言學(xué)習(xí)調(diào)動(dòng)每個(gè)學(xué)生心中的“武俠”夢(mèng),這里將C語言的學(xué)習(xí)劃分為九個(gè)章節(jié)。
1.1 基礎(chǔ)知識(shí)章節(jié)設(shè)計(jì)
考慮C語言是學(xué)生接觸到的第一門專業(yè)類課程,將基礎(chǔ)知識(shí)分成三個(gè)章節(jié):第一章:?jiǎn)ⅰこ绦蚴澜?;第二章:九層之臺(tái)·起于累土;第三章:吐納收放·出將入相。與傳統(tǒng)教學(xué)中認(rèn)識(shí)C語言、C語言的運(yùn)算符與表達(dá)式、順序結(jié)構(gòu)相對(duì)應(yīng)。
1) 啟·程序世界
話說自牙牙學(xué)語,我們就知道若想和人交流溝通不但要會(huì)說話,還要說得合理,此前我們所學(xué)皆為與人交流,而今番欲與計(jì)算機(jī)對(duì)話必先掌握一門計(jì)算機(jī)語言,自今日起眾弟子需掌握C派絕學(xué),認(rèn)識(shí)全新程序世界。
2) 九層之臺(tái)·起于累土
欲知平直,則必準(zhǔn)繩;欲知方圓,則必規(guī)矩。學(xué)程序第一步便是學(xué)規(guī)矩,程序設(shè)計(jì)的規(guī)矩就是其數(shù)據(jù)類型、表達(dá)式規(guī)范、命名規(guī)則。這一章我們就從這最簡(jiǎn)單的遣詞造句說起,須知積土成山風(fēng)雨興焉,積水成淵蛟龍生焉。
3) 吐納收放·出將入相
若想成就一番編程神功,需將派內(nèi)語法、數(shù)據(jù)、表達(dá)式與語句熟練掌握。這一章將帶領(lǐng)大家修習(xí)最基本的吐納之法,教習(xí)弟子習(xí)得與計(jì)算機(jī)交互的輸出、輸入語句規(guī)范。眾家弟子需嚴(yán)守本派語法規(guī)則,照章依令方能與計(jì)算機(jī)實(shí)現(xiàn)友好交互。
1.2 分支循環(huán)與函數(shù)調(diào)用
對(duì)應(yīng)程序設(shè)計(jì)的結(jié)構(gòu)中三個(gè)進(jìn)階章節(jié)選擇結(jié)構(gòu)程序設(shè)計(jì)、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)與函數(shù)調(diào)用問題設(shè)置了第四章:枝流葉布·分道揚(yáng)鑣;第五章:周而復(fù)始·曲終人散;第六章:星羅棋布·連墻接棟。
1) 枝流葉布·分道揚(yáng)鑣
前行之路不僅僅是無條件地向前,十字街頭抉擇不同終會(huì)分手,是故程序運(yùn)行終有抉擇,豆刨瓜分亦是難免,兄弟分家需做到條件明確,分割清晰,是為選擇分支也。這一章我們將帶領(lǐng)大家從選擇中的邏輯運(yùn)算開始逐步學(xué)習(xí)各種分支結(jié)構(gòu)。
2) 周而復(fù)始·曲終人散
騏驥一躍,不能十步;駑馬十駕,功在不舍;鍥而舍之,朽木不折;鍥而不舍,金石可鏤。成事者必有循環(huán)往復(fù)之時(shí),一招一式需反復(fù)磨煉,達(dá)成標(biāo)準(zhǔn)方可出師。這一章我們將帶領(lǐng)大家學(xué)習(xí)利用循環(huán)結(jié)構(gòu)處理需要重復(fù)處理的問題。本章學(xué)習(xí)需謹(jǐn)記六字箴言:【有效】【確定】【有窮】。
3) 星羅棋布·連墻接棟
《淮南子·主術(shù)訓(xùn)》云“乘眾人之智,則無不任也;用眾人之力;則無不勝也”。功力見長(zhǎng)任務(wù)亦愈加繁雜,一饋十起未嘗不可,然程序冗長(zhǎng)龐大,勞心勞力且內(nèi)存耗費(fèi)大而無用者多,是故調(diào)兵遣將,善用軍士用兵之上籌也。是故【善分工】【會(huì)調(diào)派】【知回報(bào)】成事之重也。
1.3 數(shù)組、指針與用戶自定義數(shù)據(jù)類型
在C語言中數(shù)組屬于構(gòu)造數(shù)據(jù)類型,在此之前學(xué)習(xí)的程序設(shè)計(jì)中用到的變量都是基本類型,不能描述多個(gè)相同性質(zhì)的數(shù)據(jù)之間的內(nèi)部聯(lián)系。而指針是C 的一個(gè)重要概念,不張我指針就沒有掌握C的精華。用戶在解決復(fù)雜問題時(shí)僅適用系統(tǒng)提供的數(shù)據(jù)類型不能滿足用戶的需要,C語言允許用戶根據(jù)需要與使用習(xí)慣建立自己的數(shù)據(jù)類型。因此這三個(gè)章節(jié)的學(xué)子要求學(xué)生發(fā)揮更多的想象力與邏輯思維能力。因此這三個(gè)章節(jié)強(qiáng)調(diào)了學(xué)習(xí)箴言,將這三章命名為:第七章:星羅棋布·連墻接棟;第八章:調(diào)兵遣將·斗轉(zhuǎn)星移;第九章:出師·造物。
1) 星羅棋布·連墻接棟
迄今為止所涉數(shù)據(jù)皆為基本類型,然兵多將廣逐一點(diǎn)兵勞心費(fèi)力,單兵孤城亦不可取。是故比物連類,類聚而群分。數(shù)據(jù)可依續(xù)、分類存儲(chǔ)管理從而實(shí)現(xiàn)數(shù)據(jù)的高效批量處理,提高工作效率。本章學(xué)習(xí)四字箴言【同類】【有序】。
2) 調(diào)兵遣將·斗轉(zhuǎn)星移
古有俗語“跑了和尚跑不了廟”,可知以其地址直搗黃龍。是故從古至今營(yíng)房地圖、軍控布防、要塞地址皆為密中之密,不可輕易示人。C派武學(xué)有一獨(dú)門秘籍,變量尋查可直“指”其址,“針”砭治之。用此秘籍則程序簡(jiǎn)潔高效,故C派有云不掌握指針便是未得C派靈魂也。
2 理論教學(xué)學(xué)習(xí)課程詳細(xì)安排
課堂教學(xué)是高校人才培養(yǎng)工作的主渠道,是涵育大學(xué)生文化自信的首要途徑[3]。中國(guó)人講究家學(xué)淵源;學(xué)習(xí)C語言講清程序的傳承與發(fā)展對(duì)學(xué)生理解C 語言教學(xué),清晰掌握未來學(xué)習(xí)方向與課程學(xué)習(xí)在整個(gè)計(jì)算機(jī)專業(yè)課程體系中的作用至關(guān)重要。
2.1 C 語言基礎(chǔ)學(xué)習(xí)
講解C語言自然要從程序設(shè)計(jì)的家譜傳承講起,對(duì)C語言的初印象講解也將中國(guó)文化元素融入章節(jié)小標(biāo)題中:用C家絕學(xué)——宗派特色概述C語言的語言特點(diǎn)、以混沌初開頭一句來描述“printf“( hello, world!”);”這句話所涵蓋的跨世代的意義、通過行文八股需牢記的八股文行文要求來類比函數(shù)撰寫規(guī)范對(duì)C 語言程序設(shè)計(jì)的意義,將格式、規(guī)矩四個(gè)字牢記在胸。
算法是程序設(shè)計(jì)的靈魂,初學(xué)編程的學(xué)生總會(huì)錯(cuò)誤地認(rèn)為算法舉例自己很遙遠(yuǎn),不做“碼農(nóng)”就可以不用學(xué)這些,這個(gè)認(rèn)知是錯(cuò)誤的,在基礎(chǔ)學(xué)習(xí)階段就要給學(xué)生樹立“天下武功需謹(jǐn)記外練筋骨皮,內(nèi)練一口氣。真正大成之人不僅能比劃招式還要有深厚的內(nèi)功,而算法就是編程大功的心法秘籍”。將流程圖比喻成內(nèi)功修煉之圖文秘術(shù),幫助學(xué)生認(rèn)識(shí)正確繪制流程圖對(duì)理解程序結(jié)構(gòu)的重要作用。
2.2 數(shù)據(jù)、運(yùn)算符與表達(dá)式
數(shù)皆有型,分類存儲(chǔ)。數(shù)據(jù)是運(yùn)算的基礎(chǔ),選擇合適的數(shù)據(jù)類型與存儲(chǔ)方式、存儲(chǔ)位置對(duì)程序設(shè)計(jì)的重要程度就如同調(diào)料與食材的選擇之于烹飪,向?qū)W生介紹數(shù)據(jù)存儲(chǔ)概念過于空翻,將數(shù)據(jù)類比食材與調(diào)料;將運(yùn)算符與表達(dá)式的正確選擇類比烹飪方式與食材的挑選結(jié)合可以更省工。以“治大國(guó)烹小鮮”形象地將知識(shí)與類比升華。
數(shù)據(jù)相依爬羅剔抉,無論常量變量、身披迷彩的轉(zhuǎn)義字符還是特立獨(dú)行的常變量都有嚴(yán)格的使用規(guī)范,擇優(yōu)選之配以表達(dá)準(zhǔn)確運(yùn)算有序的算法設(shè)計(jì)是程序設(shè)計(jì)正確進(jìn)行的第一步。
在講述C語言表達(dá)語句時(shí)重點(diǎn)描述“C家語句第一霸-抵背扼喉的控制語句”,以“抵背扼喉”來形容控制語句的關(guān)鍵作用,并通過控制語句的講解幫助學(xué)生開啟程序結(jié)構(gòu)的認(rèn)識(shí)。
2.3 輸入輸出與順序結(jié)構(gòu)設(shè)計(jì)
戰(zhàn)國(guó)·鄒·孟軻《孟子·離婁上》:“離婁之明,公輸子之巧,不以規(guī)矩,不能成方圓?!?/p>
程序員第一要素就是嚴(yán)謹(jǐn)——“井井兮其有理也”。這個(gè)章節(jié)的學(xué)習(xí)重點(diǎn)在“規(guī)矩”兩個(gè)字。在課程設(shè)計(jì)中每個(gè)小標(biāo)題都將“規(guī)矩”二字融入其中,規(guī)行矩步照本宣科的printf,蹈矩循規(guī)、不易一字的scanf,利用成語將格式化輸出輸入函數(shù)的特點(diǎn)概括得精準(zhǔn)到位,一方面這些成語學(xué)生自幼接觸,用之可更形象生動(dòng)地幫助學(xué)生認(rèn)同與理解格式化輸入輸出的規(guī)則與要求。
一字一句四個(gè)字形象地解釋了putchar 函數(shù)和getchar函數(shù)的根本——僅能對(duì)單個(gè)字符進(jìn)行操作。在這兩個(gè)函數(shù)的學(xué)習(xí)中,學(xué)生最常出現(xiàn)的誤區(qū)就是將標(biāo)點(diǎn)符號(hào)當(dāng)成字符的附加成分,本節(jié)教學(xué)要讓學(xué)生理解字符的含義,使用字符函數(shù)需嚴(yán)格按字符操作,毛舉細(xì)入。
2.4 分支與循環(huán)
順序、分支和循環(huán)是程序設(shè)計(jì)的三種基本結(jié)構(gòu),其中順序結(jié)構(gòu)最為簡(jiǎn)單,分支結(jié)構(gòu)在理解起來很容易,設(shè)計(jì)中常出的問題在于分支條件的設(shè)定必須明確,邏輯、關(guān)系涇渭分明。這一章也是思政教育最深入的章節(jié),人生多歧路,修選在個(gè)人。人生的每一個(gè)抉擇都會(huì)造就不同的未來。
循環(huán)結(jié)構(gòu)程序設(shè)計(jì)這一章與中國(guó)文化的羈絆最深?!稇?zhàn)國(guó)策·燕策二》:“此必令其言如循環(huán),用兵如刺蜚繡”?!妒酚洝じ咦姹炯o(jì)論》:“三王之道若循環(huán),終而復(fù)始”。循環(huán)的本質(zhì)不是一成不變,而是一個(gè)由量變到質(zhì)變的積累,每次循環(huán)看似執(zhí)行同樣的操作,但每次執(zhí)行循環(huán)提前都要先“自省吾身—符合條件否”,離開時(shí)要記得改變循環(huán)控制變量的值,正是《弟子規(guī)》中“出必告,反必面”。這與函數(shù)嵌套調(diào)用中要遵循的“調(diào)用結(jié)束返回函數(shù)調(diào)用處”有相似性,都是中國(guó)文化中講究的“有始有終,從哪里來還要回到哪里去”。
3 實(shí)驗(yàn)與實(shí)踐環(huán)節(jié)教學(xué)中的文化傳承
程序設(shè)計(jì)中比較經(jīng)典的例題多選用外國(guó)的例子,這對(duì)文化自信的建立是弊大于利的,要建立健全文化自信,就要將中國(guó)文化放在每一章、每一節(jié)、每一個(gè)細(xì)節(jié)之處。故此在實(shí)驗(yàn)與實(shí)踐教學(xué)環(huán)節(jié)中挑選例題時(shí)多從中國(guó)古代數(shù)學(xué)論著中挑選。
3.1 課堂案例設(shè)計(jì)
臨淵羨魚,不如退而結(jié)網(wǎng),授人以魚,不如授之以漁。程序設(shè)計(jì)最重要的環(huán)節(jié)在練,因此C語言教學(xué)中會(huì)有大量的課堂案例放在其中,在基礎(chǔ)章節(jié)學(xué)習(xí)中題目多從《九章算術(shù)》中挑選。九章算數(shù)中的“術(shù)”可以對(duì)應(yīng)計(jì)算機(jī)科學(xué)中的算法[4],在順序結(jié)構(gòu)設(shè)計(jì)、分支結(jié)構(gòu)設(shè)計(jì)這兩個(gè)章節(jié)引入《九章算術(shù)》中的田術(shù)作為例題。
循環(huán)程序設(shè)計(jì)學(xué)習(xí)中《孫子算經(jīng)》的“雞兔同籠問題”是非常好的案例與示范,一方面考察了學(xué)生循環(huán)的嵌套使用,另一方面也通過不同的解決方案讓學(xué)生理解編程算法冗余度、復(fù)雜度問題。明代程大衛(wèi)的《直指算法統(tǒng)宗》中百僧分饅頭問題也是類似的題目。
南宋《詳解九章算術(shù)》中楊輝三角形是數(shù)組應(yīng)用的典型案例。
3.2 實(shí)驗(yàn)教學(xué)設(shè)計(jì)
實(shí)驗(yàn)是C語言程序設(shè)計(jì)實(shí)踐教學(xué)中學(xué)生獨(dú)立思考與獨(dú)立設(shè)計(jì)的第一環(huán)節(jié),離開教室的輔助,學(xué)生需要獨(dú)立完成一定的實(shí)驗(yàn)題目,而中國(guó)古代數(shù)學(xué)問題的引入可以將枯燥的教學(xué)內(nèi)容變得生動(dòng)有趣,這樣既培養(yǎng)了學(xué)生的學(xué)習(xí)興趣,讓學(xué)生感受到古人的聰慧智慧,充分調(diào)動(dòng)了學(xué)生的學(xué)習(xí)積極性、主動(dòng)性[5],又將文化自信潤(rùn)物細(xì)無聲地融入學(xué)習(xí)之中。
張丘建《算經(jīng)》中“百錢買百雞”問題是基本程序結(jié)構(gòu)實(shí)驗(yàn)的典型題目,循環(huán)的嵌套和分支與循環(huán)的套用是題目的關(guān)鍵;“韓信點(diǎn)兵”問題用到了break語句;明代程大衛(wèi)的《直指算法統(tǒng)宗》中“浮屠增級(jí)歌”“百羊問題”都是C編程的簡(jiǎn)單實(shí)例。
割圓術(shù)和秦九韶算法是函數(shù)調(diào)用中比較契合的案例,高中數(shù)學(xué)中對(duì)這兩個(gè)知識(shí)點(diǎn)都有詳細(xì)的解釋,在大一C語言程序設(shè)計(jì)學(xué)習(xí)中將這兩個(gè)案例用計(jì)算機(jī)編程實(shí)現(xiàn)是對(duì)數(shù)學(xué)知識(shí)的傳承,古老的算法和現(xiàn)代信息技術(shù)融為一體,讓枯燥的程序設(shè)計(jì)課程充滿智慧與文化的氣息。
4 結(jié)束語
在將人才培養(yǎng)放在專業(yè)能力培養(yǎng)的大方向下,依然需要加強(qiáng)文化自信的培養(yǎng)。上一堂有文化、有傳承的C 語言程序設(shè)計(jì)課是培養(yǎng)大學(xué)生一脈傳承的新時(shí)代文化自信的重要組成,文化自信是大學(xué)生全面發(fā)展的內(nèi)在要求,是培養(yǎng)大學(xué)生擔(dān)負(fù)民族復(fù)興重任的關(guān)鍵途徑[6]。