肖捷 劉景軒
(1.東莞理工學(xué)院 計算機學(xué)院,廣東東莞 523808;2. 浙江大學(xué) 計算機學(xué)院,杭州 310007)
?
應(yīng)用型本科《C語言程序設(shè)計》實踐教學(xué)方案設(shè)計與應(yīng)用
肖捷1劉景軒2
(1.東莞理工學(xué)院計算機學(xué)院,廣東東莞523808;2. 浙江大學(xué)計算機學(xué)院,杭州310007)
《C語言程序設(shè)計》是本校計算機類專業(yè)的核心基礎(chǔ)課,也是重要的公共基礎(chǔ)課。根據(jù)應(yīng)用型本科計算機專業(yè)培養(yǎng)目標(biāo),設(shè)計基于“階梯遞進(jìn)”模式《C語言程序設(shè)計》實踐教學(xué)方案,包括課程目標(biāo)、“階梯遞進(jìn)”模式研究、實踐教學(xué)設(shè)計、課程資源建設(shè)和考核評價。實踐證明,方案具有較好的科學(xué)性、系統(tǒng)性、實用性、針對性和可操作性,較大地提高了《C語言程序設(shè)計》課程的教學(xué)質(zhì)量。
應(yīng)用型本科;“階梯遞進(jìn)”模式;《C語言程序設(shè)計》;實踐教學(xué)方案
隨著專業(yè)技術(shù)和應(yīng)用發(fā)展的需要,C語言編程成為應(yīng)用型本科院校電子、通信、機械等工科專業(yè)本科生必備的能力,機器人控制、通信、電子產(chǎn)品、儀器儀表設(shè)計都涉及到大量的編程工作。編程更是計算機類專業(yè)基本專業(yè)能力,《C語言程序設(shè)計》培養(yǎng)學(xué)生基本編程能力,訓(xùn)練編程思想,是學(xué)習(xí)其他專業(yè)課程必備的基礎(chǔ)。對于計算機專業(yè),將該課程定位為“技術(shù)扎根”型實踐類課程,其重要性甚至高于核心基礎(chǔ)課程。實踐教學(xué)對該課程至關(guān)重要,其教學(xué)質(zhì)量直接影響專業(yè)人才培養(yǎng)目標(biāo),因此,革新課程教學(xué)方案,消除多年來學(xué)生對編程的恐懼心理,改變學(xué)生回避編程的態(tài)度,提高教學(xué)效果,是應(yīng)用型人才培養(yǎng)的重要一環(huán)。
1.1課程目標(biāo)
作為應(yīng)用型本科計算機專業(yè)的核心基礎(chǔ)課程,《C語言程序設(shè)計》是以C語言為平臺,課程教學(xué)目標(biāo)不但要使學(xué)生掌握C語言的知識內(nèi)容、編程技術(shù)和基本算法,更重要的是掌握程序設(shè)計的思想和方法,具備高級語言程序設(shè)計的基本能力,能靈活利用計算機求解實際問題,為后續(xù)專業(yè)課程的學(xué)習(xí)打好基礎(chǔ)[1]。結(jié)合專業(yè)培養(yǎng)目標(biāo),提出本課程要達(dá)到的具體目標(biāo)。
A 知識目標(biāo):掌握C語言的知識內(nèi)容、編程技術(shù)和基本算法,掌握結(jié)構(gòu)化程序設(shè)計的基本思想和方法。
B 能力目標(biāo):加強學(xué)生邏輯思維能力、分析解決問題能力、程序設(shè)計能力和調(diào)試程序能力的全方位的培養(yǎng),為后續(xù)課程學(xué)習(xí)打好基礎(chǔ)。
C 素質(zhì)目標(biāo):培養(yǎng)工程技術(shù)人員必須具備的堅持不懈的學(xué)習(xí)精神,嚴(yán)謹(jǐn)治學(xué)的科學(xué)態(tài)度和積極向上的價值觀,樹立在學(xué)習(xí)和工作中善于思考和勇于動手的信心。
1.2改革傳統(tǒng)模式,研究適合應(yīng)用型本科新模式
“理論教學(xué)+課程實驗”構(gòu)成傳統(tǒng)模式的課程教學(xué)體系,理論教學(xué)一般都是圍繞語言本身的體系內(nèi)容展開,以講解語言知識為主,特別是語法知識,輔助介紹一些編程案例和技巧,很多學(xué)生把主要精力放在語法學(xué)習(xí)之上,不利于培養(yǎng)學(xué)生的程序設(shè)計能力和語言應(yīng)用能力。課程實驗一般都是獨立編程題,對基礎(chǔ)薄弱的學(xué)生顯得難度過大。這種教學(xué)模式不利于學(xué)生自主學(xué)習(xí)和分層教學(xué),不能全方位地培養(yǎng)學(xué)生程序設(shè)計能力,導(dǎo)致學(xué)生綜合編程能力弱,難以達(dá)到《C語言程序設(shè)計》課程的教學(xué)目標(biāo)。
針對應(yīng)用型本科院校的生源特征,必須改革傳統(tǒng)模式,研究適合應(yīng)用型本科新模式?!半A梯遞進(jìn)”模式將實踐教學(xué)分成邏輯上相互關(guān)聯(lián)的三個環(huán)節(jié)(演示實驗+自主實驗+主題實驗),以循序漸進(jìn)方式,全方位地培養(yǎng)程序設(shè)計能力(包括:程序調(diào)試、程序閱讀、程序模仿、獨立編程、綜合應(yīng)用)。
A 演示實驗:程序調(diào)試能力差是大部分學(xué)生都存在的問題,演示實驗側(cè)重調(diào)試程序基本功的訓(xùn)練,圍繞基本調(diào)試方法設(shè)計實驗項目,實驗項目的內(nèi)容從簡單到復(fù)雜,呈“階梯遞進(jìn)”關(guān)系,包括演示案例、模仿練習(xí)、提高習(xí)題三項內(nèi)容,通過“演示—模仿—提高”的教學(xué)過程,教師完成演示案例,學(xué)生完成模仿練習(xí)與提高習(xí)題,提交實驗系統(tǒng)自動批改[2]。通過演示實驗,使學(xué)生較快捷地熟悉編程環(huán)境,較輕松地學(xué)習(xí)程序調(diào)試基本方法和技巧。
B 自主實驗:自主實驗主要是根據(jù)知識點設(shè)置一系列驗證性實驗,緊扣課堂教學(xué)內(nèi)容,偏重基本知識和能力,掌握和鞏固課堂教學(xué)內(nèi)容[3]。學(xué)生必須在規(guī)定期限自主獨立完成,提交實驗系統(tǒng)自動批改。實驗內(nèi)容充分體現(xiàn)“階梯遞進(jìn)”模式思想,實驗題型一般設(shè)置閱讀程序題和獨立編程題,分成3個級別(示例編程(閱讀題)、模仿編程(閱讀題)、獨立編程),充分體現(xiàn)“教學(xué)做一體化”的分步教學(xué)思想(示例→模仿→獨立),便于學(xué)生自主學(xué)習(xí)和分層教學(xué)。通過自主實驗,一方面,掌握程序設(shè)計語言的知識內(nèi)容、編程技術(shù)和基本算法;另一方面,培養(yǎng)學(xué)生程序閱讀、程序模仿改寫和獨立編程能力。
C 主題實驗:在自主實驗基礎(chǔ)上,根據(jù)教學(xué)進(jìn)度和知識結(jié)合應(yīng)用的緊密程度,劃分若干個主題,每個主題精心設(shè)計一個難度稍大的階段性綜合實驗項目,實驗項目充分體現(xiàn)“階梯遞進(jìn)”模式思想,每個實驗項目包括“案例分析”和“應(yīng)用設(shè)計”兩部分,“案例分析”給出一個引導(dǎo)示例,詳細(xì)介紹綜合案例求解的基本步驟和方法,教師講解,學(xué)生閱讀理解,起示范作用。“應(yīng)用設(shè)計”給出一個綜合題目,要求學(xué)生在理解“案例分析”基礎(chǔ)上,自主完成。學(xué)生可以根據(jù)自身情況,部分選做,實現(xiàn)分層教學(xué)[2]。通過主題實驗的訓(xùn)練,將“語言知識”和“程序設(shè)計”串成兩條相互呼應(yīng)的主線,加深對語言的全面理解和掌握,培養(yǎng)綜合應(yīng)用語言的能力和綜合分析能力,提高綜合編程水平,為課程設(shè)計做準(zhǔn)備。
1.3實踐教學(xué)設(shè)計
由于《C語言程序設(shè)計》課程學(xué)習(xí)的自身特點,聽不會,也看不會,只能練會,只有通過大量的編程練習(xí),才能將編程思想、算法設(shè)計思想培養(yǎng)出來,將編程能力訓(xùn)練出來。因此,精心設(shè)計課程的實踐教學(xué)非常重要,根據(jù)“階梯遞進(jìn)”模式思想,《C語言程序設(shè)計》實踐教學(xué)設(shè)計包括演示實驗、自主實驗、主題實驗三個方面,它們構(gòu)成“階遞遞進(jìn)”模式的實踐教學(xué)體系[3]。
1)演示實驗。培養(yǎng)學(xué)生程序調(diào)試能力是實踐教學(xué)的重要方面,演示實驗側(cè)重調(diào)試程序基本功的訓(xùn)練,圍繞基本調(diào)試方法設(shè)計若干實驗項目(根據(jù)教學(xué)進(jìn)度和內(nèi)容,演示實驗項目如表1所示),實驗項目充分體現(xiàn)“階梯遞進(jìn)”模式思想,實驗項目的內(nèi)容從簡單到復(fù)雜,包括演示案例、模仿練習(xí)、提高習(xí)題三項內(nèi)容,教師精講演示案例,學(xué)生完成模仿練習(xí)與提高習(xí)題。通過演示實驗,一方面,幫助學(xué)生理解程序調(diào)試、編譯錯誤、連接錯誤、邏輯錯誤等基本概念;另一方面,幫助學(xué)生認(rèn)識常見錯誤及產(chǎn)生原因,學(xué)會解決方法,進(jìn)而掌握程序調(diào)試的基本方法和技巧。
2)自主實驗。學(xué)好程序設(shè)計,貴在平時練習(xí),學(xué)生應(yīng)該做到功夫化在平時,努力多編程,編好程。自主實驗側(cè)重基本知識和能力,緊扣課堂教學(xué)內(nèi)容,通過“示例編程—模仿編程—獨立編程”的實踐教學(xué)過程,循序漸進(jìn)地掌握程序設(shè)計基本知識、典型算法,進(jìn)而理解和掌握程序設(shè)計思想、方法和技巧[4]。根據(jù)教學(xué)大綱設(shè)計一系列自主實驗項目(11個自主實驗項目),包括熟悉C編程環(huán)境、C簡單程序設(shè)計、分支結(jié)構(gòu)程序設(shè)計、循環(huán)結(jié)構(gòu)程序設(shè)計、函數(shù)程序設(shè)計、數(shù)組程序設(shè)計、指針程序設(shè)計、結(jié)構(gòu)程序設(shè)計、鏈表程序設(shè)計、共用體和枚舉程序設(shè)計、文件程序設(shè)計。學(xué)生通過上機實驗系統(tǒng)在規(guī)定期限自主獨立完成,提交實驗系統(tǒng)自動批改,給出反饋,并可反復(fù)練習(xí),直至掌握為止。自主實驗必須精心規(guī)劃和設(shè)計,每個實驗項目的實驗內(nèi)容應(yīng)充分體現(xiàn)“教學(xué)做一體化”的分步教學(xué)思想(示例編程→模仿編程→獨立編程),便于學(xué)生自主學(xué)習(xí)和分層教學(xué)。通過自主實驗,一方面,掌握C語言的知識內(nèi)容、編程技術(shù)和基本算法;另一方面,培養(yǎng)學(xué)生程序閱讀、程序模仿改寫和獨立編程能力。
表1 演示實驗項目
A示例編程:通常選用教材中精講過的經(jīng)典案例并做適當(dāng)修改,給出程序功能描述、解題思路和不完整的源程序清單,特別對解題思路作詳細(xì)描述,引導(dǎo)學(xué)生認(rèn)真閱讀,理解設(shè)計思路,學(xué)習(xí)閱讀方法和技巧,熟悉程序結(jié)構(gòu)框架,掌握重要算法,進(jìn)而學(xué)習(xí)解題步驟和方法。在此基礎(chǔ)上,給出填充完整的源程序清單方便學(xué)生參考,最后要求學(xué)生上機調(diào)試通過。
B模仿編程:通常對示例編程的功能做適當(dāng)?shù)男薷幕蜻x用與示例編程相似的題目,給出程序功能描述、不完整的程序清單和解題提示,要求學(xué)生在示例編程基礎(chǔ)上,模仿示例編寫程序,實現(xiàn)程序功能要求。學(xué)生應(yīng)完成的具體項目內(nèi)容包括:解題思路、完整程序清單、調(diào)試運行程序。目的是進(jìn)一步掌握閱讀程序的方法和技巧,掌握解題步驟和方法,提高學(xué)生分析問題的能力,進(jìn)而提高編程能力。
C獨立編程:通常設(shè)計較示例編程和模仿編程難度稍大的獨立編程題,只給出程序功能描述和做題思路提示,要求學(xué)生在示例編程和模仿編程的基礎(chǔ)上,利用所學(xué)知識獨立完成編程。學(xué)生應(yīng)完成的具體項目內(nèi)容包括:解題思路、完整程序清單、調(diào)試運行程序。目的是進(jìn)一步掌握做題的步驟和方法,提高學(xué)生分析問題、解決問題和獨立編程能力。
3)主題實驗。在自主實驗基礎(chǔ)上,根據(jù)教學(xué)進(jìn)度和知識結(jié)合應(yīng)用的緊密程度,劃分若干個主題(主題實驗項目如表2所示),每個主題精心設(shè)計一個難度稍大的階段性綜合實驗項目,實驗項目充分體現(xiàn)“階梯遞進(jìn)”模式思想,每個實驗項目包括“案例分析”和“應(yīng)用設(shè)計”兩部分。通過主題實驗,加深對語言的全面理解和掌握,培養(yǎng)綜合應(yīng)用語言的能力和綜合分析能力,提高綜合編程水平,為課程設(shè)計做準(zhǔn)備。
表2 主題實驗項目
A 案例分析:給出一個引導(dǎo)示例,詳細(xì)介紹綜合案例求解的基本步驟和方法,教師講解,學(xué)生閱讀理解,起示范作用。
B 應(yīng)用設(shè)計:給出一個綜合題目,學(xué)生在理解案例分析的基礎(chǔ)上,運用所學(xué)知識自主完成。進(jìn)一步掌握綜合習(xí)題求解的基本步驟和方法,加強綜合編程能力的培養(yǎng)。
1.4課程資源建設(shè)
建立配套的教學(xué)資源是課程建設(shè)的重要內(nèi)容,也是教學(xué)取得成功的重要保證。根據(jù)應(yīng)用型本科院校的生源特征,結(jié)合多年教學(xué)實踐,在課程資源建設(shè)方面主要做了以下幾項工作。
A教材建設(shè):主講教材思想是以“程序設(shè)計”為主線,以編程應(yīng)用為驅(qū)動,通過案例和問題引入內(nèi)容,重點講解程序設(shè)計的思想和方法,并穿插介紹相關(guān)的語言知識,為程序設(shè)計主線服務(wù),語言知識力求講解清楚,詳略適當(dāng)[5]。實驗教材思想基于“階梯遞進(jìn)”模式,從“演示實驗+自主實驗+主題實驗”三個方面構(gòu)建課程實踐教學(xué)體系,以循序漸進(jìn)方式,全方位地培養(yǎng)程序設(shè)計能力(包括:程序調(diào)試、程序閱讀、程序模仿、獨立編程)和綜合應(yīng)用能力。
B建設(shè)課程網(wǎng)站,開發(fā)課程資源:有機整合“面對面”的課堂學(xué)習(xí)(Face to Face)和在線學(xué)習(xí)(E-Learning)兩種典型教學(xué)形式,開展“混合式”教學(xué)。已經(jīng)建成的課程資源包括:PPT課件、視頻課件、習(xí)題庫、實驗題庫、試題庫、實驗系統(tǒng)、測試系統(tǒng)等。
1.5教學(xué)實踐與考核評價
通過幾年的改革實踐,“階梯遞進(jìn)”模式《C語言程序設(shè)計》實踐教學(xué)方案已在我校推廣應(yīng)用,取得了較好的教學(xué)效果,從公共課和專業(yè)課兩個方面總結(jié)如下。
1)公共課《C語言程序設(shè)計》。自2011級開始,我校公共《C語言程序設(shè)計》試點“階梯遞進(jìn)”模式,經(jīng)過兩年改革試點并取得成功,從2013級開始,在全校推廣,效果顯著。課程考核情況如下:
考核方式:采用“校內(nèi)統(tǒng)考”與“全國統(tǒng)考”相結(jié)合,命題計劃突出“程序設(shè)計”主線。校內(nèi)統(tǒng)考采用筆試, 80 %為程序設(shè)計,20 %為基本概念,主要考查程序閱讀與程序設(shè)計能力。全國統(tǒng)考采用機試,80 %為程序設(shè)計,20 %為基本概念,主要考查程序閱讀、程序設(shè)計與程序調(diào)試能力,二者結(jié)合,全方位考核程序設(shè)計能力。表3統(tǒng)計我校近幾年全國統(tǒng)考情況,匯總結(jié)果反映我校公共《C語言程序設(shè)計》課程的教學(xué)質(zhì)量穩(wěn)步提高,通過率居全省同類院校領(lǐng)先水平。
表3 我校近幾年全國高等學(xué)校計算機水平考試通過率匯總表(C語言) %
2)專業(yè)課《C語言程序設(shè)計》。自2014級開始,我校計算機科學(xué)與技術(shù)專業(yè)《C語言程序設(shè)計》試點“階梯遞進(jìn)”模式,并改革課程考核方式:期中考試+期末筆試+期末機試,期中考試為筆試(題型綜合:選擇題(20)+程序填空(30)+程序分析(30)+獨立編程(20)),期末筆試選用難度適中的程序閱讀題,期末機試選用難度不一的獨立編程題,突出考核編程能力,難度超出以往各屆。課程考核情況如下:
A期中考試:同份試卷,2014計科、2014機械卓越、2014電子成績對比情況如表4。
B期末筆試:時長2小時,閉卷,24個程序閱讀題,考查學(xué)生分析、閱讀程序能力。卷面成績頻度分析如下:平均分78,優(yōu)31 %,良26 %,中18 %,合格5 %,不合格20 %。
C期末機試:時長3 h,閉卷,6個獨立編程題,考查學(xué)生程序設(shè)計與程序調(diào)試能力。卷面成績頻度分析如下:平均分77,優(yōu)42 %,良11 %,中13 %,合格14 %,不合格20 %。
從課程考核結(jié)果看出,計算機專業(yè)大部分學(xué)生具備較強的程序調(diào)試、分析、閱讀和獨立編程能力,教學(xué)效果明顯優(yōu)于非計算機專業(yè),達(dá)到課程學(xué)習(xí)目標(biāo)。我校計算機學(xué)院決定從2015級開始,在計算機類專業(yè)全面推廣。
表4 我校2014級計科、機械、電子《C語言程序設(shè)計》期中考試成績對照表
《C語言程序設(shè)計》是應(yīng)用型本科計算機類專業(yè)的核心基礎(chǔ)課程,也是機械、電子、通信等工科專業(yè)必備的公共基礎(chǔ)課,研究設(shè)計一套完整、科學(xué)、創(chuàng)新、操作性強的教學(xué)方案非常重要,直接關(guān)系到課程的教學(xué)質(zhì)量。本方案的創(chuàng)新性在于以“階梯遞進(jìn)”模式構(gòu)建課程實踐教學(xué)方案,以循序漸進(jìn)方式,全方位地培養(yǎng)程序設(shè)計能力(包括:程序調(diào)試、程序閱讀、程序模仿、獨立編程)和綜合應(yīng)用能力。實踐證明,方案具有較好的科學(xué)性、系統(tǒng)性、實用性和可操作性,已成功應(yīng)用到我校教學(xué)實踐,對應(yīng)用型本科院校具有較大的推廣價值。
[1]肖捷,侯家利. C語言程序設(shè)計[M]. 北京:中國鐵道出版社,2015.
[2]肖捷,陳雪芳. C語言程序設(shè)計實訓(xùn)教程與水平考試[M]. 北京:中國鐵道出版社,2015.
[3]肖捷. 程序設(shè)計課程教學(xué)方案的研究與設(shè)計[J]. 東莞理工學(xué)院學(xué)報, 2012,19(3):104-107.
[4]肖捷. 基于“階梯遞進(jìn)”模式《C語言程序設(shè)計》實驗教材的設(shè)計[J]. 東莞理工學(xué)院學(xué)報, 2014,21(1):99-102.
[5]肖捷. 基于“階梯遞進(jìn)”模式《C語言程序設(shè)計》主講教材的設(shè)計[J]. 東莞理工學(xué)院學(xué)報, 2014,21(5):101-106.
Design and Application of Practical Teaching Plan of Applied Undergraduate Course C-Language Programming
XIAO Jie1LIU Jingxuan2
(1.Computer College, Dongguan University of Technology, Dongguan 523808, China;2. Computer School with Zhejiang University, Hangzhou 310007, China)
C-LanguageProgrammingis a core basic course of the computer majors in Dongguan University of Technology and also an important public basic course in the university. According to the education goal of applied undergraduate computer major, the plan is based on the “Ladder Rising” model used in the practical teaching ofC-LanguageProgramming, including its curriculum goal, “Ladder Rising” model research, practical teaching design, resource construction and testing assessment. The practice proves that the plan greatly improves the teaching quality of the curriculumC-LanguageProgrammingin the university with its scientific, systematic, practical, purposeful and operable characteristics.
applied undergraduate course; “Ladder Rising” model; C-LanguageProgramming; practice teaching plan
2016-01-05
2012年度廣東省高等學(xué)校教學(xué)質(zhì)量與教學(xué)改革工程本科類立項建設(shè)項目(粵教高函[2012]204號)。
肖捷(1966—),男,湖南邵東人,副教授,主要從事網(wǎng)絡(luò)與數(shù)據(jù)庫技術(shù)、企業(yè)信息化研究。
TP312
A
1009-0312(2016)03-0106-05