馮滿堂
?
基于三位一體的五年制高職“C語言程序設(shè)計”課堂教學研究
馮滿堂
摘要:針對五年制高職“C語言程序設(shè)計”課程理論深、實踐性強、傳統(tǒng)課堂教學無法兼顧理論性和實踐性等特點,嘗試提出一種基于三位一體的五年制高職“C語言程序設(shè)計”課堂教學新模式,并在課堂中加以應(yīng)用,為五年制高職“C語言程序設(shè)計”課堂教學改革進行有益探索。
關(guān)鍵詞:五年制高職;C語言程序設(shè)計;課堂教學;三位一體
C語言是一種語言簡潔、使用靈活、移植性好,既具有匯編語言的特點,又具有高級語言特點的計算機程序設(shè)計語言,是計算機專業(yè)學生必學的一門課程。鑒于此,“C語言程序設(shè)計”也成為江蘇省五年制高職軟件技術(shù)專業(yè)的一門專業(yè)骨干課程,旨在培養(yǎng)學生掌握C語言的基本語法,掌握程序設(shè)計的基本思想、基本概念和基本方法,并能運用所學的知識與技術(shù)對一般問題進行分析和程序設(shè)計,編寫出高效的C語言應(yīng)用程序。同時,該門課程也是后續(xù)“數(shù)據(jù)結(jié)構(gòu)”、“JAVA程序設(shè)計”、“C#程序設(shè)計”等課程的先導課程。
多年來,職業(yè)教育的課程教學模式是本科或?qū)?苽鹘y(tǒng)教學模式的簡化,而在傳統(tǒng)的教學模式中,教師以講授C語言的語法知識為主,再配合傳授一些編程技巧和答題技巧,不利于培養(yǎng)學生的邏輯思維能力、抽象能力和基本程序設(shè)計能力。再加上C語言涉及的概念比較多且雜,規(guī)則靈活且繁,編程時容易出錯,造成很多五年制高職生學習這門課程有畏難情緒。[1]如何有效提高該門課程的教學效課,提高學生的學習興趣和積極性,成為當下五年制高職“C語言程序設(shè)計”課程教學的難點。為了在五年制高職中有效開展“C語言程序設(shè)計”課程的教學,筆者有效結(jié)合了“C語言程序設(shè)計”這門課的特點和五年制高職生的學情,提出了理論啟發(fā)式傳授,上機圍繞任務(wù)開展、項目最后實踐的三位一體的五年制高職“C語言程序設(shè)計”課程教學的新模式,以期為五年制高職“C語言程序設(shè)計”課程教學改革進行有益的嘗試。
傳統(tǒng)的C語言教學模式過分注重語句、語法等細節(jié)的教學,理論繁瑣,內(nèi)容枯燥,知識乏味,形式單一,只注重理論知識,無法培養(yǎng)學生的程序設(shè)計能力。再加上五年制高職的學生都是中考失敗者,無論在學習能力還是學習習慣方面都有所欠缺。為了有效改善高職程序教學的效果,近幾年很多高職院校對傳統(tǒng)的課堂教學模式進行了改革,采用了項目化教學、任務(wù)驅(qū)動教學、做中學等理實一體化的教學模式。就以五年制高職“C語言程序設(shè)計”這門課程為例,很多職業(yè)學校從傳統(tǒng)的理論在教室、實驗在機房、理實分開、實驗從屬于課堂的教學模式全部放在實驗機房上課,教學模式采用了以項目為載體、以任務(wù)為驅(qū)動的理實一體的方式。先把一個完整的項目拆分成若干個小任務(wù),讓小任務(wù)來承載相應(yīng)的知識點,上課時圍繞著這個小任務(wù)先把需要的知識講一下,然后圍繞著這個任務(wù)或此任務(wù)的擴展任務(wù),讓學生自行上機編程實驗。這種教學模式表面看很好的適應(yīng)了職業(yè)教育理實一體、做中學、做中練的職教新模式,但實際的教學效果并不理想。究其原因主要是學生的基礎(chǔ)比較差,不能很好的掌握C語言程序的語法,不能獨立的完成教師所布置的任務(wù)。為了完成這個任務(wù),很多學生會采用把老師布置的或書上任務(wù)敲一遍,運行沒有錯誤,就認為自己完成了課堂任務(wù),同時,也認為自己學會了。而實際上根本就沒有學會,因為他們根本就不思考這個程序是怎么來的?程序的執(zhí)行流程是什么?為什么需要這樣寫?時間一長,“C語言程序設(shè)計”課變成了錄入課,對學生來講只是學過這門課,根本就沒有學會。
針對當下五年制高職“C語言程序設(shè)計”課堂教學要么實踐教育和理論教育平行,沒有把實踐和理論融為一體,要么教學比較關(guān)注個別零散的知識技能,就是有任務(wù)有項目也是一些為了知識點的講授而設(shè)置的死任務(wù)死項目,學生學完后要么什么也沒有學會,課程淪為文字錄入課,要么只會該任務(wù)該項目的制作,根本就實現(xiàn)不了五年制高職“C語言程序設(shè)計”課程是培養(yǎng)學生運用計算機解決實際問題方法的目的。為了有效的開展五年制高職“C語言程序設(shè)計”課程的課堂教學,本文有效結(jié)合了“C語言程序設(shè)計”這門課的特點和五年制高職生的學情,提出了理論啟發(fā)式傳授、上機圍繞任務(wù)開展、項目最后實踐的三位一體的五年制高職“C語言程序設(shè)計”課堂教學的新模式,具體的模式如圖1所示。
(一)理論啟發(fā)式傳授
“C語言程序設(shè)計”是五年制高職學生所學習的第一門程序設(shè)計課程,教師剛開始必須把大量的關(guān)于C語言的基本概念、術(shù)語、規(guī)則、執(zhí)行過程等理論知識傳授給學生,學生只有掌握了這些理論知識,才能靈活運用這些理論知識去編程解決現(xiàn)實中的問題。理論知識的學習是必需的,針對這部分理論知識,教師不能僅僅是提供信息。如果僅僅是呈現(xiàn)信息,然后加上基于問題型的教學策略,也是無濟于事的,并不能提高多少教學效益,其原因是學生不能構(gòu)建起適當?shù)男睦韴D式。有鑒于此,[2]針對C語言程序設(shè)計的理論教學應(yīng)該采用啟發(fā)式的教學方法。所謂啟發(fā)式的教學是指以學生為中心,以逐層深入的問題為引導。教師提出具有遞進性的問題,啟發(fā)學生思考解決問題的方法,學生應(yīng)用所學知識解決問題或者發(fā)現(xiàn)所學知識解決不了的問題,從而引起對新知識的重視,促進學生對新知識的主動建構(gòu)。教師在講授“C語言程序設(shè)計”理論部分知識時,可借助于多媒體課件,把教學內(nèi)容直觀、形象、生動的演示出來。同時,C語言本身是一門思維很縝密的理論課,教師在上課采用課件的同時,穿插使用黑板板書,將知識的演繹過程強調(diào)出來,如講授循環(huán)知識、方法之間的值傳遞和址傳遞時,借助于黑板比僅使用課件的教學效果要好很多。[3]
(二)上機圍繞任務(wù)開展
圖1 三位一體的教學模式
“C語言程序設(shè)計”是一門實踐性很強的課程,理論和實踐緊密結(jié)合,學生在課堂學完理論知識,必須會用所學的理論知識通過編程來解決生活中的實際問題,只有這樣,才算真正學會了“C語言程序設(shè)計”這門課。因此,必須抓好上機實驗教學環(huán)節(jié)。針對此環(huán)節(jié),筆者采用了上機實驗圍繞任務(wù)開展的教學模式。根據(jù)梅瑞爾的首要教學原理,[4]任何教學活動,不管是一節(jié)課還是一個單元甚至是一門課程,都應(yīng)該以任務(wù)為中心或面向完整任務(wù)為宗旨,即當學習者獲取的知識和原理來源于現(xiàn)實世界中的任務(wù)時才能促進學習,獲得較好的教學效果。面向完整任務(wù)是與聚焦教學目標、學會解決問題緊密聯(lián)系在一起的,任務(wù)不能簡單地歸納為學習內(nèi)容,內(nèi)容是載體,任務(wù)才是宗旨。在選取教學任務(wù)時,應(yīng)盡量貼近學生的現(xiàn)實生活,解決生活中遇到的問題是學習的終極目標,學習就是為了解決問題的,這些問題不僅包括教材中所布置的練習,同時更要求學習者能夠敏銳的發(fā)現(xiàn)和解決生活中所蘊涵的問題。
任務(wù)選取不要選取單一的工作任務(wù),應(yīng)對聚焦的完整任務(wù)進行適當?shù)男蛄谢?,也就是對復雜的任務(wù)進行分解成一系列逐漸增加復雜度的任務(wù),分解后的任務(wù)都應(yīng)是相對獨立且完整,不應(yīng)是較大任務(wù)的一個操作步驟。[5]為了減少學習者在認知上的負擔,每個后續(xù)任務(wù)最好引入少量的新知識,也就是說第一個任務(wù)最簡單,后續(xù)任務(wù)包括前面任務(wù)的相似知識點,并增加新的知識點,最后一個任務(wù)應(yīng)該包括教學目標所需要的所有知識點。如果學習任務(wù)比較復雜,可以提高單個工作任務(wù)的難度,再去接觸更加復雜的任務(wù)。針對五年制高職“C語言程序設(shè)計”雙重循環(huán)部分的知識,上機實驗時把教學任務(wù)聚焦為輸出九九乘法表,并把任務(wù)序列化為以下6個子任務(wù):輸出一行七列的星號圖形、輸出五行七列的矩形星號圖形、輸出九行九列的矩形星號圖形、輸出九行九列直角的星號圖形、輸出九九乘法表。以上6個任務(wù)從簡單到復雜,并且獨立完整,后一個任務(wù)包含前一個任務(wù)的知識點并增加新的知識點,把前面所學的單層循環(huán)、雙重循環(huán)的知識很好的應(yīng)用起來,解決輸出九九乘法這個任務(wù),能取得較好的教學效果。
(三)項目最后實踐
如果說理論啟發(fā)式傳授是教會學生理解C語言,上機實驗圍繞任務(wù)開展是輔導學生應(yīng)用C語言,到了項目最后實踐階段就是考察學生運用C語言的時候了。隨著江蘇省五年制高職4.5+0.5學制的執(zhí)行,每門專業(yè)課都會在學期末安排一到兩周的實訓周,針對“C語言程序設(shè)計”這門課程則安排項目綜合實訓。通過在實訓周安排項目實訓,既很好的檢測了學生前面所學知識情況,又培養(yǎng)了學生運用C語言編程來解決崗位中實際問題的方法和步驟,為提高和擴展職業(yè)空間打下了堅實基礎(chǔ)。
項目的選取決定著項目實訓的效果,選取的項目不能脫離教學內(nèi)容,也要考慮學生的接受能力。選取的項目必須貼合學生實際,具有現(xiàn)實背景,是學生在生活中能碰到,需要使學生了解學習的針對性,并使學生有興趣和信心完成項目。針對五年制高職學生的特點和五年制高職“C語言程序設(shè)計”課程的教學目標和教學內(nèi)容,“C語言程序設(shè)計”這門課程選取了學生很熟悉的學生成績管理系統(tǒng)的制作作為實訓項目。該項目能夠較好的把C語言程序設(shè)計的主要知識點涵蓋在內(nèi),學生通過前面所學知識能夠?qū)崿F(xiàn)或優(yōu)化該項目的功能,最后完成一個完整的項目案例,學生學習技術(shù)的同時,又獲得項目的開發(fā)經(jīng)驗,一舉兩得。該項目主要拆分成如下幾個子任務(wù):學生成績管理系統(tǒng)界面設(shè)計(順序結(jié)構(gòu)程序設(shè)計)、學生成績管理系統(tǒng)主菜單功能實現(xiàn)(分支結(jié)構(gòu)程序設(shè)計)、學生成績管理系統(tǒng)主菜單重復選擇實現(xiàn)(循環(huán)結(jié)構(gòu)程序設(shè)計)、用數(shù)組實現(xiàn)學生成績管理系統(tǒng)(數(shù)組)、用函數(shù)改善學生成績管理系統(tǒng)(函數(shù))、用結(jié)構(gòu)體優(yōu)化學生成績管理系統(tǒng)(結(jié)構(gòu)體)和用文件完善學生成績管理系統(tǒng)(文件)等7個子任務(wù)。[6]在每個任務(wù)開展教學的過程中,要盡可能讓學生獨立完成任務(wù),讓學生把自己所學的知識整合到任務(wù)中,去解決任務(wù)中的問題,并公開的展示自己所掌握的知識技能,并進行學習者之間的相互評論。
參考文獻:
[1]胡建榮,羅杰紅.高職C語言程序設(shè)計課程實踐教學體系的設(shè)計[J].計算機教育,2010(10):150-152.
[2]盛群力,馬蘭.走向3E教學——三述首要教學原理[J].遠程教育雜志,2006(4):17-24.
[3]張玉成,譚露明. C語言理論教學和實踐教學的探討[J].現(xiàn)代經(jīng)濟信息,2009(15):310-311.
[4]盛群力.五星教學過程初探[J].課程·教材·教法, 2009 (1):35-55.
[5]馮滿堂.首要教學原理在高職JAVA程序設(shè)計教學中的應(yīng)用探討[J].軟件導刊(教育技術(shù)), 2015(6):6-7.
[6]高維新. C語言程序設(shè)計項目教程[M].北京:人民郵電出版社, 2010.
[責任編輯陳國平]
中圖分類號:G712
文獻標識碼:A
文章編號:1674-7747(2016)06-0043-03
作者簡介:馮滿堂,男,南京市莫愁中等專業(yè)學校講師,碩士研究生,主要研究方向為職業(yè)教育課程改革和教學設(shè)計。
基金項目:江蘇省職業(yè)技術(shù)教育學會2015-2016年度職業(yè)教育研究立項課題(項目編號:XHDY2015066)