李靜 李炳超
摘要:面向計算思維培養(yǎng)的計算機(jī)基礎(chǔ)教育是國內(nèi)外各大高校的教育共識。當(dāng)前我校C語言公共基礎(chǔ)課程教學(xué)存在一些問題,比如沒有關(guān)注學(xué)生的專業(yè)背景和學(xué)習(xí)需求,不能滿足學(xué)生的多元化個性化發(fā)展?;谡n程中計算思維的體現(xiàn)方式,在新工科人才培養(yǎng)和學(xué)科融合的大背景下,對C語言程序設(shè)計課程進(jìn)行改革研究,結(jié)合專業(yè)背景制定教學(xué)內(nèi)容、設(shè)計教學(xué)方法和實(shí)踐案例,提高授課學(xué)生計算思維能力的培養(yǎng)質(zhì)量和水平。
關(guān)鍵詞:計算思維能力培養(yǎng);C語言程序設(shè)計課程;學(xué)科融合;新工科人才培養(yǎng);課程改革
中圖分類號:TP311? ? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2022)18-0132-02
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
隨著計算機(jī)信息化技術(shù)在現(xiàn)代社會的應(yīng)用普及,面向計算思維能力培養(yǎng)的計算機(jī)基礎(chǔ)教育,逐漸成為國內(nèi)外各大高校的教育共識。計算機(jī)程序設(shè)計課程處于計算機(jī)基礎(chǔ)教育三個層次(大學(xué)計算機(jī)基礎(chǔ)、計算機(jī)程序設(shè)計基礎(chǔ)、計算機(jī)應(yīng)用基礎(chǔ))中的第二層,起到承上啟下的關(guān)鍵作用,是非常重要的一門課程。通過完整的學(xué)習(xí)一門程序設(shè)計語言,學(xué)生能夠理解計算機(jī)解決問題的方式,實(shí)現(xiàn)從數(shù)學(xué)思維到計算思維的轉(zhuǎn)換,并能夠應(yīng)用計算機(jī)程序解決工作和生活中的實(shí)際問題。C語言作為一種編程語言,具有使用靈活、表達(dá)能力強(qiáng)、功能豐富、執(zhí)行效率高等特點(diǎn),一直以來都是程序設(shè)計人員必須掌握的一種編程語言,同時也是大部分國內(nèi)高校理工科學(xué)生必修的計算機(jī)程序設(shè)計課程。
《C語言程序設(shè)計》作為我校非計算機(jī)專業(yè)的理工類學(xué)生的一門計算機(jī)程序設(shè)計類課程,是培養(yǎng)大學(xué)生計算思維能力的重要途徑,它的教學(xué)模式和教學(xué)方法需要與新時代新工科對理工類人才培養(yǎng)的要求相適應(yīng)。本論文針對當(dāng)前我校C語言公共基礎(chǔ)課程教學(xué)的現(xiàn)狀和存在的問題,基于C語言程序設(shè)計課程中計算思維的體現(xiàn)方式,在新工科人才培養(yǎng)和學(xué)科融合的背景下,對C語言程序設(shè)計課程進(jìn)行改革研究,加強(qiáng)對學(xué)生科學(xué)行為能力的培養(yǎng)[1]。具體做法是,結(jié)合專業(yè)背景制定教學(xué)內(nèi)容、設(shè)計教學(xué)方法和實(shí)踐案例,提高授課學(xué)生計算思維能力的培養(yǎng)質(zhì)量和水平。
1 計算思維的含義
早在2006年,美國的周以真教授就正式提出了計算思維的概念[2],周教授將計算思維的定義解釋為:采用計算的概念解決問題、設(shè)計系統(tǒng)和理解人的行為的一種方法。隨后,國內(nèi)外學(xué)者也紛紛從自身的學(xué)科背景出發(fā)對計算思維的概念展開了多維度的補(bǔ)充說明。2019年,北京師范大學(xué)的羅海風(fēng)博士等人[3]基于三個方面的視角對計算思維的定義進(jìn)行了補(bǔ)充說明:(1)在基于跨學(xué)科、多領(lǐng)域融合的綜合視角下,計算思維既可以用來解決專業(yè)技術(shù)上的問題,也能夠處理日常生活上的問題;(2)在基于編程基礎(chǔ)的專業(yè)視角下,計算思維等價于程序思維,核心內(nèi)容是編程方法,目的是把實(shí)際問題分解為多步可操作的程序語句;(3)在基于算法、語言等表征下的功能視角下,計算思維關(guān)注抽象事物間的聯(lián)系,通過對抽象事物的自動化,降低問題的復(fù)雜性從而解決問題。
具體到C語言程序設(shè)計課程,對計算思維的培養(yǎng)體現(xiàn)在課程與其他學(xué)科的交叉和融合上,當(dāng)前無論是新工科、新文科、新醫(yī)科還是新農(nóng)科,其中的“新”是指創(chuàng)建新的學(xué)科或者是對傳統(tǒng)的學(xué)科進(jìn)行重構(gòu)和改革,調(diào)整教學(xué)內(nèi)容,進(jìn)行技術(shù)融合、學(xué)科交叉、產(chǎn)教結(jié)合,在學(xué)科交叉和教學(xué)內(nèi)容重構(gòu)的過程中,需要重點(diǎn)培養(yǎng)學(xué)生的計算思維能力。在新工科的發(fā)展環(huán)境下,培養(yǎng)非計算機(jī)專業(yè)的大學(xué)生的計算思維能力非常重要。
2 C語言課程的教學(xué)現(xiàn)狀
在我校大部分的非計算機(jī)專業(yè)的理工類學(xué)生都要學(xué)習(xí)C語言程序設(shè)計課程,課程設(shè)置在大學(xué)生入學(xué)后的第二個學(xué)期,在課程的教學(xué)過程中,存在以下幾個方面的問題:
(1)選課的學(xué)生來自全國各個地區(qū),學(xué)生的數(shù)學(xué)基礎(chǔ)和計算機(jī)理論基礎(chǔ)參差不齊。有些學(xué)生在中學(xué)階段就已經(jīng)學(xué)習(xí)了計算機(jī)文化課程,而有些地區(qū)的學(xué)生在進(jìn)入大學(xué)之前從來沒有接觸過電腦。C語言程序設(shè)計課程是一門理論和實(shí)踐并重的課程,既需要學(xué)生掌握語法規(guī)則方面的理論知識,更需要學(xué)生通過上機(jī)實(shí)踐驗證程序的正確性和可行性。不同性格的學(xué)生對這類課程的態(tài)度不盡相同,有些學(xué)生喜歡挑戰(zhàn),遇到困難和問題樂意鉆研、不斷嘗試,而還有一些學(xué)生害怕挫折,遇到錯誤不知所措,不善于自我解決問題和更正錯誤。
(2)目前C語言程序設(shè)計課程對我校不同學(xué)科和專業(yè)的學(xué)生,制定的教學(xué)計劃、教學(xué)內(nèi)容、以及教學(xué)方法幾乎是相同的,沒有關(guān)注學(xué)生的專業(yè)背景和學(xué)習(xí)需求,沒有做到計算機(jī)基礎(chǔ)課程與其他學(xué)科和專業(yè)的結(jié)合,無法實(shí)現(xiàn)對學(xué)生計算思維能力的培養(yǎng),不能適應(yīng)新工科對人才培養(yǎng)的要求,也無法滿足選課學(xué)生的多元化個性化發(fā)展的需要。在C語言課程的教學(xué)過程中,要以計算思維能力的培養(yǎng)為目標(biāo),加強(qiáng)與其他學(xué)科專業(yè)的融合,培養(yǎng)學(xué)生養(yǎng)成良好的學(xué)習(xí)習(xí)慣,鍛煉和強(qiáng)化學(xué)生的計算思維能力以及自我思考和解決問題的能力。
(3)理論教學(xué)和實(shí)踐教學(xué)沒有很好地融合。在理論課時,授課老師往往重點(diǎn)關(guān)注C語言編程的語法規(guī)則,而且C語言的特點(diǎn)就是語法規(guī)則繁多,由于課時受限,老師們沒有充分時間講解程序算法的設(shè)計和分析過程。實(shí)踐課時,老師安排學(xué)生根據(jù)實(shí)踐教材進(jìn)行程序設(shè)計,課程安排緊湊,學(xué)生沒有時間和動力消化理論課程的知識,直接在實(shí)踐課上動手編寫程序,使得學(xué)生學(xué)習(xí)起來感覺到困難,漸漸失去對C語言的學(xué)習(xí)興趣。
3 面向計算思維培養(yǎng)的課程改革嘗試
3.1多樣化的教學(xué)內(nèi)容設(shè)計
正如南昌工程學(xué)院的葉軍教授所說[4],C語言程序設(shè)計課程的教學(xué)目標(biāo)主要有兩個:第一個目標(biāo)是理解計算機(jī)求解問題的方式方法,并把它應(yīng)用到工作和生活中,弱化語法規(guī)則,強(qiáng)調(diào)解決問題的過程和方法;第二個目標(biāo)是學(xué)習(xí)程序的設(shè)計方法和解決思路,能設(shè)計C語言程序解決實(shí)際問題,重視解決問題的過程。第一個目標(biāo)是弱化語法規(guī)則,關(guān)注問題解決的思路和過程(即“計算思維”),大多數(shù)學(xué)生都需要達(dá)到這個教學(xué)目標(biāo);第二個目標(biāo)要求注重程序的設(shè)計方法,同時關(guān)注問題解決過程的語法規(guī)則,面向的是少數(shù)數(shù)學(xué)基礎(chǔ)較好、喜歡編程的學(xué)生。
整個課程總共有13個教學(xué)章節(jié):前三章內(nèi)容分別是“為什么學(xué)習(xí)C語言”“C語言數(shù)據(jù)類型”和“算術(shù)運(yùn)算和表達(dá)式”,主要的教學(xué)目標(biāo)是通過基本知識和表達(dá)式的學(xué)習(xí),培養(yǎng)學(xué)生的計算思維意識;緊跟在后面的三章內(nèi)容分別是“順序結(jié)構(gòu)”“選擇控制結(jié)構(gòu)”和“循環(huán)控制結(jié)構(gòu)”,主要目標(biāo)是通過C語言基本語句和控制結(jié)構(gòu)的學(xué)習(xí),培養(yǎng)學(xué)生的計算思維方法;最后幾章內(nèi)容分別是“函數(shù)”“數(shù)組”“指針”“字符串”“指針和數(shù)組”“結(jié)構(gòu)體和共用體”以及“文件操作”,主要教學(xué)目標(biāo)是通過數(shù)組、指針等數(shù)據(jù)結(jié)構(gòu)算法的學(xué)習(xí),培養(yǎng)學(xué)生的問題求解思維。
在現(xiàn)有的教學(xué)內(nèi)容中,沒有關(guān)注與選課學(xué)生學(xué)科的具體融合[5],難以激發(fā)授課學(xué)生的學(xué)習(xí)積極性,難以深入培養(yǎng)學(xué)生的計算思維能力。通過調(diào)研不同學(xué)科專業(yè)對C語言課程學(xué)習(xí)內(nèi)容的不同需求,教學(xué)團(tuán)隊可以結(jié)合授課學(xué)生的專業(yè)背景采用多樣化的教學(xué)方案。比如,針對材料化學(xué)、油氣儲運(yùn)等專業(yè)的學(xué)生,前六章是重點(diǎn)講授的教學(xué)內(nèi)容,目標(biāo)是加強(qiáng)培養(yǎng)學(xué)生的計算思維意識和計算思維方法;針對飛行器動力、飛行器制造等專業(yè)的學(xué)生,前八章是重點(diǎn)講授的教學(xué)內(nèi)容,目標(biāo)是側(cè)重于程序設(shè)計和實(shí)現(xiàn)、解決專業(yè)相關(guān)的實(shí)際應(yīng)用問題;針對電子信息工程、航空電氣等電子通信類專業(yè)的學(xué)生,前十一章是重點(diǎn)講授的教學(xué)內(nèi)容,強(qiáng)調(diào)程序設(shè)計的方法和調(diào)試糾錯技巧,以及數(shù)據(jù)結(jié)構(gòu)和算法等計算機(jī)理論知識。
因為我校是民航特色專業(yè)院校,為了提高學(xué)生的專業(yè)認(rèn)同度和學(xué)習(xí)興趣,課程組特意設(shè)計了一些與學(xué)科專業(yè)融合的教學(xué)案例。例如,在學(xué)習(xí)選擇控制結(jié)構(gòu)時,設(shè)計如圖1所示的案例。
3.2面向計算思維培養(yǎng)的教學(xué)方法
為了提高學(xué)生的學(xué)習(xí)效率,我們可以結(jié)合各種教育媒體輔助教學(xué)活動[6]。教學(xué)團(tuán)隊將課程的知識點(diǎn)進(jìn)行碎片化分解,錄制成了“微課”,放置在網(wǎng)絡(luò)學(xué)習(xí)平臺(智慧樹平臺)上,學(xué)生可以在課外時間利用手機(jī)在碎片時間里進(jìn)行自主學(xué)習(xí),這種方式是課堂教學(xué)活動的有效補(bǔ)充。錄制“微課”視頻的時候,教學(xué)團(tuán)隊考慮了幾個方面:(1)知識點(diǎn)的劃分要有助于學(xué)生計算思維模式的形成,即能讓學(xué)生掌握知識點(diǎn)又能培養(yǎng)學(xué)生的計算思維意識;(2)每個視頻的知識點(diǎn)要具有完整性,能夠包含某個知識點(diǎn)的全部內(nèi)容,不能過于零散,否則不利于學(xué)生形成對知識點(diǎn)的綜合認(rèn)識;(3)所有的視頻要涵蓋教學(xué)大綱中規(guī)定的所有教學(xué)內(nèi)容,方便學(xué)生課前預(yù)習(xí)和課后的復(fù)習(xí)。比如,我們在第二章“C數(shù)據(jù)類型”部分,共錄制了三個視頻“微課”,分別講授“數(shù)據(jù)類型”“常量與變量”以及“進(jìn)制的轉(zhuǎn)換”,每個視頻都大約10分鐘,完整介紹了一個知識點(diǎn),即方便學(xué)生利用碎片化的時間進(jìn)行學(xué)習(xí),也有利于學(xué)生快速系統(tǒng)地掌握完整的語法知識點(diǎn)。
這種課外的自主學(xué)習(xí)只是課堂教學(xué)的輔助手段,教師還需要在課堂上結(jié)合知識點(diǎn)和學(xué)生提出的問題進(jìn)行有效引導(dǎo),加強(qiáng)對知識的鞏固和延伸。為了適應(yīng)“新工科”對人才的需求,教學(xué)團(tuán)隊改進(jìn)教學(xué)方法,在教學(xué)過程中,強(qiáng)調(diào)學(xué)生實(shí)際解決問題、完成項目的能力培養(yǎng),教師要輔助引導(dǎo)學(xué)生完成任務(wù)。在講解具體案例時,通過以下幾個步驟幫助學(xué)生養(yǎng)成計算思維的能力:(1)首先,引導(dǎo)學(xué)生對問題進(jìn)行抽象建模,分析題目需要處理的數(shù)據(jù)概念模型;(2)然后,引導(dǎo)學(xué)生將抽象模型轉(zhuǎn)換為C語言的數(shù)據(jù)結(jié)構(gòu)模型;(3)最后,再引導(dǎo)學(xué)生將數(shù)據(jù)結(jié)構(gòu)模型用C語言代碼實(shí)現(xiàn)出來。
3.3強(qiáng)化計算思維能力的實(shí)踐教學(xué)
C語言程序設(shè)計是一門高級程序設(shè)計語言,學(xué)生的編程能力只能通過一個又一個的上機(jī)實(shí)驗,不斷地編碼、調(diào)試、總結(jié)反思而逐步提高。為了培養(yǎng)學(xué)生的計算思維能力、鍛煉學(xué)生的實(shí)踐編程能力,課程組老師規(guī)范了C語言實(shí)驗課的上機(jī)流程,幫助學(xué)生養(yǎng)成良好的思維能力和編程習(xí)慣。每次上機(jī)實(shí)踐課之前,把練習(xí)題目布置給學(xué)生,要求他們利用空閑時間分析題目并擬定解決方案,最好是把代碼初步寫出來。上課時,適度抽查學(xué)生課前工作的完成情況,學(xué)生敲入代碼進(jìn)行調(diào)試,不斷完善問題的解決方案,最后完成題目。在實(shí)踐過程中,學(xué)生會遇到各種各樣的程序錯誤,任課老師要及時給予指導(dǎo)和幫助,引導(dǎo)學(xué)生掌握調(diào)試方法,糾正程序中的語法錯誤和邏輯錯誤。
為了幫助學(xué)生提高實(shí)踐能力,課程組開發(fā)了在線作業(yè)提交系統(tǒng),實(shí)現(xiàn)程序代碼的在線提交和自動檢驗。在作業(yè)提交系統(tǒng)中,課程組以計算思維的核心概念為依據(jù),突出學(xué)科融合型內(nèi)容,針對不同學(xué)科設(shè)計補(bǔ)充一些課后實(shí)踐案例。同時,根據(jù)學(xué)生編程能力的不同,設(shè)置難易程度有差異的例題,以供學(xué)生自由選擇練習(xí)。
4 總結(jié)
培養(yǎng)學(xué)生的計算思維能力,是高校計算機(jī)基礎(chǔ)課程的教學(xué)目標(biāo)。針對傳統(tǒng)講授模式下,教師是教學(xué)主體、學(xué)生被動接受、學(xué)習(xí)效果不佳的教學(xué)現(xiàn)狀,課程組在C語言程序設(shè)計課程中將計算思維與現(xiàn)代教學(xué)方法進(jìn)行結(jié)合,融合授課學(xué)生的專業(yè)特點(diǎn)設(shè)計教學(xué)內(nèi)容,調(diào)動學(xué)生的學(xué)習(xí)積極性,培養(yǎng)學(xué)生的計算思維能力,推動新工科建設(shè),培養(yǎng)新型工科人才。
參考文獻(xiàn):
[1] 譚浩強(qiáng).研究計算思維,堅持面向應(yīng)用[J].計算機(jī)教育,2012(21):45-49,56.
[2] Wing J M.Computational thinking[J].Communications of the ACM,2006,49(3):33-35.
[3] 羅海風(fēng),劉堅,羅楊.人工智能時代的必備心智素養(yǎng):計算思維[J].現(xiàn)代教育技術(shù),2019,29(6):26-33.
[4] 葉軍,汪一心,王磊.以培養(yǎng)計算思維能力為導(dǎo)向的“C語言”教學(xué)資源設(shè)計[J].江西廣播電視大學(xué)學(xué)報,2018,20(4):82-87.
[5] 梁正平,朱澤軒,李延紅,等.學(xué)科融合型“大學(xué)計算機(jī)基礎(chǔ)”MOOC教學(xué)改革初探——以面向生命科學(xué)學(xué)科的“大學(xué)計算機(jī)基礎(chǔ)”學(xué)科融合型特色教學(xué)內(nèi)容設(shè)計為例[J].工業(yè)和信息化教育,2017(7):7-11.
[6] 鄧敏.“互聯(lián)網(wǎng)+”背景下“雨課堂”混合式教學(xué)模式的應(yīng)用研究[J].高教學(xué)刊,2019(9):100-102.
【通聯(lián)編輯:王力】