任小燕
一、引言
在以互聯(lián)網(wǎng)為核心的新一輪的科技和產(chǎn)業(yè)革命正驅(qū)動著新經(jīng)濟(jì)的迅猛發(fā)展的大背景下,我國的企業(yè)迫切需要新型的工科人才,高等工程教育改革也受到了社會各界的高度關(guān)注。2017年上半年教育部先后以《復(fù)旦共識》、《天大行動》、《北京指南》等文件為標(biāo)志,提出新工科的概念并啟動了我國工程教育改革的人才培養(yǎng)計(jì)劃。
我校的《C語言程序設(shè)計(jì)》課程面向的是大一理工專業(yè)的學(xué)生,其前驅(qū)課程是大學(xué)計(jì)算機(jī)基礎(chǔ),該課程屬于計(jì)算機(jī)通識類課程,其理論知識覆蓋了計(jì)算機(jī)信息編碼、算法、計(jì)算機(jī)硬件系統(tǒng)、數(shù)據(jù)庫技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)通信、信息安全、計(jì)算機(jī)新技術(shù)等;授課內(nèi)容比較寬泛,只能簡單的介紹入門級的知識,受限于學(xué)時(shí)限制無法深入展開。大部分學(xué)生通過該前驅(qū)課學(xué)習(xí)后有了計(jì)算機(jī)的基本概念,但是沒有系統(tǒng)的程序設(shè)計(jì)和計(jì)算思維理念,在學(xué)習(xí)C語言這門課程時(shí)往往會出現(xiàn)受困于語法細(xì)節(jié),忙于調(diào)試各種語法錯(cuò)誤,在該課程推進(jìn)的過程中會有同學(xué)漸漸產(chǎn)生受挫感,進(jìn)而喪失學(xué)習(xí)興趣。
二、改革具體措施
為了更好的培養(yǎng)出符合“新工科”需求的工科人才,按照“工程教育專業(yè)認(rèn)證”的要求,經(jīng)過和各個(gè)工科專業(yè)專家請教、資深教師討論以及往屆學(xué)生的回訪等方式方法,針對C語言課程教學(xué)過程中存在的不足,我校對《C語言程序設(shè)計(jì)》這門課程進(jìn)行了以下改革措施。
(一)教學(xué)內(nèi)容的調(diào)整
傳統(tǒng)的C語言教學(xué)內(nèi)容是按照教材的順序以概述、數(shù)據(jù)類型、數(shù)據(jù)計(jì)算、順序選擇循環(huán)三大結(jié)構(gòu)、數(shù)組、函數(shù)、指針、結(jié)構(gòu)體等組織教學(xué)。而事實(shí)上,從編程調(diào)試第一個(gè)hello world程序開始,學(xué)生就開始接觸到各種系統(tǒng)庫函數(shù),但是按照傳統(tǒng)的進(jìn)度學(xué)生在前半個(gè)學(xué)期學(xué)習(xí)中會花大量的精力去理解零散的語法、錯(cuò)誤調(diào)試等,沒有形成模塊化程序設(shè)計(jì)的思想,等到課程后期接觸到函數(shù)時(shí)就很難對函數(shù)整體認(rèn)知,甚或有部分學(xué)生雖然以高分修完了課程,但是完全不能理解結(jié)構(gòu)化自頂向下的程序設(shè)計(jì)理念,更不論與人合作解決復(fù)雜問題參與可能性。為了突破學(xué)生教科書代碼式學(xué)習(xí)方法,提升學(xué)生項(xiàng)目合作能力,經(jīng)過反復(fù)的研究論證,我們將C語言的課程教學(xué)內(nèi)容順序做了調(diào)整,將函數(shù)提前至三大結(jié)構(gòu);即學(xué)生了解了C語言本身支持的數(shù)據(jù)類型和數(shù)據(jù)計(jì)算后,借助于學(xué)生的已有的知識背景引入函數(shù)概念。比如通過一個(gè)教務(wù)管理系統(tǒng)作為切入點(diǎn),引導(dǎo)學(xué)生思考如何自頂向下實(shí)現(xiàn)一個(gè)復(fù)雜系統(tǒng)?這個(gè)時(shí)候,學(xué)生基本沒有復(fù)雜的語法概念,教師盡可能地從功能結(jié)構(gòu)劃分的角度引導(dǎo)學(xué)生將一個(gè)復(fù)雜的系統(tǒng)化整為零,劃分成幾個(gè)教師管理、學(xué)生管理、課程管理、成績管理等子系統(tǒng),然后將這些子系統(tǒng)逐步求精,細(xì)化成若干個(gè)功能邏輯功能相對集中、易于實(shí)現(xiàn)的模塊。在激發(fā)了學(xué)生求解問題的興趣后,教師可以趁熱打鐵告知學(xué)生函數(shù)的益處是代碼重用、共享性性等,并且本課程后面的章節(jié)內(nèi)容的學(xué)習(xí)會圍繞這個(gè)教務(wù)管理系統(tǒng)來進(jìn)行。后面講述三大結(jié)構(gòu)的知識點(diǎn)時(shí),可以結(jié)合函數(shù)知識點(diǎn)模擬編寫相關(guān)的子模塊。比如在實(shí)現(xiàn)一個(gè)原型的教師管理子模塊的時(shí),就可以結(jié)合順序結(jié)構(gòu),按照數(shù)據(jù)輸入、數(shù)據(jù)加工、數(shù)據(jù)輸出的傳統(tǒng)的處理順序,實(shí)現(xiàn)簡單的程序編寫。在此原型系統(tǒng)的基礎(chǔ)上逐步求精,譬如當(dāng)需要輸入、存儲和管理的數(shù)據(jù)量比較多時(shí),就可以適時(shí)的引入循環(huán)結(jié)構(gòu)、結(jié)構(gòu)體數(shù)組等概念,啟發(fā)學(xué)生完善相關(guān)子模塊。在優(yōu)化系統(tǒng)的同時(shí),繼續(xù)強(qiáng)化函數(shù)的具體應(yīng)用,從函數(shù)名稱命名、函數(shù)的參數(shù)傳遞、返回值等細(xì)節(jié)著手,加深理解函數(shù)的作用。
將函數(shù)教學(xué)內(nèi)容前置后,其后的三大結(jié)構(gòu)、數(shù)組、文件、指針等教學(xué)內(nèi)容可以繼續(xù)滲透強(qiáng)化函數(shù)的知識點(diǎn),便于將函數(shù)的思想貫穿于整個(gè)教學(xué)、項(xiàng)目實(shí)踐環(huán)節(jié)。這種教學(xué)內(nèi)容的調(diào)整一方面可以更好地幫助學(xué)生理解并有更多的機(jī)會去應(yīng)用模塊化編程的思想;另外也更利于培養(yǎng)學(xué)生算法的認(rèn)知實(shí)踐能力、項(xiàng)目合作能力和計(jì)算思維能力。
(二)教學(xué)模式革新
傳統(tǒng)的語言類課程教學(xué)采用的是教師理論課主講學(xué)生模擬代碼編寫實(shí)踐的模式,作為一門實(shí)踐性比較強(qiáng)的課程,面對尚不具備編程能力和計(jì)算思維能力的初學(xué)者,面對嚴(yán)苛晦澀難懂、易錯(cuò)的語法對學(xué)生是一個(gè)巨大的挑戰(zhàn)。為了更好的激發(fā)學(xué)生的學(xué)習(xí)興趣,更好的循序漸進(jìn)地掌握課程知識點(diǎn),在綜合調(diào)研了各種教學(xué)模式和教研室研討的基礎(chǔ)上,我校最終將該課程的教學(xué)模式革新為基于CDIO的工程教育模式 ,將一個(gè)具體的項(xiàng)目的構(gòu)思、設(shè)計(jì)、實(shí)施作為本課程的整個(gè)知識點(diǎn)的大背景。其優(yōu)勢是一方面充分調(diào)動了學(xué)生的學(xué)習(xí)興趣,另外也可以引導(dǎo)學(xué)生主動思考、激發(fā)學(xué)習(xí)潛能。在理論教學(xué)實(shí)施環(huán)節(jié)中,盡可能的引導(dǎo)學(xué)生利用已知的知識背景構(gòu)建相關(guān)的場景解決問題,可以盡可能的把課堂的話語權(quán)交給學(xué)生,通過學(xué)生的討論、講解教師點(diǎn)評的方式推進(jìn)課程的教學(xué)。比如,在介紹數(shù)據(jù)類型知識點(diǎn)的時(shí)候,任課教師可以拋出構(gòu)建教師實(shí)體模型需要采集哪些數(shù)據(jù),這些數(shù)據(jù)以什么樣的結(jié)構(gòu)存儲等問題,請學(xué)生上臺講出自己的思想并給出基本的結(jié)構(gòu),然后教師針對學(xué)生的答案進(jìn)行講評。
(三)教學(xué)輔助手段的增加
教學(xué)內(nèi)容的改革避免了傳統(tǒng)教學(xué)內(nèi)容中注重全面的知識點(diǎn)重點(diǎn)不突出的缺陷,教學(xué)模式的革新融入了項(xiàng)目、軟件工程的思想,為了更好的實(shí)現(xiàn)新工科培養(yǎng)目標(biāo),我校在C語言課程改革中充分利用教學(xué)輔助手段輔助學(xué)生學(xué)習(xí)。首先,依托校內(nèi)資源創(chuàng)條件,利用我校已有的求索學(xué)堂網(wǎng)絡(luò)學(xué)習(xí)平臺,結(jié)合多媒體技術(shù)、視頻剪輯技術(shù)、互聯(lián)網(wǎng)技術(shù)等建立了課程互動網(wǎng)站,實(shí)現(xiàn)了學(xué)習(xí)資源的發(fā)布、微課的發(fā)布、作業(yè)發(fā)布和部分作業(yè)的自動批閱、師生的互動等。其次,充分引入微課、中國大學(xué)MOOC平臺等網(wǎng)絡(luò)教學(xué)平臺為學(xué)生自主學(xué)習(xí)提供了一種可能。這些輔助手段為學(xué)生課余的自主學(xué)習(xí)提供了更多的途徑,掌握學(xué)習(xí)的主動權(quán),同時(shí)也讓學(xué)生能更好的專注于主動的基于項(xiàng)目的學(xué)習(xí)。
(四)教學(xué)考核模式的改革
由于單一的考核方式難以體現(xiàn)新工科體系下對學(xué)生多個(gè)維度的要求,也為更好的激發(fā)學(xué)生學(xué)習(xí)積極性,我校對本課程的考核方式做了調(diào)整,將期末考試成績分為機(jī)試和實(shí)驗(yàn)兩個(gè)部分,分值各占60%和40%。機(jī)試考查學(xué)生課程知識點(diǎn)的掌握度,包括基本的語法、代碼閱讀能力、實(shí)際編程能力等。實(shí)驗(yàn)成績主要考核學(xué)生每一個(gè)小項(xiàng)目的構(gòu)思、設(shè)計(jì)及代碼編寫能力,對學(xué)生在實(shí)驗(yàn)過程中的創(chuàng)新、溝通合作能力也納入考核范疇。
參考文獻(xiàn):
[1]潘海生,彭乾剛.工程教育學(xué)科建設(shè):美國的經(jīng)驗(yàn)與啟示[J]. 高等工程教育研究,2019,(3):180-186.
[2] 魏蕾,耿楠,馮妍.基于函數(shù)的”C 語言程序設(shè)計(jì)”課程教學(xué)設(shè)計(jì)[J]. 黑龍江教育,2019,(8):68-69.