吳戀,王院,崔忠偉,趙建川
(1.貴州師范學(xué)院數(shù)學(xué)與大數(shù)據(jù)學(xué)院,貴州 貴陽 550018;2.貴州師范學(xué)院大數(shù)據(jù)科學(xué)與智能工程研究院,貴州 貴陽 550018)
古人云:“敬教勸學(xué),建國之大本;興賢育才,為政之先務(wù)?!睆墓湃苏葎?wù)到如今思政為時(shí)代熱點(diǎn),在教育中融入思政元素的思考一直在繼續(xù)[1-2]。當(dāng)今是一個(gè)“互聯(lián)網(wǎng)+”“智能+”的時(shí)代,社會(huì)對(duì)計(jì)算機(jī)類專業(yè)的人才需求非常大,IT技術(shù)對(duì)社會(huì)的飛速發(fā)展扮演著非常重要的推動(dòng)角色[3-4]。計(jì)算機(jī)類人才的培養(yǎng)很重要,計(jì)算機(jī)類人才的正確思想體系培養(yǎng)更重要?!禖語言程序設(shè)計(jì)》是計(jì)算機(jī)相關(guān)專業(yè)的專業(yè)基礎(chǔ)課,是一門重要的編程核心課程,是學(xué)生開始從事計(jì)算機(jī)技術(shù)開發(fā)的入門課程。本文致力于在C語言的知識(shí)點(diǎn)中發(fā)掘思政元素,從C語言的角度解讀思政。使學(xué)生在學(xué)習(xí)C語言過程中將社會(huì)主義核心價(jià)值觀、工匠精神和愛國情懷融入課程實(shí)踐中。
2019年8月,中央提出了“思政課建設(shè)只能加強(qiáng)、不能削弱”的要求,這彰顯了黨中央對(duì)思政課的重視,也表達(dá)出黨和國家對(duì)辦好思政課的堅(jiān)定決心[5-6]。習(xí)近平總書記強(qiáng)調(diào)青年現(xiàn)在正處于拔節(jié)育穗期,故正確的價(jià)值觀可以引導(dǎo)青年的正確育樹,在于培育可用之才,讓才有所用;育人,在于塑造可用之人,讓學(xué)生有所長,能所用,是我們對(duì)思政教學(xué)給予的要求[7-9]。教書育人,教書重要育人更重要,青年不應(yīng)該只一味地追求成績,而應(yīng)該德行兼?zhèn)?,這才是國家所需的人才[10]。思政課的提出大大增強(qiáng)了青年德行兼修的力度,黨和國家高度重視思政課的探索與改革。思政一詞不僅可以在思政課上體現(xiàn),還可以在其他的課程中融入思政元素從多角度去推廣,多方面去應(yīng)用。
在2021年7月各類編程語言熱度排行榜中C語言依舊是前五[11],即C語言是得到普遍運(yùn)用的程序語言之一,《C語言程序設(shè)計(jì)》是大學(xué)里一門非常重要的編程基礎(chǔ)課。在該門課程中加入思政元素,即是讓計(jì)算機(jī)類專業(yè)的學(xué)生在學(xué)習(xí)編程技術(shù)的道路上首篇就樹立好正確的價(jià)值感、道德觀、人生觀,樹立較強(qiáng)的責(zé)任意義、工匠精神及愛國情懷。
在《C語言程序設(shè)計(jì)》課程中融入思政元素,其總體教學(xué)架構(gòu)設(shè)計(jì)為如圖1所示[12-13]。
《C語言程序設(shè)計(jì)》是一門理論和實(shí)踐相結(jié)合的課程,實(shí)踐教學(xué)環(huán)節(jié)一定要非常重視。其理論教學(xué)和實(shí)踐教學(xué)采用“理論講解+案例教學(xué)+問題討論+項(xiàng)目驅(qū)動(dòng)+啟發(fā)感悟”的教學(xué)方式,在該教學(xué)方式的各個(gè)環(huán)節(jié)中融入多種思政元素,如圖1所示。
圖1 課程融入思政的總體教學(xué)架構(gòu)設(shè)計(jì)
教學(xué)各環(huán)節(jié)在融入上述思政元素過程中,以習(xí)近平總書記在思政上六個(gè)方面要求為總體思想進(jìn)行相關(guān)思政元素的融入:
一個(gè)有社會(huì)主義核心價(jià)值觀的老師是思政課的關(guān)鍵,正如習(xí)近平總書記強(qiáng)調(diào)的“要堅(jiān)持價(jià)值性和知識(shí)性相統(tǒng)一,寓價(jià)值觀引導(dǎo)于知識(shí)傳授中”。十大黑客之一的C語言之父:丹尼斯·里奇研發(fā)Unix的初衷就是為了省錢,并且這一初衷使他成了最具傳奇的程序員。很顯然,他的專業(yè)背景為他研發(fā)出C語言或者Unix起了很大幫助。他擁有正確的價(jià)值觀和人生觀,故他研發(fā)的C語言得到了廣泛運(yùn)用??梢栽贑語言的第一課向?qū)W生介紹他,給學(xué)生正確的價(jià)值導(dǎo)向和以后發(fā)展留下重大作用。
以近日健康碼的第一行代碼被國家收藏為例,向?qū)W生傳遞一種情懷——愛國情懷,作為程序員,他們給予了國家很大的便利,有人說14天的奇跡背后的故事是個(gè)人、家庭和社會(huì)的共同體。以此激發(fā)學(xué)生的愛國情、強(qiáng)國志、報(bào)國行,讓學(xué)生自覺將其融入堅(jiān)持和發(fā)展中國特色社會(huì)主義的事業(yè)中,要讓他們樹立遠(yuǎn)大的理想與抱負(fù),要為把祖國建設(shè)成社會(huì)主義現(xiàn)代化強(qiáng)國、為實(shí)現(xiàn)中華民族偉大復(fù)興的中國夢(mèng)作為不懈追求的奮斗目標(biāo)。
立人為本,從C語言角度可能剛開始學(xué)生C語言的代碼會(huì)自己編寫,時(shí)間久了也不乏有的學(xué)生對(duì)C語言測(cè)試不認(rèn)真,認(rèn)為只要有答案就可以,所以存在過度借鑒的現(xiàn)象。如今借鑒的例子很多,借鑒的方向也很多。借鑒是正?,F(xiàn)象,但是過度借鑒會(huì)使學(xué)生產(chǎn)生依附心里,每時(shí)每刻都覺得借鑒一下就算完成了任務(wù)。從思政角度老師應(yīng)該從代碼的測(cè)試推己及人,告訴學(xué)生人格觀念必須明確三觀要正,并告訴學(xué)生過度借鑒的危害,和將社會(huì)主義核心價(jià)值觀貫徹落實(shí)的精神。
青少年正處于起身拔節(jié)到抽穗開花的時(shí)期,這一時(shí)期十分重要,教師在教授知識(shí)的同時(shí),也應(yīng)該向?qū)W生傳遞法律知識(shí)。例如在C語言中提到代碼命名問題時(shí)可以以命名規(guī)則來告訴學(xué)生,命名就應(yīng)該自律,生活更應(yīng)該守法,國有國法,家有家規(guī),規(guī)則的提出就應(yīng)該有人遵守,學(xué)生應(yīng)該自我約束,要勇于承擔(dān)屬于自己的責(zé)任。
事實(shí)上,一個(gè)代碼我們可以有許多方式去編寫,如以一個(gè)傳統(tǒng)的斐波拉契數(shù)列——兔子繁衍問題代碼為例,有人長篇大論,有人寥寥幾筆,個(gè)人思維不同所寫出的代碼也不同。新思想、新思維、新發(fā)展,人們對(duì)思維新的人和恪守本分的人的待遇存在本質(zhì)區(qū)別。就發(fā)展的趨勢(shì)而言,思維活躍的人是比較受歡迎的。
視野要廣即知識(shí)視野、國際視野、歷史視野,一個(gè)人的格局離不開知識(shí),從學(xué)生代碼的部分正確來著手,編程不能只有眼前的例子,更應(yīng)該關(guān)注題目本身,視野的局限是當(dāng)前人們經(jīng)常犯的錯(cuò),有時(shí)候?qū)W生的代碼就是為了某個(gè)例子設(shè)計(jì)的,想方設(shè)法地把答案做對(duì),但是題目卻不對(duì),教師要告誡學(xué)生只有眼前的利益是不對(duì)的,更應(yīng)該關(guān)注的是未來長遠(yuǎn)的發(fā)展,拒絕鼠目寸光。國際視野也應(yīng)寬廣,華為的鴻蒙系統(tǒng)最底層代碼用的就是C語言,有人說C語言的時(shí)代已經(jīng)過了,但是長遠(yuǎn)看來我們?nèi)詰?yīng)該學(xué)習(xí)C語言。
C語言其本身是一門實(shí)踐性強(qiáng)的學(xué)科,在其中加入思政元素的可行性似乎不高。其實(shí)不然,C語言中的知識(shí)點(diǎn)與思政的關(guān)系很密切,我們可以從C語言的知識(shí)點(diǎn)中尋找到許多與思政相關(guān)的元素。
C語言的標(biāo)識(shí)符是由字母,數(shù)字,下劃線組成,且只能以字母下劃線開頭。當(dāng)你以數(shù)字開頭時(shí),代碼會(huì)出現(xiàn)報(bào)錯(cuò)。這里面蘊(yùn)含的是我們對(duì)事物的處理要嚴(yán)格遵守規(guī)章制度。
C語言的數(shù)據(jù)類型有整型,浮點(diǎn)型,字符型等常見類型,在使用時(shí)需要注意區(qū)分。如圖2所示,我們將浮點(diǎn)型數(shù)據(jù)賦值給定義為整型的變量a,通過輸出結(jié)果可以看到,其得到的是整型5,而非5.1。在選擇數(shù)據(jù)類型時(shí),一定要注意區(qū)分,才能得到程序代碼想要實(shí)現(xiàn)的效果,細(xì)節(jié)決定成敗。為人或做事,不要誤以為細(xì)小的錯(cuò)誤值得原諒或別人不會(huì)介意,要記住“千里之堤潰于蟻穴”。
圖2 代碼及運(yùn)行結(jié)果
眾所周知,C語言的輸入與輸出都有嚴(yán)格的格式,輸入數(shù)據(jù)的是scanf()和gets()兩個(gè)函數(shù),不同的情況應(yīng)使用的函數(shù)也不同。數(shù)據(jù)輸出的printf()和puts()同樣也有兩種不同的情況。只有對(duì)應(yīng)使用合理的函數(shù)才能出現(xiàn)正確的答案。在生活中應(yīng)該嚴(yán)格要求自己,力求做到每一步都認(rèn)真、嚴(yán)謹(jǐn),養(yǎng)成良好的生活習(xí)慣。
遞歸就是循環(huán)定義和自我引用的過程。函數(shù)定義中直接或間接地調(diào)用了本函數(shù),必定存在可使遞歸調(diào)用終止的條件,否則導(dǎo)致出現(xiàn)無限遞歸。也可以將過程理解為自我復(fù)制。遞歸就像學(xué)習(xí)的過程,剛開始覺得學(xué)著沒用,但是通過長時(shí)間的學(xué)習(xí),你會(huì)發(fā)現(xiàn)你所學(xué)習(xí)的內(nèi)容與接下來的內(nèi)容環(huán)環(huán)相扣,缺一不可。日復(fù)一日地學(xué)習(xí)與將來的成功分離不開。
數(shù)組是由一系列數(shù)據(jù)類型相同的元素組成,數(shù)組里每個(gè)元素具有索引下標(biāo),方便查找和操作。將許多單個(gè)的元素聚集在一起作為一個(gè)整體進(jìn)行數(shù)據(jù)的傳遞或操作,這提高了編程的效率和程序代碼的質(zhì)量。這蘊(yùn)意著,同學(xué)們應(yīng)該要有集體意識(shí),很多時(shí)候個(gè)體的單獨(dú)行動(dòng)效果是不好的、煩瑣的,而集體的行動(dòng)能有較好的效果,提高了效率,也更具有力量。所以,應(yīng)該明白集體意識(shí)的重要性,團(tuán)結(jié)在一起的重要性,不能個(gè)人主義,要熱愛集體、熱愛國家。
鏈表是一種比較基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu),有兩種情況:一種是空,另外一種是有指向。由于鏈表不用連續(xù)存儲(chǔ),動(dòng)態(tài)開辟內(nèi)存不會(huì)造成空間的浪費(fèi)。鏈表相當(dāng)于一個(gè)更方便的數(shù)組。鏈表的使用應(yīng)該具有算法思想,鏈表較于數(shù)組刪除和增加都是方便的。在做事時(shí)應(yīng)該像鏈表一樣,動(dòng)態(tài)分配,不造成浪費(fèi)。
當(dāng)面對(duì)一個(gè)實(shí)際的系統(tǒng)編程任務(wù)時(shí),通常并非把所有代碼全部寫在main()函數(shù)里,一般是要將任務(wù)進(jìn)行“自頂向下、逐步細(xì)化”,會(huì)將任務(wù)進(jìn)行功能分解,定義很多不同的函數(shù),每個(gè)函數(shù)專門負(fù)責(zé)實(shí)現(xiàn)某一功能。最后,通過對(duì)各種函數(shù)的調(diào)用來實(shí)現(xiàn)所需求實(shí)現(xiàn)的任務(wù)。將某功能專門定義為一個(gè)函數(shù),這可以提高編碼的效率、降低代碼的冗余,提升代碼的整體框架結(jié)構(gòu)、使其更清晰更富有邏輯。這樣的一個(gè)編程思維和函數(shù)的定義體現(xiàn)出了“工匠精神”中的敬業(yè)、精益和專注,同學(xué)們也應(yīng)該具有這樣的工匠精神。
循環(huán)控制語句是對(duì)循環(huán)體進(jìn)行多次的循環(huán),循環(huán)的重復(fù)猶如朝九晚五的人們每天重復(fù)同樣的事,但是只要日復(fù)一日地做一定會(huì)有個(gè)結(jié)果。如果你每天愿意去實(shí)踐書本、案例中的代碼,最終你的思維廣度與別人也會(huì)不同。
在課程教學(xué)中融入思政元素,是一個(gè)長久、不斷更新迭代、不斷完善的過程,本文對(duì)《C語言程序設(shè)計(jì)》這門課程融入思政教學(xué)進(jìn)行了探索,羅列了一些C語言中代表性的知識(shí)點(diǎn)與思政融合的案例,供讀者們參考。