葉倩 王旭東
關(guān)鍵詞:C語言程序設(shè)計;數(shù)據(jù)結(jié)構(gòu);應(yīng)用型本科;教學(xué)實(shí)施
中圖法分類號:TP392 文獻(xiàn)標(biāo)識碼:A
由于“C語言程序設(shè)計”與“數(shù)據(jù)結(jié)構(gòu)”存在關(guān)聯(lián)知識點(diǎn),因此總結(jié)兩門課程的知識點(diǎn)內(nèi)容,提出知識重難點(diǎn)與訓(xùn)練拓展的方向,可以對學(xué)習(xí)“數(shù)據(jù)結(jié)構(gòu)”打下堅實(shí)的基礎(chǔ)。
1研究意義
“數(shù)據(jù)結(jié)構(gòu)”是計算機(jī)專業(yè)重要的專業(yè)基礎(chǔ)課程,“C語言程序設(shè)計”則是一門重要的大類基礎(chǔ)課程,也是“數(shù)據(jù)結(jié)構(gòu)”等專業(yè)基礎(chǔ)課程的前導(dǎo)課程。因此,“C語言程序設(shè)計”的教學(xué)對于計算機(jī)專業(yè)尤為重要。此外,由于學(xué)生對知識點(diǎn)掌握的深度不夠、畏懼難題心理等問題,結(jié)合本校應(yīng)用型本科的教學(xué)特點(diǎn),本文對“C語言程序設(shè)計”和“數(shù)據(jù)結(jié)構(gòu)”的教學(xué)內(nèi)容、教學(xué)方法、考核方式進(jìn)行了改革研究。
“C語言程序設(shè)計”是學(xué)習(xí)計算機(jī)相關(guān)學(xué)科的工具,數(shù)據(jù)結(jié)構(gòu)則是帶“結(jié)構(gòu)”的數(shù)據(jù)元素集合,描述數(shù)據(jù)元素的存在關(guān)系,包括邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)十分重要。
2課程內(nèi)在聯(lián)系分析
按照數(shù)據(jù)的邏輯結(jié)構(gòu)可以將數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),而數(shù)據(jù)存儲結(jié)構(gòu)的基本形式分為有順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)。
學(xué)生對“C語言程序設(shè)計”的熟悉掌握程度直接關(guān)系到“數(shù)據(jù)結(jié)構(gòu)”的教學(xué)效果。C語言的難點(diǎn)是指針、函數(shù)、數(shù)組作為函數(shù)參數(shù),以及結(jié)構(gòu)體類型等,而在“數(shù)據(jù)結(jié)構(gòu)”的教學(xué)過程中,主要運(yùn)用這些知識點(diǎn)來分析、解決問題。對很多學(xué)生來說,對于C語言的運(yùn)用能力不強(qiáng),如果直接進(jìn)入“數(shù)據(jù)結(jié)構(gòu)”課程的學(xué)習(xí),會有畏懼心理。我們采用三課時的時間復(fù)習(xí)C語言的知識點(diǎn),并將這些內(nèi)容加入到教學(xué)大綱及教學(xué)進(jìn)度表中。雖然三課時未必能讓所有學(xué)生靈活應(yīng)用C語言去學(xué)習(xí)“數(shù)據(jù)結(jié)構(gòu)”,但是在課后,學(xué)生能夠明確如何復(fù)習(xí)并進(jìn)一步學(xué)習(xí)“數(shù)據(jù)結(jié)構(gòu)”相關(guān)課程。
3 教學(xué)改革研究
3.1問題分析
從教學(xué)過程及評價結(jié)果進(jìn)行分析,主要有以下幾個問題。
課程教學(xué)內(nèi)容過于簡單,知識點(diǎn)多且散。對于很多知識點(diǎn)的細(xì)節(jié)方面,學(xué)生無法完全掌握。單純依靠課堂教學(xué)及練習(xí)不能滿足應(yīng)用型本科學(xué)生對“數(shù)據(jù)結(jié)構(gòu)”等后續(xù)課程的學(xué)習(xí)需要,且不能全面考核編程能力、程序調(diào)試能力,未發(fā)揮出大類基礎(chǔ)課程的實(shí)際作用。
缺乏改革大類基礎(chǔ)課程的想法及推動力。第一,在“C語言程序設(shè)計”課程教學(xué)方面,教師普遍采用固定的教學(xué)模式、教學(xué)內(nèi)容、教學(xué)進(jìn)度,雖然學(xué)生對這種傳統(tǒng)的教學(xué)方式及內(nèi)容感到輕松,但課程的教學(xué)效果并不好;第二,新教師主要將精力放在教學(xué)內(nèi)容上,未思考教學(xué)改革等問題;第三,教學(xué)改革缺乏思路,沒有想到好的改革的方法。
3.2解決辦法
3.2.1精準(zhǔn)定位教學(xué)目標(biāo)
學(xué)生希望在獲取本科學(xué)位的同時掌握一項或多項專業(yè)技能,所以課程的教學(xué)既有理論目標(biāo)也有技能目標(biāo)。對于“C語言程序設(shè)計”課程而言,需要建立結(jié)構(gòu)化程序設(shè)計思想,養(yǎng)成正確的程序設(shè)計風(fēng)格和嚴(yán)肅認(rèn)真的工作作風(fēng),在掌握基本語法規(guī)則和結(jié)構(gòu)化程序設(shè)計方法的同時,逐步積累常用算法和程序設(shè)計的技巧,能初步解決常見的簡單應(yīng)用問題,最終為后續(xù)的“數(shù)據(jù)結(jié)構(gòu)”等課程打下良好的基礎(chǔ)。
3.2.2加強(qiáng)計算機(jī)基礎(chǔ)課程教學(xué)改革的意識
學(xué)校推進(jìn)教學(xué)項目改革,教師樹立教學(xué)改革意識。在計算機(jī)基礎(chǔ)課程中,教師應(yīng)分析并發(fā)現(xiàn)問題,及時尋找解決問題的方法。教師通過對教學(xué)過程的觀察及總結(jié)、參加培訓(xùn)、教學(xué)聽課活動、教學(xué)講座等各種方式,多方面接觸教學(xué)改革思路、方法,做到在思想上積極參與教學(xué)改革。再結(jié)合目前所教授的課程進(jìn)行分析,從教學(xué)目標(biāo)、教學(xué)內(nèi)容、教學(xué)方法等多方面進(jìn)行改革。
3.2.3“以賽促學(xué)”
一般而言,“C語言程序設(shè)計”課程會開設(shè)在大一上學(xué)期。此時,新生剛剛踏入大學(xué)校園,對大學(xué)校園既感到新鮮又存有敬畏心理———從高中過渡到大學(xué),學(xué)習(xí)方法、學(xué)習(xí)科目內(nèi)容以及對教學(xué)方式都不適應(yīng)。但新生的可塑性和學(xué)習(xí)動力極強(qiáng),對于各類競賽都躍躍欲試,這時需要鼓勵,引導(dǎo)其參加各類競賽,從各類競賽中找到學(xué)習(xí)目標(biāo)、方法以及興趣。
4課程教學(xué)改革
4.1精選教學(xué)內(nèi)容、教學(xué)內(nèi)容融合、教學(xué)目標(biāo)對應(yīng)
現(xiàn)針對“數(shù)據(jù)結(jié)構(gòu)”的課程內(nèi)容,可對“C語言程序設(shè)計”課程的相關(guān)知識點(diǎn)做拓展。
4.1.1數(shù)組
“數(shù)據(jù)結(jié)構(gòu)”課程中的順序存儲結(jié)構(gòu)采用數(shù)組解決問題,而數(shù)組的特點(diǎn)是:所有元素杯順序存儲在一塊連續(xù)的存儲區(qū)域中。在進(jìn)行數(shù)組的應(yīng)用案例講授時,教師可以將數(shù)據(jù)結(jié)構(gòu)的例題作為應(yīng)用案例,寓教于樂。
4.1.2其他數(shù)據(jù)類型
在結(jié)構(gòu)體類型、共用體類型、枚舉類型和typedef自定義類型等知識點(diǎn)中,數(shù)據(jù)元素需要指定數(shù)據(jù)類型,抽象數(shù)據(jù)元素也如此,采用typedef自定義已存在或已構(gòu)造的數(shù)據(jù)類型為數(shù)據(jù)元素類型。
4.1.3函數(shù)
在“C語言程序設(shè)計”課程中,使用編譯預(yù)處理指令插入庫文件。而在“數(shù)據(jù)結(jié)構(gòu)”課程中,用得更多的是自己編寫的頭文件———可以對數(shù)據(jù)進(jìn)行組織處理,對數(shù)據(jù)的操作集合采用函數(shù)進(jìn)行處理。在“C語言程序設(shè)計”課程中,可以將操作實(shí)現(xiàn)作為應(yīng)用案例加入函數(shù)教學(xué)內(nèi)容中。
4.1.4指針
指針內(nèi)容包括指針型數(shù)據(jù)、指針運(yùn)算、指針數(shù)組。
函數(shù)和指針的內(nèi)容比較難理解,數(shù)據(jù)結(jié)構(gòu)中運(yùn)用得最多的就是函數(shù)和指針,而“數(shù)據(jù)結(jié)構(gòu)”將用實(shí)際案例講解指針的作用,深入淺出。
4.1.5內(nèi)存的使用
在“數(shù)據(jù)結(jié)構(gòu)”中,鏈?zhǔn)酱鎯Y(jié)構(gòu)需要動態(tài)申請內(nèi)存空間的函數(shù),鏈?zhǔn)酱鎯Y(jié)構(gòu)中的每個節(jié)點(diǎn)在需要時向系統(tǒng)申請,不再需要時由申請者釋放。我們可以將“數(shù)據(jù)結(jié)構(gòu)”課程中鏈?zhǔn)酱鎯Y(jié)構(gòu)作為應(yīng)用案例,學(xué)習(xí)“C語言程序設(shè)計”課程中的內(nèi)存的使用。
4.2結(jié)合學(xué)生情況,采用“以賽促學(xué)”的教學(xué)方法與手段
結(jié)合OBE教育理念——成果導(dǎo)向教育、能力導(dǎo)向教育、目標(biāo)導(dǎo)向教育、需求導(dǎo)向教育,以成果為目標(biāo)導(dǎo)向,以學(xué)生為本,實(shí)施以教學(xué)成果為導(dǎo)向,創(chuàng)設(shè)多維靈活的學(xué)習(xí)評價方式。將競賽評分機(jī)制引入課程內(nèi)容作為評價標(biāo)準(zhǔn),增強(qiáng)過程性考核標(biāo)準(zhǔn)。
4.3建立學(xué)習(xí)環(huán)境,開拓學(xué)習(xí)范圍
在教學(xué)時使用學(xué)習(xí)通等平臺,讓學(xué)生自主學(xué)習(xí)基礎(chǔ)理論知識,并定期開放計算機(jī)專業(yè)實(shí)驗室。一方面為學(xué)生提供良好的訓(xùn)練平臺,在開放的過程中由學(xué)生管理為主,教學(xué)平臺管理為輔;另一方面,教師利用參與引導(dǎo)的方式,通過實(shí)驗室交流學(xué)習(xí),為不同年級的同學(xué)之間取長補(bǔ)短,對與學(xué)科相關(guān)的比賽類型和比賽內(nèi)容進(jìn)行交流分析,吸引更多的同學(xué)參與,激發(fā)學(xué)生的學(xué)習(xí)興趣。
5結(jié)語
當(dāng)進(jìn)入“數(shù)據(jù)結(jié)構(gòu)”課程的學(xué)習(xí)時,我們會發(fā)現(xiàn)很多“C語言程序設(shè)計”課程中的內(nèi)容需要深入學(xué)習(xí)。并且在應(yīng)用的過程中,總結(jié)經(jīng)驗以及進(jìn)行案例分析,對計算機(jī)專業(yè)的學(xué)生學(xué)好“C語言程序設(shè)計”課程只是入門的第一步。結(jié)合多種教學(xué)方式、教學(xué)手段,秉承“以賽促學(xué)”的理念讓學(xué)生進(jìn)行實(shí)戰(zhàn),可以為后續(xù)計算機(jī)專業(yè)課程的學(xué)習(xí)打下堅實(shí)的基礎(chǔ)。
作者簡介:
葉倩(1989—),碩士,講師,研究方向:嵌入式系統(tǒng)、機(jī)器學(xué)習(xí)。