劉海玲 李軍懷 劉玉萍


摘 要:分析目前高等教育人才培養所面臨的挑戰,針對市場需求人才和學校培養人才在能力上存在差異這一現象,引出工程實踐教育中創新精神、實踐能力和表達能力培養的問題,并將現有的工程教育理念CDIO本土化為基于PIP(practice innovation presentation)能力培養的教學理念,提出將其引入計算機和軟件開發類課程教學中,給出該教學理念在實際授課中的實現方案,進而對實際操作和實踐過程進行詳細說明,最后對所遇到的問題進行分析和小結。
關鍵詞:CDIO;PIP;實踐能力;表達能力;協作能力;軟件開發類課程
1 背 景
在高等教育普及過程中,高等教育面臨著非常嚴峻的挑戰,這種挑戰來自于各高校培養的人才與企業所需的人才在工作能力方面存在差異,主要表現在以下4方面:①專業基礎素養和快速、獨立自主學習的能力;②工程應用能力;③溝通能力及團隊合作能力;④實踐創新能力。為了減少上述差異與不同,各個高校通過工程教育實踐,已經構建了多層次、多元化的人才培養體系。然而,目前所做的探索與實踐,仍然不能有效解決所有問題。
在這個問題中,創新精神和動手實踐能力是素質教育的重要組成部分之一,也是學生將來順利走上工作崗位并適應工作的重要條件。一些教育學者和研究者通過探索工程實踐類課程的教學工作與過程,提出了自己的觀點,都將重點放在以第一課堂為主的教學內容和課程體系改革上;也有部分教育者將CDIO教育理念引入該類課程體系,相應的課程培養大綱將工科畢業生的能力分為工程基礎知識、個人能力、團隊能力和工程系統能力4個層面,要求以綜合培養方式使學生達到這4個層面的預定目標[1]。迄今為止,已有幾十所世界知名大學加入CDIO組織,依據該模式培養出來的學生也受到社會與企業的普遍歡迎[2]。中國也有部分高校應用了CDIO教育理念和模式[3-4],如汕頭大學提出EIP-CDIO培養模式,將講道德、講誠信和職業化融入該工程教育理念中;成都信息工程大學確立以需求為導向的培養目標,培養過程中強調將CDIO的4個步驟與課程體系完美融合,并推進工程教育專業認證的發展等。
2 基于PIP能力培養的教學法在軟件開發類課程中的可行性分析
基于PIP(practice innovation presentation)能力培養的教學法來源于CDIO教學理念,以軟件產品研發到軟件產品運行的生命周期為載體,讓學生以主動實踐和合作創新的態度參與課程的進程。課程培養大綱中將學生的能力劃分為專業基礎知識、個人開發能力和個人團隊合作能力,即實踐能力、創新能力和表達能力3個方面。圍繞這個大綱,可以案例式、小組式、線上線下等多樣、綜合的培養方式,幫助學生在這3個層面達到預定目標。
基于PIP能力培養的教學法,首先,其基本教學理念在CDIO教學理念的基礎之上做了進一步地明確與細化,容易被教育者所理解與接受;其次,針對案例,即授課對象是計算機專業軟件開發類的學生,該教學理念具有更重要的指導意義。據我們對學生與學情的統計與分析,他們從入學以后就逐漸開始接受各種編程語言的訓練,但是隨著學生所掌握的編程語言不斷增多,學生在完整的項目設計、實現及應用方面的能力仍有所欠缺,在知識綜合應用能力方面比較薄弱。基于PIP能力培養的教學法正好可以彌補上述教學法的不足,將實踐能力、協作能力和創新能力的要求提升到更重要的位置,通過將理論與實際項目有效結合,項目案例的真實模擬既重視理論知識的指導作用,又強調實踐對學生專業編程能力的提高作用,這與軟件開發類課程的教學特點和要求相一致。綜上,基于PIP能力培養的教學法在軟件開發類課程中是適用的,也是可行的。
3 基于PIP能力培養的教學法實現方案設計
在將基于PIP能力培養的教學法引入軟件開發類課程時,需要重點思考及把握的問題包括:①基于PIP能力培養的課程教學模式,其體系結構、核心內容和方法的研究;②基于PIP能力培養的實踐教學體系相關基礎性問題;③教學評價與考核環節的課程考核問題;④以實際項目開發為目標時,授課過程中,理論教學和實際操作的占比與分配問題如何取舍;⑤將基于PIP能力培養的教學法引入軟件開發類課程時,對教師的能力又有什么要求。綜上所述,結合我們對CDIO教育理念的研究,可以得出基于PIP能力培養的教學法實現方案,如圖1所示。
4 基于PIP能力培養的教學法在.Net技術與應用開發課程中的具體操作和實踐
依據圖1基于PIP能力培養的教學法實現方案思想,可以在具體課程中開展基于PIP能力培養教學法的實踐,操作過程分述如下。
4.1 研究階段
1)調研與分析。
在調研與分析階段,我們走訪相關的兄弟院校及校外的計算機教育機構,主要針對當前高等教育中計算機軟件開發類課程的教學現狀進行調研,對目前基于CDIO教學理論的相關學術文獻進行搜索、查閱與思考,及時了解與之相關的最新研究動態及研究成果如文獻[5],并關注其在計算機類課程中的應用與實踐研究進展。
2)理論探索。
在理論探索階段,我們主要從理論層面分析和研究基于PIP能力培養的課程教學體系架構建設問題,如教學原理、教學運作、教學評價模型等理論問題,即在CDIO教育理念的研究基礎上,通過分析、比對與思考,給出基于PIP能力培養的定義和相關過程的解釋,使其更加適應軟件開發類課程的教學工作。
4.2 準備階段
1)學情分析。
①當前,重慶科技學院正積極從傳統本科院校向應用型本科院校轉型,而應用型本科院校是以應用作為辦學定位,而不是之前的以科研作為辦學定位。相應地,與傳統的學術科研型本科院校相比,應用型本科院校學生的學習特點與學習能力都有所區別,普遍存在學習目標不明確、自我學習能力較弱、學習的主觀性和規劃性較弱等不足之處。②依據專業培養方案,專業課程分為兩個階段:前期主要開設計算理論、算法和數據結構、操作系統、計算機網絡等計算機專業基礎課程;中后期開設偏應用類型的課程,應用之前所學的相關學科知識和綜合知識分析問題并解決問題,讓學生進行更多的實驗和實踐探索。
2)課程分析。
.Net技術與應用開發課程的前導性專業課程有C/C++語言程序設計、操作系統原理、數據結構、數據庫技術與應用、網站開發技術、計算機網絡等;后續課程有.Net技術與應用開發高級開發技術、面向對象程序設計、設計模式以及相關的課程實踐環節。課程共48學時,目前理論課與實踐課各占24學時。
通過對前期研究階段與準備階段的分析和調研,可以發現各個學校的課程設置和課程門類眾多,培養計劃的設計強調軟件開發類課程的基礎知識、系統性和連續性,這是開展基于PIP能力培養的課程教學改革與實踐的有利條件。
3)課程學習路線圖制訂。
依據微軟官方認證MCPD認證考試的路線圖和.Net軟件開發人員的職業發展路線,我們分析總結出該技術體系的學習路線圖,如圖2所示,并找準該課程在學習路線中所處的位置,制定課程的授課計劃及內容,選擇合適的項目案例。
4.3 實施階段
1)教學對象情況與選擇。
我們以2013級軟件開發類共2個平行教學班學生作為教學對象,并選擇其他年級未采用該教學方法的學生作為比對數據。這2個班的學生都至少學習過一門編程語言,部分學生甚至學習過2種編程語言如C++、C或者Java,但只有為數不多的學生可以用所學的技術和語言進行實際項目的設計、開發與實現,絕大部分學生無法單獨設計并實現一個小型項目;這是因為他們僅僅局限于熟悉編程語言基本語法,雖然有做實際項目開發的愿望,但是在缺少引導的情況下,還未能將被動學習狀態調整為主動學習狀態。
2)教學資源準備。
通過分析2013—2015年的企業招聘及用人單位,如Microsoft Corporation、北京百度網訊科技有限公司、騰訊科技有限公司等公司的用人需求,針對他們對軟件開發工程師崗位職能要求的描述,學生在校時應該培養的職業素養主要包括以下幾個方面:①學歷要求及計算機專業知識素養;②相關計算機編程語言的編程經驗和項目開發經驗;③個人能力要求,即分析和解決問題的能力、團隊協作精神、良好的溝通和表達能力。其中,第一點要求貫穿于學生4年的求學生涯,是一個完整的學習過程,而后面的兩點則需要在專業課程中有意識地引導和強化,這也是基于PIP能力培養的課程教學改革的目標和核心內容。對應到實際的課程教學目標,即不再以基本的知識點和語法點為學習目標,而是以綜合的工程實踐能力、項目設計與開發能力為培養目標,同時加入對學生團隊協作能力和個人表達能力的引導;其次,依據圖2中.Net開發技術學習路線圖,我們修改該課程的教學大綱并依據修改后的教學大綱,認真制定課程的授課計劃,通過選擇適合的項目和案例,做到前后首尾相接,爭取上一章節的項目可以繼續在下一章得到豐富和完善。
3)教學過程設計。
教學過程不再以單一的教師講解為主,也不再針對單獨的語法進行代碼演示與講解,而是采用精選的項目以及實際案例貫穿整個學期的學習過程,在讓學生掌握基礎知識點的同時,注重對學生實踐能力與開發能力的培養。
為了培養學生的團隊協作和個人表達能力,可以將班級學生按照5~6人一組的規模進行自由分組;對于每章的項目,在各章節結束后,先在各小組內進行表述和評比,選出各小組的最優實現后,再在全班范圍內進行小組公開比賽。這種形式的活動可以培養學生的團隊協作意識,代碼的分析與講解還可以讓學生自己進行代碼的比對,學習別人的編程經驗,做到查缺補漏、相互提高、共同進步。
為了實現以上教學過程,教師在組織教學時,既要點明當前的知識要點,又要將其應用到實際案例中,并在案例中進行知識點的應用與強化;教學過程中,教師始終需要注重學生個人編程能力與解決問題能力的培養;此外,考慮到學生能力在不斷變化,項目的難易程度逐漸遞增,項目的協作度也應由簡到繁,如在課程初期,學生還未曾接觸項目開發這一過程,因此,教師可以做出示范,首先給出一個實現思路并向學生完整展示出自己的實現過程,再讓學生模仿教師完成該項目的實現,然后對完成的項目代碼進行思考和優化;課程中期時,針對項目案例,教師只給出一個主要的分析思路及要點點撥,然后組織學生開展小組討論,進行項目分析與設計,最后由每位學生獨立完成項目的實現;課程進行到后期時,由于內容增多且難度增加,由小組進行項目分析與設計,可以依據組員的特長進行分工協作,最后完成項目的整合。例如,課程的第4講主要內容為C#中面向對象的最基本概念,包括類、對象、方法和屬性,第5講和第6講主要內容為C#中的控制語句,這3章的概念屬于基礎性內容,可以選擇一個貫穿這3章的實際項目,即學生成績管理系統,主要為教師提供服務,包括對學生課程成績進行相關操作(輸入、保存、顯示、計算等)以及顯示課程、教師相關信息。隨著章節的進行,項目內容逐漸豐富,功能的設計與知識點緊密結合。該案例的設計與實現從項目設計、開發與實現的角度,將枯燥的基礎內容變得更豐富和更有吸引力,讓學生從簡單的項目入手,建立良好的編程規范,對項目開發基本流程有一個直觀的了解。
4)課程實施。
(1)依據CDIO教學理念及教學改革的目標,即基于PIP能力培養的目標,在授課之前可以通過調查與問卷的形式,對學生的學習情況及個人課程學習期望值進行調研與統計分析。統計數據表明,學生從自身出發對該教學方法的理念呈認同態度,他們也希望能通過該課程的學習,提高自己的實踐能力、表達能力和協作能力,使自己的綜合能力更接近用人單位的實際要求。
(2)課程教學活動的實施。如何將基于PIP能力培養的教學法引入教學活動中,進而達到最好的教學效果,為了這一目的,我們做了以下嘗試:將基于PIP能力培養的教學法引入每個學時的課堂活動中,在組織課堂內容時,通過案例法和項目法,針對特定的知識點進行目的明確的知識學習和應用練習,引導學生以項目開發的方式進行設計與思維,提高學生的實踐能力。因此,教學活動的實施須按照3個步驟進行:拋出問題,即本節課需要解決的問題或者實現的案例;分析問題,即用什么技術或者方法可以實現該問題,新技術或者知識點的引入;解決問題,用所學的新知識對問題進行實現。
首先,為了引導學生分析和思考問題,還可以加入其他解法的討論環節;其次,圍繞知識點設計的案例或者項目,需要學生自己動手編程實現其功能要求,再加入分享和討論環節,對各典型實現方案進行點評,讓學生直觀地明白什么樣的代碼實現是合乎規范的;最后,在課程講授過程中,教師要激發學生的學習主動性,讓學生體會到編程的樂趣,并讓優秀的學生帶動其他學生,而不是讓學生獨立封閉地進行學習,如對于同樣的案例,有些學生可以想到不一樣的解決方案,他們解決問題時所使用的知識也具有靈活性,讓這些學生帶動其他學生,可以以學促學。為了提高學生學習的興趣,教師在選擇項目時可以考慮加入一定的游戲項目元素,如五子棋項目,學生在學習時對有游戲元素項目的興趣明顯高于其他項目。
(3)依據PIP能力培養的目標,更新考核標準與方式。將該方法引入教學時,考核不再像之前的傳統考試模式,而是注重學生綜合能力的考核,即考核成績需要反映學生的知識掌握情況、工程實踐能力、專業技能與素質、團隊協作能力等,這種評價貫穿于整個教學過程。我們已經改進了評價學生課程成績的方法與體系,努力做到綜合性、階段化、細致化并客觀地評定學生的學業成績。此外,考核結束之后,為了分析教學效果,我們將自然授課的學生即按照常規教學方案進行授課的學生,與實驗授課的學生進行各項數據的比對,可以看出,在對項目開發的認知、編程規范性、解決問題能力、個人表達能力與團隊協作能力上,兩組學生的表現有很大不同。
5 實施基于PIP能力培養的教學法時所遇到的問題、問題分析及應注意的事項
1)問題1:如何才能做到最有效的課時分配。
通過實踐,我們發現為了提高學生的個人表達能力和團隊協作能力,需要在課堂內引入小組討論、小組演示、講解和競賽環節,而這些環節都是需要時間的。軟件開發類課程的知識點及課程內容較多,加入這些環節后,更惡化了這個問題。那么,有沒有其他更好的方式鍛煉學生的表達能力和小組協作能力呢?如何合理分配時間,用最短的時間使學習效率最大化呢?這些都是我們在教學實踐中遇到的問題。
2)問題2:將該方法引入教學中時,對教師的能力有哪些要求。
目前,絕大部分的教師在教學設計和教學方法的應用能力及教學調控方面都做得很好,但是這些教學能力對于轉型下的工程應用類課程教學來說還遠遠不夠。因為工程應用類課程的教學還需要教師具備工程教學能力和工程實踐能力,所以對于工程實踐類課程的教師來說,首先需要探索自己在授課過程中的定位,將講解、引導、思考和實踐結合起來;其次,教師還需要提高自身的工程實踐能力與項目開發能力[6],只有這方面的專業技能有所提高,才能選擇出適合的項目,設計教學案例,推動課程的整個實施環節。
3)問題3:如何更專業、更細致地評價學生的該課程綜合實踐能力。
雖然我們已經更新了學生的考核標準并將之細化到整個學習過程,但是還沒有形成一個完整的、專業的且體系化的評價標準,這也是后續研究中需要關注的問題。
6 結 語
通過實踐與分析,我們得出以下結論:對于不同層次的計算機軟件開發類學習者,教師可以依據學生自身的編程水平、開發能力與個人技術特點,適當地制訂并引入該教學法,較好地提高學生的編程能力、解決問題能力、表達能力及團隊協作能力,這對于目前正在轉型的應用型本科軟件開發類專業來說有一定的借鑒意義。在后續工作中,還存在一些需要研究的問題:①基于PIP能力培養的課程教學如何從點走向面;②開設以應用技能為基礎的相關課程,課時的設置與比例問題;③基于PIP能力培養的教學法如何建設,才能成為一種較完善的學習體系并在實際中做到效果更加顯著。
參考文獻:
[1] 馬麗穎. CDIO理念在應用技術型大學影視實踐類課程教學中的應用研究[D]. 石家莊: 河北師范大學, 2016: 11.
[2] Sun Y J, Qi C X, Yang L J. The research and practice of ‘U-Learning+ CDIOmodel[C]//The 2nd International Conference on Social Science and Higher Education(ICSSHE 2016). Amsterdam: Atlantis Press, 2016: 443-446.
[3] 曹海平, 管圖華. 基于CDIO理念的電工電子實訓教學改革與實踐[J]. 實驗室研究與探索, 2013 (1): 140-142.
[4] 李建震, 閆朝陽, 鄭兆兆. 基于CDIO理念的電工電子實驗教學體系構建[J]. 高教研究與實踐, 2015(3): 39-42.
[5] Zhang L, Li X N, Wang X H. Exploration and application in teaching integrated circuits based on CDIO[C]//2015 International Conference on Economics, Social Science, Arts, Education and Management Engineering(ESSAEME 2015). Amsterdam: Atlantis Press, 2015: 537-540.
[6] 曹淼孫, 梁志星. 基于CDIO理念的工程專業教師角色轉型[J]. 高等工程教育研究, 2012 (1): 88-91.
(編輯:宋文婷)