蘭麗+胡曉輝
摘 要: 針對工程教育認(rèn)證對計算機專業(yè)的工程實踐能力和創(chuàng)新要求,分析了目前C語言實踐教學(xué)中存在的問題,提出兩層C語言實踐教學(xué)體系和分階段考核方法。通過兩層增量式的分階段程序設(shè)計實踐及考核,讓學(xué)生循序漸進(jìn)地掌握C語言語法及程序設(shè)計方法,明顯提高了學(xué)生的興趣和工程實踐能力,有效提升C程序設(shè)計課程的實驗教學(xué)質(zhì)量。
關(guān)鍵詞: 兩層實踐教學(xué); 分階段考核方法; C語言程序設(shè)計; 實踐教學(xué)改革
中圖分類號:G642 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2017)11-80-03
Reform of C language practical teaching for engineering practice ability training
Lan Li, Hu Xiaohui
(School of Electronic and Information Engineering, Lanzhou Jiaotong University, Lanzhou, Gansu 730070, China)
Abstract: Aiming at the engineering practice ability and innovation of computer specialty required by Engineering Education Accreditation, this paper analyzes the problems existing in the current C language practical teaching, and puts forward the two-tier C language practical teaching system and assessment method. Through the two-tier incremental and phased programming practice and assessment, the student's interest and engineering practical ability are obviously improved, and the quality of experiment teaching of C programming course is effectively improved.
Key words: two-tier practical teaching; phased assessment method; C language programming; reform of practical teaching
0 引言
工程教育專業(yè)認(rèn)證是國際通行的工程教育質(zhì)量保證制度,旨在為相關(guān)工程人才進(jìn)入工業(yè)界從業(yè)提供預(yù)備教育質(zhì)量保證。對于計算機專業(yè),工程教育專業(yè)認(rèn)證標(biāo)準(zhǔn)要求培養(yǎng)的學(xué)生,不僅具有扎實的專業(yè)素質(zhì),更重要的是要有提出問題并動手解決問題的實踐能力[1]。C語言程序設(shè)計是一門實踐性很強的課程,培養(yǎng)學(xué)生的實踐能力是其核心目標(biāo),僅靠教師講授是不能讓學(xué)生學(xué)好這門課程的,在實際操作中會通過大量的實踐環(huán)節(jié)來訓(xùn)練學(xué)生的程序設(shè)和工程實踐能力。但跟蹤調(diào)查近三年畢業(yè)生,反饋效果差強人意,難以完成工程教育專業(yè)認(rèn)證的要求,究其原因有以下幾點。
⑴ 實驗內(nèi)容無內(nèi)在邏輯性
實驗題目多以課程章節(jié)設(shè)置,實驗題目所涉及的知識點零散,題目之間無內(nèi)在邏輯聯(lián)系。由于C語言概念、規(guī)則細(xì)碎繁多,若采用無內(nèi)在邏輯聯(lián)系的實驗題目來不斷練習(xí)零散的知識點,看似練習(xí)了很多,但實際上卻導(dǎo)致學(xué)生“只見樹木不見森林,撿了芝麻丟了西瓜”,這樣的簡單練習(xí)無法幫助學(xué)生形成正確的計算思維。
⑵ 實驗類型單一
實驗題目設(shè)置驗證性實驗偏多。驗證類實驗主要是通過實驗驗證單個的知識點,其結(jié)果多為“是”或“否”,無法引導(dǎo)學(xué)生思考只是內(nèi)在聯(lián)系,將知識點融會貫通,從而獲取解決問題的能力。學(xué)生通過大量的驗證性實驗,難以使知識系統(tǒng)化,對培養(yǎng)學(xué)生思考解決問題能力及創(chuàng)新能力的培養(yǎng)毫無裨益。
⑶ 考核方式陳舊,無法反映真實學(xué)習(xí)狀態(tài)
課程考核結(jié)果一般由平時成績、實驗成績和期末考試成績構(gòu)成,而往往期末考試成績?yōu)榱吮阌诹炕?,一般會采用筆試的方式,實驗成績往往也是以實驗報告作為給分依據(jù),但事實上用這種“紙上談兵”的筆試考核方式是無法真正掌握學(xué)生的編程能力的。
因此,筆者在C程序?qū)嵺`過程中針對以上三點,借助增量式任務(wù)驅(qū)動實踐題目將相關(guān)知識點象珠鏈一樣串聯(lián)起來,引導(dǎo)學(xué)生循序漸進(jìn)地從熟悉單個知識點過度到規(guī)模逐漸加大的程序,著重培養(yǎng)學(xué)生無論以后在學(xué)習(xí)、工作中使用什么語言編程,都能靈活應(yīng)用這些思想和方法分析和解決實際問題的能力,使學(xué)生在實踐學(xué)習(xí)過程中獲取的能力更加符合于工程認(rèn)證的要求。同時引入以編程能力培養(yǎng)為目標(biāo)的分階段考核,能夠盡可能的反映學(xué)生的真實水平,使考核結(jié)果更加科學(xué)客觀。
1 增量式項目驅(qū)動的分階段實踐教學(xué)設(shè)計
增量式項目實驗教學(xué)法的核心思想是“循序漸進(jìn)”[2]。按此思想,將整個C語言實踐過程分階段、遞進(jìn)地構(gòu)建為兩層“階梯式”實驗教學(xué)方案,實驗內(nèi)容也設(shè)計為逐層遞進(jìn)的實驗題目,實驗類型從模仿設(shè)計型實驗、基本設(shè)計型實驗,逐級過渡到綜合設(shè)計型實驗。
1.1 增量式項目實踐教學(xué)內(nèi)容設(shè)計
增量式項目實踐教學(xué)內(nèi)容通過設(shè)計兩層增量式C實驗教學(xué)體系來完成,如圖1所示。
在基礎(chǔ)層讓學(xué)生邊學(xué)邊做,掌握基礎(chǔ)語法;在應(yīng)用層進(jìn)行綜合應(yīng)用訓(xùn)練,達(dá)到知識的融會貫通,鍛煉學(xué)生分析和解決問題的能力,幫助學(xué)生提升工程實踐能力。
基礎(chǔ)層注重基本知識的掌握,實驗內(nèi)容主要涉及C基本語法、順序程序設(shè)計、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組。此過程的關(guān)鍵是,教師設(shè)計從實際問題出發(fā)的實驗項目,并將每個實驗項目分解成多個子項目,將學(xué)習(xí)的重點和難點分解在各個子項目中,學(xué)生通過所設(shè)計的增量式實驗項目鞏固所學(xué)相關(guān)知識點,有利于學(xué)生細(xì)嚼慢咽,溫故知新。endprint
應(yīng)用層重點是進(jìn)行系統(tǒng)設(shè)計及軟件開發(fā)能力的訓(xùn)練,側(cè)重課程知識點的前后聯(lián)系,實驗內(nèi)容主要有函數(shù)、指針、結(jié)構(gòu)體、文件。在這一階段,以綜合主題實驗項目為主,根據(jù)學(xué)生已掌握的背景知識,結(jié)合實際應(yīng)用,將該實驗設(shè)計為圖書信息管理系統(tǒng),如圖2所示。
該系統(tǒng)根據(jù)課程內(nèi)容的深入,層次遞進(jìn)地設(shè)計為六個版本,將新的知識點漸進(jìn)的融入到每一個版本中,前一個版本是后一個版本的基礎(chǔ),而后一個版本又是前一個版本的擴展及深入,通過這六個增量式版本地訓(xùn)練,學(xué)生循序漸進(jìn)地學(xué)習(xí)鞏固新的知識點,每完成一個版本,都有新知識的獲取,而且每一次都有成就感的激勵,可以大大提高學(xué)生的興趣。在實際操作中,教師還可以根據(jù)應(yīng)用背景,設(shè)置多道綜合題目,讓學(xué)生分組完成,共同商討數(shù)據(jù)結(jié)構(gòu)、編程方法和具體分工模塊,學(xué)生的團隊能力、協(xié)作能力、自學(xué)能力也將得到很好的鍛煉。
按此思路,將整個學(xué)期C實踐內(nèi)容設(shè)計為10個增量式實驗,如表1所示。
1.2 增量式實踐類型設(shè)計
實驗項目類型不再拘泥于驗證型實驗,而是按照兩層增量式實踐教學(xué)體系,設(shè)計為基本驗證型和綜合設(shè)計型兩類。其中,基本驗證型實驗可以幫助學(xué)生熟練掌握C基本語法和理解面向過程的設(shè)計思路?;掘炞C性實驗又漸進(jìn)地分為仿寫程序、改寫程序、基本驗證和基本設(shè)計四個步驟,有助于按照教學(xué)節(jié)奏安排學(xué)生練習(xí)。綜合設(shè)計性實驗可以幫助學(xué)生掌握C在現(xiàn)實問題中的應(yīng)用和理解C的某些數(shù)據(jù)結(jié)構(gòu),相對于基本驗證型實驗而言,其綜合性、復(fù)雜性和應(yīng)用性更高,難度更大,有助于引導(dǎo)學(xué)生思考,加深理解計算思維,培養(yǎng)其創(chuàng)新能力。
1.3 以編程能力培養(yǎng)為目標(biāo)的分階段考核
C語言程序設(shè)計的核心目標(biāo)就是要使學(xué)生具有靈活應(yīng)用計算機分析和解決問題的思維方法來編寫程序解決實際問題,因此考核的重點應(yīng)該是看學(xué)生是否能達(dá)到此目標(biāo)。課程組按照階梯式的實踐體系,分階段分層次對學(xué)生的學(xué)習(xí)效果進(jìn)行過程化考核。
為了使考核過程更加可觀公正,課程組開發(fā)了上機考試系統(tǒng),其中的題目完全按照兩層實踐教學(xué)體系設(shè)置,在每一階段的考核題目,課程組廣泛調(diào)研,共同探討,近兩年來每年都會都題庫題目補充、修訂,使之能夠更加全面的考察學(xué)生的學(xué)習(xí)效果。除此之外,系統(tǒng)為了全面考察學(xué)生一學(xué)期的學(xué)習(xí)效果,還設(shè)置了期末測試題庫。學(xué)生C語言程序設(shè)計實踐課程成績構(gòu)成如表2所示。
學(xué)生在上機考試系統(tǒng)上完成題目后提交系統(tǒng),由計算機自動批閱給出成績等級。當(dāng)學(xué)生完成某一階段的實踐內(nèi)容之后,就利用上機考試來評價學(xué)生當(dāng)前階段完成的情況,這樣學(xué)生不用期末突擊學(xué)習(xí),而是分階段完成各個知識點和考試任務(wù),分階段取得相應(yīng)的成績,不僅降低了學(xué)生的學(xué)習(xí)難度,同時也有助于學(xué)生及時掌握自身編程的不足,調(diào)整學(xué)習(xí)重點,提高學(xué)習(xí)效率。由于采取的是上機現(xiàn)場編程的方法,也能最大程度的檢測學(xué)生的編程能力。
2 結(jié)束語
采用增量式的兩層程序設(shè)計實踐模式安排C語言實踐教學(xué),以增量式案例驅(qū)動,循序漸進(jìn)、由淺入深,知識點與增量式項目相對應(yīng)的方式,將實驗任務(wù)進(jìn)行分解,使問題化繁為簡,充分尊重學(xué)生學(xué)習(xí)的習(xí)慣和思維的特點。以編程能力培養(yǎng)為目標(biāo)的過程化考核可以使學(xué)生對學(xué)習(xí)狀況有更加清晰的了解,便于老師調(diào)整教學(xué)內(nèi)容,對提高學(xué)生編程實踐能力起到積極的作用。因此在2015和2016級學(xué)生教學(xué)改革實踐中,取得了良好的教學(xué)效果,得到了學(xué)生的肯定。實踐證明,C語言兩層實踐教學(xué)及分階段考核方式,讓教、學(xué)、考的過程化繁為簡,在激發(fā)學(xué)生的自主學(xué)習(xí)意識及培養(yǎng)工程實踐能力方面都大有裨益,會更加符合工程教育認(rèn)證的要求。
參考文獻(xiàn)(References):
[1] 曹陽,楊桃月,張大斌等.基于工程教育認(rèn)證要求初探機電一
體化系統(tǒng)設(shè)計課程教學(xué)改革[J].中國教育技術(shù)裝備,2017.3:80-81
[2] 趙寧.基于遞進(jìn)式案例教學(xué)法的Java課程教學(xué)改革研究[J].
計算機教育,2013.23:73-76endprint