李詠琪
(湖北廣播電視大學(xué) 湖北 430073)
工程教育以工科教育模式為背景,經(jīng)過(guò)多年的探討、實(shí)踐和檢驗(yàn),形成現(xiàn)行的CDIO工程教育模式。CDIO工程教育模式是跨國(guó)研究組合Knut and Alice Wallenberg基金會(huì)提供巨額資助,從2000年起,由麻省理工理工學(xué)院和瑞典皇家工學(xué)院等大學(xué)經(jīng)四年探索后提出的,并成立了CDIO國(guó)際合作組織。它是模擬現(xiàn)代工業(yè)產(chǎn)品從構(gòu)思研發(fā)到運(yùn)行改良的生命全過(guò)程,把這個(gè)過(guò)程引入到教學(xué)過(guò)程中的一種教育模式。CDIO工程教育理念就是要以這個(gè)全過(guò)程為載體培養(yǎng)學(xué)生的工程能力,其能力不僅包括學(xué)科知識(shí),而且包括學(xué)生的終身學(xué)習(xí)能力、團(tuán)隊(duì)交流能力和在企業(yè)和社會(huì)環(huán)境下的構(gòu)思—設(shè)計(jì)—實(shí)施—運(yùn)行能力。CDIO是構(gòu)思(Conceive)、設(shè)計(jì)(Design)、實(shí)現(xiàn)(Implement)、運(yùn)作(Operate)4個(gè)英文單詞的縮寫(xiě)。它是“做中學(xué)”和“基于項(xiàng)目教育和學(xué)習(xí)”的集中概括和抽象表達(dá)。它以工程項(xiàng)目從研發(fā)到運(yùn)行的生命周期為載體,讓學(xué)生以主動(dòng)的、實(shí)踐的、課程之間有機(jī)聯(lián)系的方式學(xué)習(xí)工程。CDIO培養(yǎng)大綱將工程畢業(yè)生的能力分為工程基礎(chǔ)知識(shí)、個(gè)人能力、人際團(tuán)隊(duì)能力和工程系統(tǒng)能力四個(gè)層面,大綱要求以綜合的培養(yǎng)方式使學(xué)生在這四個(gè)層面達(dá)到預(yù)定目標(biāo)。
《C#程序設(shè)計(jì)》是一門(mén)理論綜合性高、應(yīng)用實(shí)踐性強(qiáng)的課程,在計(jì)算機(jī)相關(guān)專業(yè)的職業(yè)課程體系中屬于專業(yè)核心課程,是一門(mén)專業(yè)必修課。根據(jù)市場(chǎng)對(duì)軟件人才的需求,結(jié)合高職學(xué)生層次的能力特點(diǎn),專業(yè)的崗位目標(biāo)為:軟件企業(yè)程序員、測(cè)試員、項(xiàng)目實(shí)施工程師、客戶服務(wù)、軟件產(chǎn)品銷售員等五類崗位。而本課程所針對(duì)的第一目標(biāo)崗位是程序員,也就是在軟件企業(yè)中實(shí)現(xiàn)界面和編寫(xiě)代碼的人。
C# 程序設(shè)計(jì)課程以程序員崗位的職業(yè)能力為主線,與軟件行業(yè)合作開(kāi)發(fā)基于項(xiàng)目的課程,在調(diào)研的基礎(chǔ)上解構(gòu)出關(guān)鍵職業(yè)崗位能力,并以培養(yǎng)職業(yè)能力為目標(biāo),以項(xiàng)目為中心設(shè)計(jì)開(kāi)發(fā)課程,遵循“依崗位定項(xiàng)目、依項(xiàng)目定任務(wù)、依任務(wù)定課程、依能力選內(nèi)容”的基本原則開(kāi)發(fā)本課程。緊密結(jié)合市場(chǎng)需求,與企業(yè)合作共同開(kāi)發(fā)課程;以職業(yè)崗位需求為導(dǎo)向,確定人才培養(yǎng)方案;以典型項(xiàng)目為依據(jù),精選課程教學(xué)內(nèi)容;以真實(shí)項(xiàng)目為依托,仿真工作過(guò)程,形成職業(yè)能力;營(yíng)造基于項(xiàng)目的教學(xué)環(huán)境,培養(yǎng)學(xué)生的方法能力。在教學(xué)中實(shí)踐“面向工程、項(xiàng)目驅(qū)動(dòng)、能力培養(yǎng)、全面發(fā)展”的工程教育創(chuàng)新理念。
本課程以項(xiàng)目引領(lǐng)的方式,規(guī)范并系統(tǒng)地培養(yǎng)專業(yè)技術(shù)人才,為培養(yǎng)軟件企業(yè)程序員及測(cè)試員奠定扎實(shí)的專業(yè)知識(shí)和規(guī)范的工作作風(fēng),為后續(xù)開(kāi)發(fā)類課程打好基礎(chǔ),與此同時(shí),訓(xùn)練學(xué)生邏輯思維能力,建立一個(gè)內(nèi)容充實(shí)的職業(yè)技能教學(xué)體系。
在課程目標(biāo)方面堅(jiān)持能力、知識(shí)、素質(zhì)三位一體的原則,在堅(jiān)持能力本位的基礎(chǔ)上力求構(gòu)建相對(duì)完整的知識(shí)體系,同時(shí)貫穿以職業(yè)素質(zhì)、職業(yè)規(guī)范為主的人才素質(zhì)培養(yǎng)。
對(duì)學(xué)生的技術(shù)知識(shí)的要求包括,要求學(xué)生掌握本專業(yè)的基礎(chǔ)科學(xué)知識(shí),掌握核心工程基礎(chǔ)知識(shí)。
對(duì)學(xué)生的個(gè)人能力和職業(yè)能力的要求包括,要求學(xué)生具備工程推理和解決問(wèn)題的能力,能發(fā)現(xiàn)問(wèn)題,并系統(tǒng)地表述問(wèn)題,能對(duì)問(wèn)題進(jìn)行建模和分析,提出解決方法和建議;具備實(shí)驗(yàn)和發(fā)現(xiàn)知識(shí)的能力,能對(duì)問(wèn)題進(jìn)行實(shí)驗(yàn)性的探索;具備系統(tǒng)思維的能力,能對(duì)問(wèn)題進(jìn)行全方位的思索,確定主次與重點(diǎn),具有解決問(wèn)題時(shí)的判斷和平衡能力。
對(duì)學(xué)生的職業(yè)素養(yǎng)和團(tuán)隊(duì)精神的培養(yǎng),要求學(xué)生在崗位中有主動(dòng)性,愿意并能夠承擔(dān)風(fēng)險(xiǎn),在工作中協(xié)調(diào)執(zhí)著與變通,具備創(chuàng)造性思維與批判性思維,有求知欲和終身學(xué)習(xí)的意識(shí)和能力;能適應(yīng)團(tuán)隊(duì)工作,優(yōu)秀的學(xué)生能具備團(tuán)隊(duì)領(lǐng)導(dǎo)能力;具備表達(dá)和人際交流的能力,能用多種方式與他人進(jìn)行交流。
(1)課程有機(jī)聯(lián)系的理念。C#課程要與數(shù)據(jù)庫(kù)和ASP.NET等課程有機(jī)聯(lián)系地組織教學(xué)。(2)一體化理念。以綜合項(xiàng)目實(shí)訓(xùn)為載體,并將其分解成各子功能項(xiàng)目模塊,將知識(shí)點(diǎn)按照“構(gòu)思→設(shè)計(jì)→實(shí)現(xiàn)→運(yùn)作”路線分解到各個(gè)能力培養(yǎng)的子項(xiàng)目模塊中。最后再進(jìn)行企業(yè)項(xiàng)目實(shí)踐。(3)工程的理念,自主學(xué)習(xí)的理念。采用實(shí)際項(xiàng)目,模擬外部和社會(huì)、企業(yè)等實(shí)際環(huán)境,在項(xiàng)目中多加入一些實(shí)際問(wèn)題,在學(xué)生探索解決的這些實(shí)際問(wèn)題中,鍛煉學(xué)生工程能力和解決實(shí)際問(wèn)題的能力,提高學(xué)生自主學(xué)習(xí)能力。(4)團(tuán)隊(duì)成長(zhǎng)理念。將學(xué)生分成小組形成項(xiàng)目團(tuán)隊(duì),小組長(zhǎng)為項(xiàng)目負(fù)責(zé)人,小組成員可以輪流擔(dān)任負(fù)責(zé)人,以鍛煉每位學(xué)生的領(lǐng)導(dǎo)與協(xié)調(diào)能力。小項(xiàng)目由學(xué)生單獨(dú)完成,稍大些項(xiàng)目和綜合項(xiàng)目由學(xué)生團(tuán)隊(duì)完成。
課程改革的第一步首先是根據(jù)教學(xué)內(nèi)容選定項(xiàng)目,進(jìn)行項(xiàng)目設(shè)計(jì)。教學(xué)內(nèi)容的選取從實(shí)際工作崗位的需求、行業(yè)發(fā)展需求、學(xué)生職業(yè)發(fā)展需求等方面考慮。選取的教學(xué)內(nèi)容應(yīng)適應(yīng)當(dāng)前軟件開(kāi)發(fā)技術(shù)的發(fā)展趨勢(shì)。根據(jù)選取的教學(xué)內(nèi)容結(jié)合專業(yè)培養(yǎng)目標(biāo)和課程培養(yǎng)目標(biāo),從企業(yè)收集、篩選實(shí)際項(xiàng)目或工程,選定項(xiàng)目。根據(jù)教學(xué)知識(shí)點(diǎn),設(shè)計(jì)項(xiàng)目分為綜合項(xiàng)目實(shí)訓(xùn)和企業(yè)項(xiàng)目實(shí)踐。對(duì)于C#編程基礎(chǔ)知識(shí)的學(xué)習(xí),設(shè)計(jì)為綜合項(xiàng)目實(shí)訓(xùn)。把C#編程與數(shù)據(jù)庫(kù)相關(guān)知識(shí)相結(jié)合,設(shè)計(jì)企業(yè)項(xiàng)目實(shí)踐。
在項(xiàng)目的設(shè)計(jì)中堅(jiān)持以下幾點(diǎn)原則:(1)采用工作分析技術(shù)對(duì)工作體系進(jìn)行分解,獲得典型化的工作項(xiàng)目;(2)充分考慮項(xiàng)目的典型性,達(dá)到讓學(xué)生觸類旁通的目的;(3)充分考慮項(xiàng)目的可實(shí)施性,能夠適合學(xué)生的知識(shí)水平;(4)使項(xiàng)目基本覆蓋課程的知識(shí)、能力、素質(zhì)目標(biāo);(5)兼顧項(xiàng)目的趣味性,提高學(xué)生的學(xué)習(xí)興趣,激發(fā)學(xué)生有積極投入的愿望。
課程改革的第二步,是以項(xiàng)目組織整個(gè)教學(xué)過(guò)程。整個(gè)C#課程的教學(xué)分為兩個(gè)步驟,首先是C#基礎(chǔ)知識(shí)的學(xué)習(xí),然后是C#與數(shù)據(jù)庫(kù)知識(shí)的結(jié)合,完成企業(yè)項(xiàng)目實(shí)踐。綜合項(xiàng)目實(shí)訓(xùn)主要是學(xué)習(xí)C#程序設(shè)計(jì)的基本知識(shí)點(diǎn),在項(xiàng)目中不僅對(duì)單個(gè)知識(shí)點(diǎn)進(jìn)行講解和應(yīng)用、演示、實(shí)踐,還將知識(shí)點(diǎn)結(jié)合應(yīng)用。在教學(xué)組織與具體實(shí)施過(guò)程中,把項(xiàng)目按照知識(shí)點(diǎn)進(jìn)行分解,融合到課程的知識(shí)教學(xué)、素質(zhì)培養(yǎng)、技能培養(yǎng)當(dāng)中。項(xiàng)目實(shí)訓(xùn)要求教學(xué)班中除少數(shù)需要幫助同學(xué)外,其余同學(xué)都能獨(dú)立完成。然后將所有的主要知識(shí)點(diǎn)應(yīng)用到企業(yè)實(shí)踐項(xiàng)目中,達(dá)到融會(huì)貫通的效果,從而也累積了學(xué)生的自信心。企業(yè)項(xiàng)目實(shí)踐,會(huì)設(shè)計(jì)一些結(jié)合數(shù)據(jù)庫(kù)的管理系統(tǒng),讓學(xué)生按照軟件的開(kāi)發(fā)流程來(lái)自行設(shè)計(jì)開(kāi)發(fā)。比如學(xué)生信息管理系統(tǒng)、圖書(shū)管理系統(tǒng)和商城管理系統(tǒng)等。在進(jìn)行企業(yè)項(xiàng)目實(shí)踐時(shí),同學(xué)能自行分組,進(jìn)行分工協(xié)作完成。整個(gè)教學(xué)組織與實(shí)施過(guò)程中,老師只是引導(dǎo)和指導(dǎo)學(xué)生完成一個(gè)個(gè)的學(xué)習(xí)環(huán)節(jié)和實(shí)訓(xùn)項(xiàng)目,在其中貫穿知識(shí)點(diǎn)的講授,主要是要靠學(xué)生自己動(dòng)手實(shí)踐并領(lǐng)悟。
類的學(xué)習(xí)是C#程序設(shè)計(jì)語(yǔ)言的重難點(diǎn)。我們先以學(xué)習(xí)類的綜合項(xiàng)目實(shí)訓(xùn)來(lái)介紹CDIO理念在課程中的應(yīng)用。我們以貪吃蛇游戲項(xiàng)目來(lái)貫穿整個(gè)教學(xué)過(guò)程。該項(xiàng)目學(xué)習(xí)的知識(shí)點(diǎn)有類、對(duì)象和GDI+繪圖。我們分四個(gè)步驟來(lái)完成此項(xiàng)目,依次是構(gòu)思、設(shè)計(jì)、實(shí)現(xiàn)和運(yùn)行。第一步構(gòu)思,首先我們導(dǎo)入問(wèn)題,如何設(shè)計(jì)貪吃蛇游戲?讓學(xué)生試玩一些游戲,分析我們自己設(shè)計(jì)游戲時(shí),游戲怎么進(jìn)行?游戲要完成那些功能?第二步設(shè)計(jì),讓學(xué)生做出項(xiàng)目總體設(shè)計(jì),包括對(duì)項(xiàng)目功能的描述,游戲窗體的布局,項(xiàng)目的總體結(jié)構(gòu),包含哪些類的設(shè)計(jì),類應(yīng)實(shí)現(xiàn)的功能,每個(gè)類包含哪些字段、屬性和方法。在這個(gè)階段中講授類與對(duì)象的基本概念,類的定義、訪問(wèn)屬性、字段、方法、屬性、構(gòu)造函數(shù)等等。第三步實(shí)現(xiàn),給學(xué)生提出問(wèn)題,怎么實(shí)現(xiàn)功能?指導(dǎo)學(xué)生完成類的實(shí)現(xiàn),代碼編寫(xiě),其中講授圖形繪制基礎(chǔ)、GDI+類與對(duì)象的使用。第四步運(yùn)行。運(yùn)行過(guò)程即項(xiàng)目的測(cè)試過(guò)程。學(xué)生的測(cè)試過(guò)程中,不斷發(fā)現(xiàn)問(wèn)題,再修改代碼。在這個(gè)過(guò)程中,加強(qiáng)知識(shí)點(diǎn)的學(xué)習(xí),鍛煉學(xué)生發(fā)現(xiàn)問(wèn)題,解決問(wèn)題的能力。
下面再以企業(yè)項(xiàng)目實(shí)踐為例,來(lái)說(shuō)明CDIO理念在本課程中的應(yīng)用。企業(yè)項(xiàng)目實(shí)踐以圖書(shū)館管理信息系統(tǒng)為例。我們分四個(gè)步驟來(lái)完成此項(xiàng)目,依次是構(gòu)思、設(shè)計(jì)、實(shí)現(xiàn)和運(yùn)行。第一步構(gòu)思,首先我們導(dǎo)入問(wèn)題,如何設(shè)計(jì)一個(gè)圖書(shū)館管理系統(tǒng)?如何實(shí)現(xiàn)一個(gè)圖書(shū)館管理系統(tǒng)?接著采用案例分析法和角色扮演法,引導(dǎo)學(xué)生以不同角色登陸一些管理系統(tǒng)的案例,分析我們自己在實(shí)現(xiàn)系統(tǒng)時(shí),系統(tǒng)要實(shí)現(xiàn)哪些功能?在實(shí)現(xiàn)的時(shí)候要做哪些準(zhǔn)備?需不需要設(shè)計(jì)數(shù)據(jù)庫(kù)來(lái)存放信息等等?第二步設(shè)計(jì),帶著第一步中的這些問(wèn)題,進(jìn)行需求分析,系統(tǒng)設(shè)計(jì)、數(shù)據(jù)庫(kù)的設(shè)計(jì)和界面設(shè)計(jì)。需求分析的目的是回答系統(tǒng)將要“做什么”這個(gè)關(guān)鍵性的問(wèn)題。通過(guò)對(duì)系統(tǒng)功能進(jìn)行細(xì)致的分析,設(shè)計(jì)出一個(gè)合理的優(yōu)化系統(tǒng),確定系統(tǒng)的開(kāi)發(fā)方向。在需求分析的基礎(chǔ)上,進(jìn)行系統(tǒng)設(shè)計(jì),劃分系統(tǒng)的功能模塊,并完成數(shù)據(jù)庫(kù)的設(shè)計(jì)和類的設(shè)計(jì)。在劃分系統(tǒng)功能模塊的基礎(chǔ)上,設(shè)計(jì)系統(tǒng)各個(gè)模塊的界面。在這個(gè)階段,要求學(xué)生提交系統(tǒng)分析書(shū)。第三步實(shí)現(xiàn)。在編寫(xiě)代碼實(shí)現(xiàn)功能之前,讓學(xué)生帶著問(wèn)題,有著明確思路去寫(xiě)代碼。如怎么連接數(shù)據(jù)庫(kù);如何對(duì)用戶名和密碼進(jìn)行校驗(yàn);登錄成功如何處理;登錄失敗如何處理等等。這些問(wèn)題并不是需要學(xué)生在一開(kāi)始就弄清楚,只是告訴學(xué)生應(yīng)該怎么發(fā)現(xiàn)問(wèn)題。進(jìn)而讓學(xué)生帶著問(wèn)題思考,帶著問(wèn)題分析和解決。最后能把這個(gè)發(fā)現(xiàn)問(wèn)題、分析問(wèn)題、解決問(wèn)題的過(guò)程變成學(xué)生自己的東西。在這個(gè)階段完成項(xiàng)目的代碼編寫(xiě),實(shí)現(xiàn)系統(tǒng)的功能。第四步運(yùn)行。程序的運(yùn)行過(guò)程也是項(xiàng)目的測(cè)試過(guò)程。在教學(xué)中引入黑盒測(cè)試和白盒測(cè)試這兩種常用的測(cè)試方法。引導(dǎo)學(xué)生輸入各種測(cè)試數(shù)據(jù),如不合法數(shù)據(jù),邊界值數(shù)據(jù)等等。學(xué)生在測(cè)試的過(guò)程中會(huì)發(fā)現(xiàn)實(shí)現(xiàn)過(guò)程中編寫(xiě)代碼存在的問(wèn)題,再思考如何解決問(wèn)題。運(yùn)行之后,學(xué)生才能體會(huì)整個(gè)教學(xué)單元要學(xué)習(xí)的內(nèi)容有哪些,不足的地方在哪里,應(yīng)該如何加強(qiáng)哪一部分的學(xué)習(xí)和訓(xùn)練。老師在這個(gè)階段對(duì)項(xiàng)目進(jìn)行總結(jié),并給學(xué)生提出一些拔高性的問(wèn)題,讓學(xué)生所學(xué)的知識(shí)更接近實(shí)際應(yīng)用,擴(kuò)寬學(xué)生的知識(shí)面和應(yīng)用面。
最后課程考核改變了強(qiáng)調(diào)卷面考試成績(jī)的考核辦法,將總成績(jī)改為卷面成績(jī)占30%、平時(shí)成績(jī)占20%、實(shí)踐教學(xué)項(xiàng)目成績(jī)占 50%。卷面考核主要考核學(xué)生對(duì) C#程序設(shè)計(jì)基本知識(shí)點(diǎn)的掌握。實(shí)踐教學(xué)項(xiàng)目的考核,把綜合項(xiàng)目實(shí)訓(xùn)和企業(yè)項(xiàng)目實(shí)踐分解成多個(gè)子項(xiàng)目即任務(wù)。通過(guò)對(duì)每個(gè)子項(xiàng)目進(jìn)行有效考核,最后匯總形成實(shí)踐教學(xué)項(xiàng)目的成績(jī)。通過(guò)這種考核方式,把評(píng)價(jià)重點(diǎn)放在學(xué)生在學(xué)習(xí)過(guò)程中表現(xiàn)出來(lái)的對(duì)問(wèn)題的解決能力和對(duì)方法的理解上來(lái),而不把問(wèn)題解答結(jié)果作為唯一或最主要的評(píng)價(jià)指標(biāo)。對(duì)學(xué)生積極主動(dòng)參與探索和研究給予充分肯定,鼓勵(lì)學(xué)生思考、提問(wèn)、學(xué)以致用,鼓勵(lì)學(xué)生注重實(shí)際能力的培養(yǎng)和提高,為今后解決類似或相關(guān)問(wèn)題指明方向。
總的來(lái)說(shuō)C#課程改革在教學(xué)過(guò)程中借鑒CDIO工程教育理念,圍繞專業(yè)和課程培養(yǎng)目標(biāo),以實(shí)際項(xiàng)目從研發(fā)到運(yùn)行的生命周期為載體,讓學(xué)生以主動(dòng)的、實(shí)踐的、課程模塊間及課程間有機(jī)聯(lián)系地學(xué)習(xí),來(lái)逐步培養(yǎng)學(xué)生的基礎(chǔ)知識(shí)、個(gè)人能力、人際團(tuán)隊(duì)能力和工程系統(tǒng)能力。
[1]C#程序設(shè)計(jì)課程教學(xué)改革探索與實(shí)踐 朱曉輝 《軟件設(shè)計(jì)開(kāi)發(fā)》 2010.10
[2]“CDIO”工程教學(xué)模式在實(shí)踐教學(xué)中的實(shí)施方法研究 李善壽 重慶科技學(xué)院學(xué)報(bào) 2010.20