吳海峰,張翠娟
(安慶師范大學(xué)計(jì)算機(jī)與信息學(xué)院,安徽安慶246133)
習(xí)近平總書(shū)記在全國(guó)高校思政工作會(huì)議上強(qiáng)調(diào),高校思想政治工作關(guān)系高校培養(yǎng)什么樣的人、如何培養(yǎng)人、為誰(shuí)培養(yǎng)人這個(gè)根本問(wèn)題[1]。傳統(tǒng)觀念認(rèn)為,思政教育是思政課程的責(zé)任,跟專業(yè)課程沒(méi)有關(guān)系。然而,專業(yè)課程也包含了大量的思政教育的元素,課程思政建設(shè)是解決培養(yǎng)人問(wèn)題的重要舉措。2020年5月,教育部印發(fā)《高等學(xué)校課程思政建設(shè)指導(dǎo)綱要》[2],指出工學(xué)類專業(yè)課程,“要注重強(qiáng)化學(xué)生工程倫理教育,培養(yǎng)學(xué)生精益求精的大國(guó)工匠精神,激發(fā)學(xué)生科技報(bào)國(guó)的家國(guó)情懷和使命擔(dān)當(dāng)”。結(jié)合課程特點(diǎn)和專業(yè)特性,深入挖掘?qū)I(yè)課程的思政內(nèi)涵,是每位教師應(yīng)該承擔(dān)的責(zé)任和使命。通過(guò)分析和深入挖掘,“C語(yǔ)言程序設(shè)計(jì)”課程思政教育的內(nèi)涵應(yīng)包含[3-9]:(1)樹(shù)立社會(huì)主義核心價(jià)值觀,(2)培養(yǎng)精益求精的工匠精神,(3)培養(yǎng)團(tuán)隊(duì)協(xié)作精神和創(chuàng)新意識(shí),(4)強(qiáng)化工程倫理教育。本文通過(guò)闡述在“C語(yǔ)言程序設(shè)計(jì)”的各教學(xué)環(huán)節(jié)如何開(kāi)展課程思政教學(xué),充分展示專業(yè)課程所蘊(yùn)含的思政元素和所承載的思政教育功能。
在導(dǎo)入新課時(shí),結(jié)合與知識(shí)點(diǎn)相關(guān)的當(dāng)前新聞熱點(diǎn)事件或者歷史事件,展開(kāi)分析和挖掘事件背后的思政元素,引導(dǎo)學(xué)生樹(shù)立社會(huì)主義核心價(jià)值觀,在潛移默化中完成思政教育。下面結(jié)合“數(shù)組的應(yīng)用——加密與解密”來(lái)進(jìn)行詳細(xì)闡述。
通過(guò)復(fù)習(xí)數(shù)組的定義和性質(zhì),總結(jié)數(shù)組的特征:“同一數(shù)組內(nèi)的元素,數(shù)據(jù)類型相同”,從而引出對(duì)抗擊新冠肺炎疫情的人民戰(zhàn)爭(zhēng)中涌現(xiàn)出的英雄人物的分組。通過(guò)講述中國(guó)政府在抗擊新冠疫情的快速反應(yīng)和有效舉措,與西方國(guó)家進(jìn)行對(duì)比,讓學(xué)生體會(huì)社會(huì)主義制度的優(yōu)越性,激發(fā)學(xué)生的愛(ài)國(guó)情懷。在展示英雄人物圖片時(shí),介紹英雄人物的感人事跡,激勵(lì)學(xué)生向英雄人物學(xué)習(xí),運(yùn)用自己的專業(yè)知識(shí)和技能為國(guó)家和人民做貢獻(xiàn)。
通過(guò)設(shè)問(wèn)“那么各組英雄人物的信息在計(jì)算機(jī)中是怎樣存儲(chǔ)的?”和回答“各組英雄人物的信息可以用數(shù)組來(lái)進(jìn)行存儲(chǔ),但是在數(shù)據(jù)存儲(chǔ)和網(wǎng)絡(luò)傳輸?shù)倪^(guò)程中,容易出現(xiàn)信息泄露”,自然過(guò)渡到由信息泄露引起的網(wǎng)絡(luò)安全問(wèn)題。
通過(guò)介紹全球信息泄露問(wèn)題的發(fā)展趨勢(shì)和2019年的兩起知名信息泄露事件(Elasticsearch數(shù)據(jù)庫(kù)泄露事件和Facebook 8 700萬(wàn)用戶信息泄露事件),引出習(xí)近平總書(shū)記關(guān)于網(wǎng)絡(luò)安全問(wèn)題的重要講話“沒(méi)有網(wǎng)絡(luò)安全就沒(méi)有國(guó)家安全,沒(méi)有信息化就沒(méi)有現(xiàn)代化”,將網(wǎng)絡(luò)安全提高到國(guó)家安全的戰(zhàn)略高度。對(duì)學(xué)生進(jìn)行網(wǎng)絡(luò)安全意識(shí)教育,很自然地介紹幾種常見(jiàn)的網(wǎng)絡(luò)安全技術(shù),指出信息加密技術(shù)是最基礎(chǔ)的網(wǎng)絡(luò)安全技術(shù),引入教學(xué)主題:用數(shù)組實(shí)現(xiàn)信息的加密與解密。
在教學(xué)過(guò)程中,通過(guò)算法分析和代碼實(shí)現(xiàn),分為兩個(gè)層次逐步培養(yǎng)學(xué)生精益求精的工匠精神。
通過(guò)實(shí)例帶領(lǐng)學(xué)生詳細(xì)分析算法的實(shí)現(xiàn)過(guò)程,啟發(fā)學(xué)生完成算法設(shè)計(jì),并在C語(yǔ)言編譯環(huán)境下編寫代碼,直至調(diào)試正確。在帶領(lǐng)學(xué)生編寫代碼的過(guò)程中,通過(guò)標(biāo)識(shí)符的命名規(guī)則、代碼的縮進(jìn)控制、注釋的添加等各種規(guī)范,培養(yǎng)學(xué)生良好的編程風(fēng)格。下面結(jié)合信息加密問(wèn)題來(lái)詳細(xì)闡述。
【問(wèn)題描述】用數(shù)組實(shí)現(xiàn)四位整型數(shù)據(jù)的加密和解密算法。加密規(guī)則:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。
【算法分析】首先舉例n=3 456,帶領(lǐng)學(xué)生使用加密規(guī)則進(jìn)行加密,逐步得到加密結(jié)果1098。然后通過(guò)加密實(shí)現(xiàn)的過(guò)程,啟發(fā)學(xué)生得出算法步驟:
(1)加密函數(shù)的形參定義為整型變量n;
(2)使用循環(huán)結(jié)構(gòu)分離出n 的各位數(shù)字,存儲(chǔ)在數(shù)組code 中(n 的個(gè)、十、百、千位依次存儲(chǔ)在code[0]、code[1]、code[2]、code[3]中),同時(shí)用每位數(shù)字加上5、再除以10的余數(shù)代替該數(shù)字;
(3)使用循環(huán)結(jié)構(gòu)將經(jīng)過(guò)加密處理的各位數(shù)字重新組合成加密后的新數(shù)字,注意計(jì)算時(shí)依次將code[0]、code[1]、code[2]和code[3]作為新數(shù)字的千、百、十、個(gè)位。
在講解算法第(2)步時(shí),提問(wèn):怎樣把一個(gè)整數(shù)的每一位分離出來(lái)?通過(guò)學(xué)生的回答了解學(xué)生對(duì)這一問(wèn)題的掌握程度,然后舉例進(jìn)行詳細(xì)分析,提煉出解決問(wèn)題的算法,帶領(lǐng)學(xué)生編寫函數(shù)代碼。
通過(guò)啟發(fā)式講授和互動(dòng)式教學(xué),將傳統(tǒng)“以老師為中心”的課堂轉(zhuǎn)化成“以學(xué)生為中心”的課堂,教師的作用從“主講”變成“主導(dǎo)”,學(xué)生從“被動(dòng)學(xué)”變成“主動(dòng)學(xué)”。
在解決C語(yǔ)言中的典型問(wèn)題時(shí),倡導(dǎo)一題多解,通過(guò)比較不同算法的執(zhí)行效率,真正做到精益求精。下面結(jié)合數(shù)據(jù)排序問(wèn)題來(lái)進(jìn)行詳細(xì)闡述。
【問(wèn)題描述】將10個(gè)整數(shù)按照從小到大的順序排序。
借鑒學(xué)過(guò)的求最小值的方法,通過(guò)舉例演示排序過(guò)程,引導(dǎo)學(xué)生逐步總結(jié)出交換排序算法。通過(guò)數(shù)據(jù)演示發(fā)現(xiàn),在每一輪找未排序數(shù)據(jù)的最小值、放到前面的過(guò)程中,要進(jìn)行多次數(shù)據(jù)交換,算法的效率比較低。
經(jīng)過(guò)分析發(fā)現(xiàn),其實(shí)每一輪比較和交換都只需確定一個(gè)最小值,無(wú)需進(jìn)行多次數(shù)據(jù)交換。優(yōu)化后的算法:只要在每一輪比較中,記錄最小值所在數(shù)組下標(biāo),跟未排序數(shù)據(jù)的第一個(gè)進(jìn)行交換即可。進(jìn)一步,若未排序數(shù)據(jù)的第一個(gè)就是最小值,則無(wú)需交換。這就是選擇排序算法。
然后,從理論上分析比較兩種排序算法的效率。交換排序算法的數(shù)據(jù)交換在雙重循環(huán)的內(nèi)循環(huán)中,N個(gè)數(shù)據(jù)排序,最壞情況下交換次數(shù)為(N-1)+(N-2)+…+1=N(N-1)/2;而選擇排序算法的數(shù)據(jù)交換在雙重循環(huán)的外循環(huán)中,N個(gè)數(shù)據(jù)排序,最壞情況下交換次數(shù)為N-1。兩種排序算法的效率相差很大,所以在遇到復(fù)雜問(wèn)題時(shí)要多思考,不能僅僅滿足于解決問(wèn)題,還要對(duì)原有算法進(jìn)行優(yōu)化或者找到效率更高的算法,做到精益求精。
在項(xiàng)目教學(xué)實(shí)訓(xùn)時(shí),將班級(jí)分成若干小組,每組4人左右,分工完成各項(xiàng)任務(wù)。通過(guò)小組內(nèi)部合作,培養(yǎng)學(xué)生的團(tuán)隊(duì)合作精神;通過(guò)各小組之間的評(píng)比,培養(yǎng)學(xué)生的競(jìng)爭(zhēng)意識(shí)和創(chuàng)新意識(shí)。下面結(jié)合大數(shù)運(yùn)算項(xiàng)目實(shí)訓(xùn)來(lái)詳細(xì)闡述。
【項(xiàng)目描述】大數(shù)運(yùn)算在科學(xué)計(jì)算中大量存在,例如,大數(shù)的加減乘除運(yùn)算,整數(shù)求階乘等。本項(xiàng)目要求計(jì)算100!,并顯示其結(jié)果。
因?yàn)轫?xiàng)目的難度較大,在布置任務(wù)時(shí),帶領(lǐng)學(xué)生分析項(xiàng)目實(shí)現(xiàn)的關(guān)鍵點(diǎn)和解決方法。
關(guān)鍵點(diǎn)1:100!的計(jì)算結(jié)果如何存儲(chǔ)?
解決方法:可采用數(shù)組存儲(chǔ),數(shù)組中每個(gè)元素表示100!結(jié)果中的一位數(shù)字。
關(guān)鍵點(diǎn)2:如何確定100!的結(jié)果一共有多少位數(shù)字,即數(shù)組應(yīng)該有多少個(gè)元素?
解決方法:假設(shè)10M-1<100!<10M,則不小于M的最小整數(shù)就是100!的結(jié)果中的位數(shù),對(duì)該式兩邊取對(duì)數(shù),有:M-1 關(guān)鍵點(diǎn)3:如何實(shí)現(xiàn)用數(shù)組存儲(chǔ)的大整數(shù)的運(yùn)算? 解決方法:數(shù)組的第一個(gè)元素看作100!結(jié)果的最低位,最后一個(gè)元素看作最高位。數(shù)組初始化時(shí),令數(shù)組第一個(gè)元素為整數(shù)1,其余為0。把數(shù)組中元素的值組成的數(shù)字看作階乘計(jì)算的結(jié)果,計(jì)算100!時(shí)就是將數(shù)組中每個(gè)元素依次乘以2、3、4、…、100的方式得到,將數(shù)組每個(gè)元素每次的乘積存回?cái)?shù)組,若數(shù)組元素中的數(shù)值超過(guò)10,則需要進(jìn)位。 在解決方法的基礎(chǔ)上,鼓勵(lì)學(xué)生進(jìn)行完善、改進(jìn)和創(chuàng)新,提出更好的解決方案。然后對(duì)項(xiàng)目任務(wù)進(jìn)一步明確:項(xiàng)目功能分析、模塊設(shè)計(jì)、算法設(shè)計(jì)與流程圖、代碼實(shí)現(xiàn)與調(diào)試、總結(jié)報(bào)告撰寫和程序演示與匯報(bào)答辯。要求各小組自己分工,最后進(jìn)行匯報(bào)答辯、驗(yàn)收和評(píng)比。評(píng)比時(shí)由各小組互相點(diǎn)評(píng)打分,說(shuō)明項(xiàng)目的優(yōu)缺點(diǎn),引導(dǎo)學(xué)生進(jìn)一步思考,創(chuàng)造良性競(jìng)爭(zhēng)環(huán)境,鼓勵(lì)公平競(jìng)爭(zhēng)。 通過(guò)演示算法應(yīng)用,體會(huì)算法的實(shí)際效果,加深對(duì)算法的理解,進(jìn)一步拓展教學(xué)內(nèi)容,向?qū)W生介紹與算法相關(guān)的前沿技術(shù)。結(jié)合國(guó)家的產(chǎn)業(yè)布局和發(fā)展戰(zhàn)略,激勵(lì)學(xué)生努力學(xué)習(xí),將來(lái)投身到國(guó)家的信息科技和產(chǎn)業(yè)中。同時(shí),結(jié)合相關(guān)的典型事例,強(qiáng)化工程倫理教育。下面結(jié)合加密與解密算法的應(yīng)用來(lái)詳細(xì)闡述。 運(yùn)用字符串加密算法對(duì)專家的姓名、聯(lián)系電話等信息進(jìn)行加密,運(yùn)用整型數(shù)據(jù)加密算法對(duì)專家的出生年份等信息進(jìn)行加密。程序演示過(guò)程如下:首先,輸出專家的各項(xiàng)明文信息;接著,使用信息加密算法加密,輸出加密后的密文信息,通過(guò)明文信息和密文信息的對(duì)比,體會(huì)加密算法的效果;最后,使用解密算法,對(duì)密文信息進(jìn)行解密得到明文信息,與原始明文信息進(jìn)行對(duì)比,驗(yàn)證解密算法的正確性。通過(guò)程序演示,讓學(xué)生更加形象地體會(huì)到加密算法和解密算法的效果,既鍛煉了學(xué)生的編程實(shí)踐能力,又增強(qiáng)了學(xué)生的個(gè)人隱私保護(hù)意識(shí)。 總結(jié)加密解密過(guò)程,指出信息加密是最基礎(chǔ)的網(wǎng)絡(luò)安全技術(shù),自然過(guò)渡到前沿網(wǎng)絡(luò)安全技術(shù)——區(qū)塊鏈技術(shù)。首先,簡(jiǎn)要介紹區(qū)塊鏈技術(shù)的概念和特點(diǎn),舉一個(gè)通俗易懂的例子,說(shuō)明區(qū)塊鏈技術(shù)為什么能夠保證信息安全。然后,介紹區(qū)塊鏈技術(shù)在銀行業(yè)、供應(yīng)鏈管理、防保險(xiǎn)欺詐、身份識(shí)別和慈善事業(yè)等多個(gè)領(lǐng)域的應(yīng)用,教育學(xué)生要運(yùn)用先進(jìn)的技術(shù)來(lái)提高生產(chǎn)力、服務(wù)社會(huì)、保障廣大民眾的權(quán)益和隱私不受侵犯等。最后,引入習(xí)近平總書(shū)記在中央政治局第十八次集體學(xué)習(xí)時(shí)的講話精神,習(xí)近平總書(shū)記強(qiáng)調(diào),把區(qū)塊鏈作為核心技術(shù)自主創(chuàng)新重要突破口,加快推動(dòng)區(qū)塊鏈技術(shù)和產(chǎn)業(yè)創(chuàng)新發(fā)展,以此激勵(lì)學(xué)生認(rèn)真學(xué)習(xí)科學(xué)文化知識(shí),關(guān)心信息技術(shù)的最新發(fā)展動(dòng)態(tài),關(guān)心國(guó)家大事,為實(shí)現(xiàn)中華民族偉大復(fù)興而努力奮斗。 教書(shū)育人是教師的天職,而課程思政教育是育人的重要手段。高校教師尤其是工科教師,要在教學(xué)過(guò)程中有意識(shí)地實(shí)施課堂思政教育,在教學(xué)時(shí)找準(zhǔn)切入點(diǎn),做好教學(xué)設(shè)計(jì),將思政教育滲透到相應(yīng)的教學(xué)環(huán)節(jié)中,真正做到“潤(rùn)物細(xì)無(wú)聲”。本文深入挖掘了“C語(yǔ)言程序設(shè)計(jì)”課程的思政內(nèi)涵,詳細(xì)闡述了在各教學(xué)環(huán)節(jié)中開(kāi)展課程思政的過(guò)程并舉例說(shuō)明。教學(xué)實(shí)踐表明,在教學(xué)中開(kāi)展課程思政教育,不但沒(méi)有沖淡專業(yè)教學(xué)內(nèi)容,而且激發(fā)了學(xué)生的學(xué)習(xí)熱情,課程思政教育和專業(yè)教育相輔相成,對(duì)同類課程乃至其他工科課程開(kāi)展思政課程教學(xué)具有一定的參考價(jià)值。4 演示算法應(yīng)用,介紹前沿技術(shù),強(qiáng)化工程倫理教育
5 總 結(jié)