張麗君
(錦州醫(yī)科大學(xué) 計算機教研室,遼寧 錦州 121000)
任務(wù)驅(qū)動型案例教學(xué)模式在“C語言程序設(shè)計”課程教學(xué)中的應(yīng)用研究
張麗君
(錦州醫(yī)科大學(xué) 計算機教研室,遼寧 錦州 121000)
任務(wù)驅(qū)動型案例教學(xué)模式是行之有效的全新教學(xué)方法,近些年已經(jīng)在教學(xué)中被廣泛應(yīng)用,并積累了豐富的教學(xué)經(jīng)驗。本文首先分析了“C語言程序設(shè)計”課程傳統(tǒng)教學(xué)法存在的問題,然后就任務(wù)驅(qū)動型案例教學(xué)模式在該課程教學(xué)中的應(yīng)用進行了詳細探討,通過教學(xué)實踐證明,這種教學(xué)模式不但使學(xué)生的學(xué)習(xí)興趣更加濃厚,而且大大提高了學(xué)生學(xué)習(xí)的積極主動性,同時學(xué)生分析問題解決問題的能力也明顯增強,取得了非常好的教學(xué)效果,對“C語言程序設(shè)計”課程教學(xué)起到了積極的推動作用。
任務(wù)驅(qū)動型;案例教學(xué)模式;C語言程序設(shè)計;教學(xué);應(yīng)用
“C語言程序設(shè)計”是學(xué)生學(xué)習(xí)計算機程序設(shè)計的入門課程,目前大多數(shù)高校計算機專業(yè)學(xué)生都開設(shè)了該門課程,該課程的教學(xué)目標是使學(xué)生掌握C語言的基本語句結(jié)構(gòu)、算法以及程序設(shè)計的方法和技巧,該課程是后續(xù)課程(如數(shù)據(jù)結(jié)構(gòu)等)的前導(dǎo)課程,更是其他計算機專業(yè)課程的理論和實踐基礎(chǔ)課程,因此掌握好該門課程對學(xué)生具有非常重要的意義,那么如何在“C語言程序設(shè)計”課程教學(xué)中采用行之有效的教學(xué)方法來取得最佳的教學(xué)效果,是很多任課教師都在探索的課題。任務(wù)驅(qū)動型案例教學(xué)模式建立在建構(gòu)主義教學(xué)理論基礎(chǔ)之上,充分體現(xiàn)了“雙主模式”的教學(xué)思想,是行之有效的全新教學(xué)方法,近些年已經(jīng)在教學(xué)中被廣泛應(yīng)用,并積累了豐富的教學(xué)經(jīng)驗,本文將就任務(wù)驅(qū)動型案例教學(xué)模式在“C語言程序設(shè)計”課程教學(xué)中的應(yīng)用進行詳細探討。
首先,目前大多數(shù)高校的“C語言程序設(shè)計”課程仍然采用傳統(tǒng)的“填鴨式”教學(xué)模式,即課堂以教師講授為主導(dǎo),教師一言堂,學(xué)生被動地接受所學(xué)知識。由于該課程的特點是概念比較復(fù)雜,各種語句規(guī)則嚴格,每節(jié)課上教師把主要精力都集中在講解各章節(jié)中涉及的語句、語法、程序等的基本格式功能以及使用方法上,與學(xué)生之間的互動非常少,不注重調(diào)動學(xué)生思考的積極性和主動性,學(xué)生不能參與到教學(xué)中來,使學(xué)生覺得此門課程難度大、內(nèi)容枯燥乏味,因此對學(xué)習(xí)失去興趣,上課注意力不集中、溜號現(xiàn)象嚴重。其次,教師過于重視理論內(nèi)容,學(xué)生實驗學(xué)時的安排也相對減少,上機操作時間不夠充分,并且學(xué)生上實驗時操作的主要內(nèi)容只是將理論課上教師講過的知識進行模仿測試一下結(jié)果,學(xué)生對所學(xué)知識并沒有達到真正理解,只知其然不知其所以然,在課后學(xué)生自己很難獨立寫出良好風(fēng)格的程序,沒有真正實現(xiàn)對學(xué)生程序設(shè)計能力的培養(yǎng)。另外,當(dāng)前的教學(xué)模式由于學(xué)生并沒有參與過完整的系統(tǒng)開發(fā),也使學(xué)生對所學(xué)課程缺乏整體認識,認為各章內(nèi)容聯(lián)系不大、互相脫節(jié),使學(xué)生搞不清楚所學(xué)知識在實踐中的具體應(yīng)用,在以后的學(xué)習(xí)及工作中如果遇到相關(guān)問題,學(xué)生仍然不知所措,找不到解決問題的方法。總之,以上存在的教學(xué)問題使教學(xué)效果較差,既不能充分發(fā)揮學(xué)生學(xué)習(xí)的主動性,也不利于培養(yǎng)學(xué)生獨立分析問題和解決問題的能力。
2.1任務(wù)驅(qū)動型案例教學(xué)模式介紹
傳統(tǒng)的案例教學(xué)模式是把教學(xué)內(nèi)容劃分成一個個獨立的典型案例程序,在教學(xué)過程中通過完成特定案例的事件情景來引導(dǎo)學(xué)生掌握相關(guān)的知識點,這種模式側(cè)重于對案例程序本身的分析講解,而對知識的延伸比較少,學(xué)生所掌握的知識點是零碎不系統(tǒng)的,不利于培養(yǎng)學(xué)生綜合分析問題的能力。而任務(wù)驅(qū)動型教學(xué)模式是以完成一個或多個任務(wù)為主線來展開教學(xué),把各章節(jié)的知識點融入到完成任務(wù)的各個環(huán)節(jié)中去,在推進任務(wù)的完成過程中,不斷拓寬知識的深度和廣度,直到將任務(wù)全部設(shè)計完成,使學(xué)生既學(xué)到了知識又培養(yǎng)了能力,但這種教學(xué)模式可能會遺漏一些重要的知識點,使學(xué)生對某些重要的知識點掌握不牢固。
任務(wù)驅(qū)動型案例教學(xué)模式汲取了案例教學(xué)模式和任務(wù)驅(qū)動教學(xué)模式各自的優(yōu)點,首先在課前教師要設(shè)計一個與學(xué)生所學(xué)專業(yè)相近或日常比較熟悉的大項目作為教學(xué)任務(wù)向?qū)W生發(fā)布,然后在教學(xué)過程中再把這個大的項目任務(wù)劃分成多個具體小案例,每個小案例都與這個大“任務(wù)”有著密切聯(lián)系,教師在每節(jié)課的具體教學(xué)時再把各個知識點結(jié)合這些小案例進行分析講解,使整個教學(xué)過程都以完成這個“任務(wù)”作為驅(qū)動,一步步推進任務(wù),直至將整個大任務(wù)完成,這種教學(xué)模式將教師由知識的傳授者變成了教學(xué)的引導(dǎo)者,使學(xué)生真正參與到教學(xué)中來,每節(jié)課學(xué)生都要帶著任務(wù)去學(xué)習(xí),在完成任務(wù)的過程中逐漸掌握所學(xué)知識,既能夠提高學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)的積極主動性,同時也培養(yǎng)了學(xué)生解決實際問題的能力。
2.2“C語言程序設(shè)計”課程教學(xué)內(nèi)容介紹
第一章:C語言概述,主要包括C語言的發(fā)展歷史、C語言的特點、C語言程序設(shè)計初步、C程序上機調(diào)試步驟等內(nèi)容。
第二章:基本數(shù)據(jù)類型與常用庫函數(shù),主要包括字符集與標識符、基本數(shù)據(jù)類型、常量、變量、數(shù)據(jù)的輸入與輸出函數(shù)、常用庫函數(shù)等內(nèi)容。
第三章:運算符和表達式,主要包括算術(shù)運算符和算術(shù)表達式、自增自減運算、位運算、賦值運算、關(guān)系表達式與邏輯表達式、條件表達式與逗號表達式等內(nèi)容。
第四章:算法與C語言程序設(shè)計基礎(chǔ),主要包括算法的概念、算法的常用表示方法、結(jié)構(gòu)化程序設(shè)計方法、順序結(jié)構(gòu)程序設(shè)計、選擇結(jié)構(gòu)程序設(shè)計、循環(huán)結(jié)構(gòu)程序等內(nèi)容。
第五章:數(shù)組,主要包括一維數(shù)組、二維數(shù)組、字符數(shù)組等內(nèi)容。
第六章:函數(shù),主要包括函數(shù)的定義、函數(shù)的調(diào)用、函數(shù)的嵌套調(diào)用與遞歸調(diào)用、局部變量和全局變量、變量的存儲類別、內(nèi)部函數(shù)和外部函數(shù)等內(nèi)容。
第七章:編譯預(yù)處理,主要包括宏定義、文件包含、條件編譯等內(nèi)容。
第八章:指針,主要包括指針的基本概念、指針與一維數(shù)組、指針與二維數(shù)組、指針與字符串、指針與函數(shù)、指針數(shù)組與多級指針等內(nèi)容。
第九章:結(jié)構(gòu)體與共同體,主要包括結(jié)構(gòu)體類型的定義、結(jié)構(gòu)體類型變量、結(jié)構(gòu)體數(shù)組、結(jié)構(gòu)體和指針、結(jié)構(gòu)體和函數(shù)、鏈表、共同體、枚舉、用typedef定義類型等內(nèi)容。
第十章:文件,主要包括文件的基本概念、文件的打開和關(guān)閉、文件的讀寫、文件的隨機讀寫、文件狀態(tài)檢查函數(shù)。
第十一章:C++與面向?qū)ο蠹夹g(shù),主要包括C++語言簡介、C++程序簡介、C++對C的擴充、類和對象、構(gòu)造函數(shù)、析構(gòu)函數(shù)、繼承與派生類等內(nèi)容。
2.3任務(wù)驅(qū)動型案例教學(xué)模式在“C語言程序設(shè)計”課程教學(xué)中的具體應(yīng)用
“C語言程序設(shè)計”課程具有很強的實用性,既可以用來編寫系統(tǒng)軟件,又可以用于編寫各種應(yīng)用軟件,非常適合任務(wù)驅(qū)動型案例教學(xué)模式。為了集中學(xué)生注意力、提高學(xué)生的學(xué)習(xí)興趣,教師在教學(xué)的第一次課上可以向?qū)W生展示使用C語言軟件開發(fā)的應(yīng)用軟件例子,比如:學(xué)生成績管理系統(tǒng)、財務(wù)管理系統(tǒng)等,以此作為貫穿整個一學(xué)期學(xué)習(xí)程序設(shè)計的大任務(wù),然后再詳細向?qū)W生介紹系統(tǒng)的總體架構(gòu)以及包括的各項功能模塊,以學(xué)生成績管理系統(tǒng)為例,該系統(tǒng)主要包括成績的錄入、顯示、添加、刪除、修改、查找、排序、計算總分與平均分、保存數(shù)據(jù)和退出系統(tǒng)等功能,然后將實現(xiàn)該系統(tǒng)所用到的“C語言程序設(shè)計”課程中的各章相關(guān)知識點向?qū)W生簡單作介紹,使學(xué)生對該門課程有個整體的了解,并體會到學(xué)習(xí)該課程的實際意義,接下來以開發(fā)完成該系統(tǒng)這個大任務(wù)作為整個教學(xué)過程的驅(qū)動,再將該系統(tǒng)各項功能模塊的實現(xiàn)作為具體的小案例來展開教學(xué),使教學(xué)的全部內(nèi)容與該系統(tǒng)完全融合在一起。下面對實現(xiàn)該系統(tǒng)所設(shè)計的小案例以及涉及的知識點進行簡單介紹。
小案例一:進入系統(tǒng)界面的實現(xiàn),應(yīng)用到順序結(jié)構(gòu)程序設(shè)計及輸出函數(shù)等相關(guān)知識點。
小案例二:成績錄入的實現(xiàn),應(yīng)用到循環(huán)結(jié)構(gòu)、一維數(shù)組、二維數(shù)組、字符數(shù)組等內(nèi)容。
小案例三:成績查詢的實現(xiàn),應(yīng)用到表達式、數(shù)組、選擇、循環(huán)結(jié)構(gòu)程序設(shè)計、函數(shù)、結(jié)構(gòu)體數(shù)組、指針等內(nèi)容,其中可以實現(xiàn)按用戶輸入的條件等進行成績的查詢。
小案例四:成績排序的實現(xiàn),應(yīng)用到各種排序方法、結(jié)構(gòu)體數(shù)組、指針等內(nèi)容。
通過幾年的教學(xué)實踐證明,在“C語言程序設(shè)計”課程中引入任務(wù)驅(qū)動型案例教學(xué)模式,與傳統(tǒng)的教學(xué)方法相比,不但使學(xué)生的學(xué)習(xí)興趣更加濃厚,而且大大提高了學(xué)生學(xué)習(xí)的積極主動性,同時學(xué)生分析問題解決問題的能力也明顯增強,取得了非常好的教學(xué)效果,對“C語言程序設(shè)計”課程教學(xué)起到了積極的推動作用。
主要參考文獻
[1]葉健華,黎峰.“項目驅(qū)動+案例教學(xué)”模式在C語言教學(xué)中的應(yīng)用[J].濟南職業(yè)學(xué)院學(xué)報,2009(3).
[2]于秦,居太亮,段景山.任務(wù)驅(qū)動型案例教學(xué)法在教學(xué)中的應(yīng)用[J].實驗科學(xué)與技術(shù),2012(z1).
10.3969/j.issn.1673 - 0194.2016.20.148
TP312.1-4
A
1673-0194(2016)20-0218-02
2016-09-20