蘇世文
(江蘇經(jīng)貿(mào)職業(yè)技術(shù)學院 信息技術(shù)學院,江蘇 南京 211168)
程序設(shè)計類課程是高職軟件技術(shù)等相關(guān)專業(yè)的一門核心基礎(chǔ)課程,也是這些專業(yè)學生進入大學接觸的第一門專業(yè)課程,該課程的學習效果將直接影響后續(xù)專業(yè)課程的學習。隨著我國高職教學改革的不斷深入,在程序設(shè)計課堂教學中不斷引入新的教學模式顯得極為迫切,因此,有必要對該課程各種教學模式的應用現(xiàn)狀進行研究,為該課程進行教學模式的選擇和實施提供幫助。
在已有教學模式改革應用類的文獻中,對傳統(tǒng)教學模式進行問題分析時,都認為程序設(shè)計課程產(chǎn)生問題的根本原因是傳統(tǒng)教學模式引起的,因此,筆者從課程目的和目標、課程內(nèi)容選取與組織、課程實施過程和教學效果這3個方面,分別總結(jié)該課程在使用傳統(tǒng)教學模式時存在的主要問題。
主要包括學生不具備利用所學解決實際問題的能力以及沒有達到獲得實際項目開發(fā)經(jīng)驗的目的[1-3],學生編程能力沒有得到很好鍛煉以及協(xié)作意識沒有增強[4-5]。
主要包括教學內(nèi)容滯后,與當前企業(yè)實際使用的技術(shù)脫節(jié)[6];語法概念和知識過多,功能特性、項目案例實戰(zhàn)過少且內(nèi)容落后[1-4];知識點零散[2];實驗或上機實踐內(nèi)容圍繞章節(jié)內(nèi)容設(shè)計,沒有整體性和連貫性[3-7]。
主要包括教學課時相對較少[3];采用“滿堂灌”的方式,只注重概念理解,不注重課堂氛圍和互動;學生被動學習,主動性欠佳,對老師過于依賴,極易使學生產(chǎn)生厭煩和疲倦心理,導致上課聽課的學生較少,知識的吸收率不高,容易遺忘;忽略實驗上機教學環(huán)節(jié),學生操作練習的時間少,只會按照教師講授的依葫蘆畫瓢,沒有真正理解;先教后練,教師很難顧及學生個體的學習差異及學習中的問題;教師“示范”、學生“操作”,教師“糾正”、學生“再操作”的步驟推進,不能有效發(fā)揮學生主觀能動性;課外學習沒有有效的監(jiān)控手段和指導方式等[5,7-10]。
為解決程序設(shè)計基礎(chǔ)類課程中傳統(tǒng)教學模式帶來的問題,各高職院校在教學改革中主動將新的教學模式應用到該課程中,本文所研究的論文基本涵蓋了目前廣泛應用和研究的各種教學模式,很多論文中還將多種教學模式進行了融合。從實施效果的定性分析上看,論文均認為在學生的可接受性、激發(fā)學生學習興趣、培養(yǎng)自主學習能力、增強協(xié)作意識、提高分析問題和解決問題的能力以及編程技能和實際項目經(jīng)驗的提升上有明顯的效果。按照教學模式的主要類別,分別介紹各教學模式的應用現(xiàn)狀。
采用項目化教學模式的論文一般強調(diào)采用盡量模擬真實環(huán)境的項目作為載體,以真實的項目開發(fā)過程創(chuàng)設(shè)學習情境并進行教學的組織和實施,其教學步驟一般包括情境設(shè)置、操作示范、獨立探索、確定項目、協(xié)作學習和教學評價。該教學模式修改了傳統(tǒng)課本的知識結(jié)構(gòu),力圖將課本的知識融入到項目的實現(xiàn)過程中[2-3]。在實施效果的定量分析中,文獻[2]認為除基礎(chǔ)知識的掌握外,在編程能力上實驗班比普通班也有較大提高。
采用這兩種教學模式的論文均強調(diào)了以企業(yè)的崗位工作任務和工作流程為導向,以企業(yè)的崗位能力或職業(yè)標準為目標進行課程設(shè)計,其內(nèi)容設(shè)置均采用將項目作為載體,強調(diào)將知識融入到具體的行動或?qū)W習性工作任務中。從教學過程看,工作過程導向的教學模式采用任務驅(qū)動的方法,主要包括資訊、決策、計劃、實施、檢查和評價。從項目選擇上,工作過程導向模式有的采用了小項目為載體,有的在貫通項目中采用了漸進式項目驅(qū)動、分層教學的方法[6,7,11];行動導向教學模式是在“行動—學習—行動”的指導原則下對知識和技能按從問題簡單到復雜的過程循環(huán)反復進行。
這兩種教學模式以認知發(fā)現(xiàn)理論為基礎(chǔ),其區(qū)別主要在于基于PBL的教學模式以問題開始學習,認知學徒制則從觀察教師的示范開始。兩種模式通過反思、指導的循環(huán)后都要求達到學生自主解決問題的目的。這兩種模式都是從研究性大學不斷擴展到其他教育形式中的。采用這兩種模式的論文沒有采用模擬真實的企業(yè)項目或工作過程,仍然采用了傳統(tǒng)的教學內(nèi)容組織模式,只是按人類的認知過程對教學過程進行了重構(gòu)[4,12]。
混合式教學模式主要包括“微課”、“慕課”、翻轉(zhuǎn)課堂、JiTT(Just-in-Time Teaching)等教學模式,應用者均借助了一個模擬真實教學環(huán)境的虛擬教學平臺,通過把課程的學習指南、學習任務、問題設(shè)計、多層次的信息化學習資源、練習測試、問題與總結(jié)、學習評價等各類教學資源發(fā)布到教學平臺上,實現(xiàn)師生之間的實時遠程交互。在教學組織上,該模式通過“微課”、“慕課”以及其他教學資源完成針對知識點和概念的自主學習,課堂主要用于解答疑惑、問題探究、指導性練習、總結(jié)評價等教師與學生之間互動[1,5,8-10,13,14]。在教學內(nèi)容上,該模式既有沿襲傳統(tǒng)知識結(jié)構(gòu)進行教學的,也有基于任務和基于項目而開展教學的。在教學效果的定量分析上,文獻[5]認為實驗班與普通班相比,優(yōu)和良的學生比例大幅上升;文獻[13]得出了實驗班的優(yōu)秀率和及格率比普通班均有明顯提高的結(jié)論。
通過對所研究的文獻進行分析可以看出,各種教學模式在實際中根據(jù)上面的應用效果分析結(jié)果,似乎都取得了較好的效果,那么我們可以得出新的教學模式要遠遠優(yōu)于傳統(tǒng)教學模式的結(jié)論嗎?另外,這些教學模式之間,存在孰優(yōu)孰劣的問題嗎?
任何教學模式的產(chǎn)生,都是為了解決以前教學模式的問題而不斷產(chǎn)生和發(fā)展起來了。因此,要回答上述問題,還要從前文總結(jié)出來的問題入手。
在上文,很多文獻均將培養(yǎng)解決實際問題獲得實際項目開發(fā)經(jīng)驗、增強協(xié)作意識作為課程的主要目的和目標,并試圖通過新的教學模式實現(xiàn)這些目的和目標。
如果按照軟件工程的觀點,一個軟件的開發(fā)需要經(jīng)歷可行性分析、需求分析、系統(tǒng)設(shè)計、系統(tǒng)實現(xiàn)、系統(tǒng)測試、部署和實施等多個過程,這些過程又涉及產(chǎn)品設(shè)計、項目管理、系統(tǒng)分析設(shè)計、美工、程序、測試等多個崗位(即使按敏捷開發(fā)的思想,也只是對這些過程使用了迭代的思想,而不是取消了這些過程和崗位)。如果按照現(xiàn)在“全?!惫こ處煹挠^點,一個項目由一個人來實施,那就需要這名工程師掌握上述過程的所有基本技能。這樣的復合能力,應該是一個專業(yè)的目的和目標,希望在一門針對初學者的基礎(chǔ)課程中,通過盡量模擬真實的項目作為載體的方式、盡量模擬真實的企業(yè)流程的方式培養(yǎng)這些能力,一定是一項不可能完成的任務。在采用項目化教學和基于工作過程這類教學模式時,我們應該選取的是對真實項目、真實工作任務再造后,適合于這門課程的學習性項目和學習性工作任務,即通過項目和任務掌握這門課程應該具備的知識和技能。
有的文獻認為當前程序設(shè)計基礎(chǔ)類課程的教學內(nèi)容滯后,高級的功能特性介紹過少,與當前企業(yè)實際使用的技術(shù)脫節(jié)。實際上,C和C++的語法基本沒有發(fā)生大的變化,Java、C#、JavaScript、PHP語言雖然在語法上增加了一些新特性,但其核心內(nèi)容也是穩(wěn)定的。在實際的軟件開發(fā)過程中,程序員通常會在語言的基礎(chǔ)上通過技術(shù)、框架等所謂的高級特性來完成具體的工作,如果把典型工作任務不加分解就形成對應的多個學習領(lǐng)域課程、將真實項目不進行簡化而直接拿來做學習性工作任務和學習項目時,就會出現(xiàn)上面的認識錯誤。
提出知識點零散問題的文獻在認識上顛倒了傳統(tǒng)教學模式和基于工作過程、行為導向或項目化教學模式之間的區(qū)別,傳統(tǒng)教學模式的知識點是按照知識的內(nèi)在邏輯結(jié)構(gòu)進行組織,其知識的結(jié)構(gòu)化特征明顯,而基于工作過程、行為導向或項目化教學模式強調(diào)的是做中學。在解決實際問題時,需要用到哪些知識,再學習哪些知識,其過程化的結(jié)構(gòu)明顯,但其知識點反而呈現(xiàn)碎片化的特征。
對于程序基礎(chǔ)類課程而言,由于其本身的軟件開發(fā)知識是一個基礎(chǔ)內(nèi)容,所以無論從學科體系還是從職業(yè)體系推導,新的教學模式與傳統(tǒng)的教學模式在教學內(nèi)容的知識點和能力點上沒有根本的區(qū)別,這些知識基本屬于本體化知識中的結(jié)構(gòu)性知識和概念性知識,而較少屬于認識類知識中的程序性知識、情境性知識和策略性知識。
根據(jù)相關(guān)的調(diào)查研究,高職院校學生每天的自主學習時間不足一小時[15]。通過項目、任務、問題等形式加大了學生的編碼訓練量;通過線上教學與線下教學結(jié)合的方式增加了課時的數(shù)量,提供了自主學習和差異化學習的可能性,這些都能顯著增加學生的學習和練習時間。此外,新的教學模式都強調(diào)了教師在任務和項目中的指導和互動,這些都使學生在練習時更易于獲得及時的反饋,而這恰恰符合了有目的的反復練習加上及時的反饋是技能習得的基本方式[16(127)]的刻意練習理論。這正好說明了為何在不同學習理論之上產(chǎn)生的教學模式均能達到較好效果的根本原因。
綜上,采用何種學習理論、何種教學模式,要依據(jù)學習者現(xiàn)有的能力水平、學習任務的類型,以及在這一情境中達成最優(yōu)學習效果的各種方法來確定[17]。所有的教學模式只要能促進學生的學習,就是好的模式。不應將傳統(tǒng)教學模式與新的教學模式對立起來,也不可能存在一種能夠解決高職教學所有學習問題的萬能教學模式。
[1] 楊斐. 高職Java程序設(shè)計課程“H-C-MOOCs”教學模式探索[J]. 曲靖師范學院學報, 2017(3): 60-63.
[2] 葦麗梅. 項目教學法在計算機程序設(shè)計課程中的應用[D]. 上海: 華東師范大學, 2010.
[3] 洪煒. 探討項目教學法在計算機程序設(shè)計課程中的應用[J]. 電腦編程技巧與維護, 2014(24): 41-42.
[4] 白洪濤, 何麗莉, 胡成全. 基于PBL的程序設(shè)計語言教學案例設(shè)計[J]. 科教導刊, 2015(增刊): 125-126.
[5] 林克正, 金恩海, 劉彥君, 等.“競賽激勵”理念的翻轉(zhuǎn)課堂教學模式的研究與探討: 以“C語言程序設(shè)計”課程為例[J].吉林省教育學院學報, 2016, 32(4): 177-180.
[6] 仇賓, 段繼光, 李建俊. 工作過程導向的“JAVA程序設(shè)計”課程開發(fā)[J].電腦開發(fā)與應用, 2010, 23(9): 76.
[7] 馬麗, 趙偉艇. 行動導向教學法在高職C#程序設(shè)計中的應用[J]. 計算機教育, 2010(6): 104-107.
[8] 楊蘭娟, 陳萍, 陳融, 等. 翻轉(zhuǎn)課堂教學模式的研究: 以“程序設(shè)計基礎(chǔ)”課程為例[J]. 計算機工程與科學, 2016(增刊): 146-149.
[9] 陳鴻俊. 基于“微課”的高職院校課程教學研究與探討: 以“C語言程序設(shè)計基礎(chǔ)”為例[J].中國培訓, 2017(10): 182-183.
[10] 易瑜. 基于世界大學城云平臺的高職翻轉(zhuǎn)課堂教學模式探究: 以“C語言程序設(shè)計”課程為例[J]. 職教與經(jīng)濟研究, 2016(3):35-38.
[11] 甘文麗, 張瑞玲, 趙素萍. 基于CDIO融合工作過程的Java程序設(shè)計課程改革[J]. 重慶文理學院學報, 2013, 32(3): 116-119.
[12] 陳暄. 基于認知學徒制的虛擬學習情境的設(shè)計與實踐: 以“C語言程序設(shè)計”為例[J].職教論壇, 2016(26): 72-75.
[13] 馬海峰, 秦桂英. 基于MOOCs的混合教學模式在高職C#程序設(shè)計課程教學實踐研究[J]. 常州信息職業(yè)技術(shù)學院學報,2016(1): 50-53.
[14] 王鴻丹. 基于claroline的JiTT教學模式在高職教學中的應用研究: 以“C語言程序設(shè)計”課程為例[J]. 軟件導刊: 教育技術(shù),2016(4): 15-16.
[15] 高永梅, 沈海娟, 王玲. 高職學生課余時間管理現(xiàn)狀分析及對策研究: 基于浙江省10所高職院校的調(diào)查[J]. 職教論壇, 2015(5):43-47.
[16] 安德斯·埃利克森, 羅伯特·普爾. 刻意練習[M]. 北京: 機械工業(yè)出版社, 2016.
[17] 葉增編. 建構(gòu)主義學習理論與行為主義、認知主義關(guān)鍵特征之比較[J]. 現(xiàn)代遠程教育研究, 2006(3): 64-66.