索望 昌燕 何林波
摘要:基于CDIO的教學(xué)模式已成為計(jì)算機(jī)編程類(lèi)課程改革的新方向,針對(duì)當(dāng)前l(fā)ava程序設(shè)計(jì)課程CDIO教學(xué)模式存在的不足,文章提出了基于OBE教學(xué)理念改進(jìn)課程設(shè)置、配套工程實(shí)踐課程、設(shè)計(jì)與專(zhuān)業(yè)緊密結(jié)合的教學(xué)案例項(xiàng)目、實(shí)施過(guò)程化考核以及基于MOOC理念改進(jìn)授課方式等改革措施。實(shí)踐證明,這些改革措施符合學(xué)校全面推行的CDIO工程教育模式,取得的成果對(duì)培養(yǎng)符合社會(huì)需求的工程技術(shù)人才具有一定的指導(dǎo)作用。
關(guān)鍵詞:工程教育;CDIO模式;教學(xué)課程改革;過(guò)程化考核;大規(guī)模在線公開(kāi)課
1.背景
隨著Java技術(shù)平臺(tái)的廣泛應(yīng)用,Java程序設(shè)計(jì)已成為國(guó)內(nèi)大多數(shù)高校計(jì)算機(jī)相關(guān)專(zhuān)業(yè)的必修課程。針對(duì)Java程序設(shè)計(jì)課程,基于CDIO的教學(xué)模式以及項(xiàng)目驅(qū)動(dòng)的教學(xué)方式已成為公認(rèn)的發(fā)展方向,近幾年得到了廣泛的發(fā)展與應(yīng)用。雖然基于CDIO的工程教育模式得到了肯定,但由于傳統(tǒng)的課程設(shè)置以及教學(xué)方法還普遍存在,工程教育模式如何落地實(shí)施、如何充分利用網(wǎng)絡(luò)新技術(shù)實(shí)施多樣化的教學(xué)手段、如何更好地培養(yǎng)學(xué)生的工程能力,還需要不斷地探索與改進(jìn)。目前,社會(huì)對(duì)計(jì)算機(jī)開(kāi)發(fā)人員的專(zhuān)業(yè)素質(zhì)和技能都有較高的要求,這就要求高校培養(yǎng)的學(xué)生既有扎實(shí)的理論基礎(chǔ),又具有一定的開(kāi)發(fā)經(jīng)驗(yàn)與實(shí)踐技能。
2.存在的問(wèn)題
基于項(xiàng)目驅(qū)動(dòng)的教學(xué)方式是目前計(jì)算機(jī)編程類(lèi)課程的主要改革方向,也是實(shí)現(xiàn)CDIO工程教育模式的重要形式,但在實(shí)施過(guò)程中還存在一些問(wèn)題:
(1)學(xué)習(xí)需求與教學(xué)目標(biāo)不清晰。目前的Java程序設(shè)計(jì)課程制訂的教學(xué)目標(biāo)還停留在本課程的范疇,計(jì)算機(jī)相關(guān)專(zhuān)業(yè)開(kāi)設(shè)的Java程序設(shè)計(jì)課程的教學(xué)目標(biāo)幾乎是一樣的,這就導(dǎo)致教學(xué)目標(biāo)過(guò)于籠統(tǒng),學(xué)生學(xué)習(xí)的需求不清晰,未與其專(zhuān)業(yè)培養(yǎng)目標(biāo)相結(jié)合。
(2)教學(xué)案例項(xiàng)目設(shè)計(jì)不合理。項(xiàng)目設(shè)計(jì)不合理主要體現(xiàn)在:①項(xiàng)目以實(shí)現(xiàn)功能為主,缺少設(shè)計(jì)環(huán)節(jié),使學(xué)生忽視設(shè)計(jì)能力的訓(xùn)練,只會(huì)依葫蘆畫(huà)瓢;②案例項(xiàng)目的設(shè)計(jì)不具備連續(xù)性和整體性;③教學(xué)目的未與專(zhuān)業(yè)知識(shí)相結(jié)合。
(3)教學(xué)方式單一?;贑DIO的工程教育模式雖然已成為教育發(fā)展的新趨勢(shì),但課堂授課依然是大學(xué)授課的主要模式。我們?cè)谡n堂教學(xué)中引入了大量的程序案例講解,學(xué)生也更加直觀地了解如何編寫(xiě)程序,但由于學(xué)生缺乏自我思考與編程實(shí)踐,未全程參與工程項(xiàng)目的設(shè)計(jì)開(kāi)發(fā),導(dǎo)致大部分學(xué)生無(wú)法獨(dú)立完成軟件項(xiàng)目的設(shè)計(jì)與開(kāi)發(fā)。
(4)課余時(shí)間師生之間缺乏溝通渠道。當(dāng)學(xué)生在課后有問(wèn)題時(shí),由于溝通渠道不通暢,學(xué)生無(wú)法及時(shí)解決學(xué)習(xí)中遇到的問(wèn)題,影響學(xué)生學(xué)習(xí)的積極性。
上述問(wèn)題都是當(dāng)前Java程序設(shè)計(jì)課程在教學(xué)中存在的典型問(wèn)題,而這些問(wèn)題的存在影響了Java課程的教學(xué)效果。結(jié)合本校推行的CDIO教學(xué)模式及OBETM(Outcomes-based Education)教學(xué)理念,我們從以下幾方面對(duì)Java程序設(shè)計(jì)課程實(shí)施教學(xué)改革,力求結(jié)合新的教學(xué)理念和模式,培養(yǎng)符合時(shí)代需求的計(jì)算機(jī)相關(guān)專(zhuān)業(yè)技術(shù)人才。
3.課程設(shè)置的改革探索
目前,Java已成為一種廣泛應(yīng)用的軟件開(kāi)發(fā)技術(shù)平臺(tái),包括Java Web開(kāi)發(fā)、Android應(yīng)用開(kāi)發(fā)、Java Card應(yīng)用開(kāi)發(fā)等。Java語(yǔ)言則是Java技術(shù)平臺(tái)的基礎(chǔ)和核心,其重要性不言而喻?;诖?,對(duì)Java程序設(shè)計(jì)課程的設(shè)置也應(yīng)作相應(yīng)調(diào)整。
3.1增加教學(xué)課時(shí)
本學(xué)期各個(gè)專(zhuān)業(yè)的培養(yǎng)方案中,Java程序設(shè)計(jì)都是一門(mén)核心課程,在課程體系中具有承上啟下的地位。鑒于Java程序設(shè)計(jì)課程的重要性,應(yīng)該加大該課程的教學(xué)課時(shí),將總課時(shí)增加到64學(xué)時(shí)甚至更高,也可以采用分兩學(xué)期教學(xué)的方式,第一學(xué)期為Java程序設(shè)計(jì)入門(mén),第二學(xué)期為Java高級(jí)編程。加大Java程序設(shè)計(jì)課程的總課時(shí)量才能為以項(xiàng)目為驅(qū)動(dòng)的教學(xué)模式以及工程教育理念的實(shí)施提供保障。
3.2明確學(xué)習(xí)需求與教學(xué)目標(biāo)
針對(duì)各個(gè)專(zhuān)業(yè)的培養(yǎng)目標(biāo),制定該專(zhuān)業(yè)Java,程序設(shè)計(jì)課程的學(xué)習(xí)需求與教學(xué)目標(biāo)。在OBE教學(xué)模式中,明確學(xué)習(xí)需求并制定教學(xué)目標(biāo)是關(guān)鍵步驟,也是最后進(jìn)行學(xué)習(xí)產(chǎn)出評(píng)估的標(biāo)準(zhǔn)。借鑒OBE教學(xué)模式,我們基于各專(zhuān)業(yè)的培養(yǎng)目標(biāo)來(lái)確定本課程的學(xué)習(xí)需求和教學(xué)目標(biāo)。編寫(xiě)計(jì)算機(jī)程序是為了更高效、更準(zhǔn)確地解決專(zhuān)業(yè)問(wèn)題,所以將程序設(shè)計(jì)學(xué)習(xí)與專(zhuān)業(yè)知識(shí)緊密結(jié)合才是更加合理的做法。Java程序設(shè)計(jì)課程的教學(xué)目標(biāo)不只要求學(xué)生掌握J(rèn)ava程序設(shè)計(jì),更要求學(xué)生編寫(xiě)Java程序來(lái)解決專(zhuān)業(yè)問(wèn)題?;诖?,我們明確了學(xué)生學(xué)習(xí)的需求,制訂了相應(yīng)的教學(xué)目標(biāo),并以此為基礎(chǔ)更新教學(xué)內(nèi)容?;贘ava技術(shù)廣泛應(yīng)用于Web平臺(tái)和Android平臺(tái)的應(yīng)用開(kāi)發(fā),我們?nèi)サ袅嗽械腁WT和SWING部分內(nèi)容,根據(jù)各個(gè)專(zhuān)業(yè)的要求加入與專(zhuān)業(yè)相關(guān)的Java技術(shù)內(nèi)容,這更符合學(xué)生的培養(yǎng)目標(biāo)。表1列舉出了本學(xué)院各專(zhuān)業(yè)Java課程新增的Java技術(shù)內(nèi)容。
3.3配套工程實(shí)踐課程
為了徹底貫徹CDIO工程教育模式、應(yīng)用OBE教育理念,我們強(qiáng)化了各個(gè)專(zhuān)業(yè)的實(shí)踐課程體系,也加強(qiáng)了工程實(shí)踐訓(xùn)練,配套增加了對(duì)應(yīng)的工程實(shí)踐課。針對(duì)各個(gè)專(zhuān)業(yè)設(shè)計(jì)了不同的工程實(shí)踐大項(xiàng)目,項(xiàng)目從第2學(xué)期延續(xù)到第6學(xué)期,所需知識(shí)囊括了其專(zhuān)業(yè)培養(yǎng)方案的所有課程,項(xiàng)目訓(xùn)練的內(nèi)容涵蓋了CDIO工程教育模式的4個(gè)方面:構(gòu)思(conceive)、設(shè)計(jì)(design)、實(shí)現(xiàn)(implement)和運(yùn)作(operate)。針對(duì)Java程序設(shè)計(jì)課程,我們?cè)陂_(kāi)課學(xué)期開(kāi)設(shè)對(duì)應(yīng)的工程實(shí)踐。該學(xué)期的工程實(shí)踐要求學(xué)生完成一個(gè)Java項(xiàng)目的設(shè)計(jì)與開(kāi)發(fā),該項(xiàng)目是工程實(shí)踐大項(xiàng)目下的一個(gè)子項(xiàng)目,重點(diǎn)訓(xùn)練學(xué)生在本專(zhuān)業(yè)中應(yīng)用Java編程技術(shù),以達(dá)到Java課程的培養(yǎng)目標(biāo)及本專(zhuān)業(yè)的培養(yǎng)目標(biāo)。例如,信息對(duì)抗專(zhuān)業(yè)在第四學(xué)期的工程實(shí)踐項(xiàng)目就是用Java語(yǔ)言設(shè)計(jì)開(kāi)發(fā)一個(gè)數(shù)據(jù)加解密程序,綜合訓(xùn)練學(xué)生密碼算法的應(yīng)用實(shí)現(xiàn)能力與Java程序設(shè)計(jì)開(kāi)發(fā)能力。
4.教學(xué)項(xiàng)目設(shè)計(jì)改革探索
基于項(xiàng)目驅(qū)動(dòng)的教學(xué)方式是實(shí)施CDIO工程教育理念的主要方式,但是教學(xué)案例項(xiàng)目并不是隨意設(shè)計(jì)的,教學(xué)案例項(xiàng)目是否合理直接決定了工程教育理念的實(shí)施效果,也影響著學(xué)生的學(xué)習(xí)效果。前文已經(jīng)提到了目前項(xiàng)目驅(qū)動(dòng)教學(xué)模式存在的一些問(wèn)題,因此,我們對(duì)教學(xué)案例項(xiàng)目的設(shè)計(jì)作出以下改進(jìn)。
1)按照工程項(xiàng)目的完整流程設(shè)計(jì)案例項(xiàng)目。
目前常見(jiàn)的教學(xué)項(xiàng)目是按章節(jié)設(shè)計(jì)的,而且各個(gè)項(xiàng)目之間并無(wú)直接的關(guān)聯(lián),這樣的案例項(xiàng)目設(shè)計(jì)并不合理。我們?cè)O(shè)計(jì)了一個(gè)貫穿教學(xué)全過(guò)程的教學(xué)案例項(xiàng)目。案例項(xiàng)目包含分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試等環(huán)節(jié),教學(xué)內(nèi)容各個(gè)章節(jié)的知識(shí)點(diǎn)在項(xiàng)目中都有對(duì)應(yīng)的應(yīng)用場(chǎng)景,而學(xué)生在編程實(shí)踐環(huán)節(jié)也基于此項(xiàng)目。案例項(xiàng)目背景要貼近應(yīng)用,并且要由淺入深、循序漸進(jìn)。貼近具體應(yīng)用項(xiàng)目讓學(xué)生不再覺(jué)得所學(xué)的知識(shí)是抽象的,而由淺入深的步驟也能讓學(xué)生克服畏難情緒,有利于激發(fā)學(xué)生的學(xué)習(xí)興趣,引導(dǎo)學(xué)生主動(dòng)學(xué)習(xí)與實(shí)踐。隨著教學(xué)內(nèi)容不斷深入,項(xiàng)目涉及的功能越來(lái)越多,也越來(lái)越復(fù)雜。當(dāng)課堂教學(xué)結(jié)束時(shí),教學(xué)案例項(xiàng)目也完成了一個(gè)相對(duì)完整并具有實(shí)用性的Java應(yīng)用程序。學(xué)生在課堂學(xué)習(xí)環(huán)節(jié)和實(shí)踐環(huán)節(jié)都以此項(xiàng)目為例,在此案例項(xiàng)目的學(xué)習(xí)與實(shí)踐中既能收獲知識(shí)與技能,也能體會(huì)完成項(xiàng)目的成就感,提高其學(xué)習(xí)的主動(dòng)性和積極性。
2)教學(xué)項(xiàng)目設(shè)計(jì)強(qiáng)化專(zhuān)業(yè)知識(shí)應(yīng)用。
學(xué)院的網(wǎng)絡(luò)工程、信息安全、信息對(duì)抗與物聯(lián)網(wǎng)工程都開(kāi)設(shè)了Java程序設(shè)計(jì)課程。顯然,這4個(gè)專(zhuān)業(yè)的培養(yǎng)目標(biāo)與方案是截然不同的,因此這4個(gè)專(zhuān)業(yè)開(kāi)設(shè)的Java課程,不僅要學(xué)習(xí)Java編程的知識(shí)與技能,還要結(jié)合本專(zhuān)業(yè)的培養(yǎng)目標(biāo)和方案,在教學(xué)案例項(xiàng)目設(shè)計(jì)中引入專(zhuān)業(yè)知識(shí)與技能的應(yīng)用。比如網(wǎng)絡(luò)工程專(zhuān)業(yè)的培養(yǎng)方案涉及網(wǎng)絡(luò)應(yīng)用程序、Web應(yīng)用及無(wú)線互聯(lián)網(wǎng)應(yīng)用程序(主要是Android)的開(kāi)發(fā),因此,網(wǎng)絡(luò)工程專(zhuān)業(yè)的Java課程教學(xué)案例項(xiàng)目一定要包含基于Java.net開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用程序的模塊,由此可幫助學(xué)生學(xué)習(xí)如何利用Java.net開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用程序;而對(duì)于信息安全/信息對(duì)抗專(zhuān)業(yè),案例項(xiàng)目中必然要包含使用Java語(yǔ)言開(kāi)發(fā)密碼算法程序的模塊,體現(xiàn)密碼學(xué)專(zhuān)業(yè)知識(shí)在Java項(xiàng)目中的應(yīng)用。在教學(xué)項(xiàng)目中加入與專(zhuān)業(yè)密切相關(guān)的功能模塊的設(shè)計(jì)與實(shí)現(xiàn),有助于學(xué)生理解與掌握本專(zhuān)業(yè)的相關(guān)知識(shí)與應(yīng)用。
教學(xué)案例項(xiàng)目的設(shè)計(jì)要具有完整性、連續(xù)性、專(zhuān)業(yè)性以及實(shí)用性等特點(diǎn),以此來(lái)驅(qū)動(dòng)教學(xué)活動(dòng)的開(kāi)展才能取得更好的教學(xué)效果。
5.教學(xué)方式方法改革探索
雖然慕課(massiveopenonlinecourse.MOOC)等新型教學(xué)方式得到了快速發(fā)展與廣泛應(yīng)用,但目前大學(xué)的授課方式還是以傳統(tǒng)的課堂教學(xué)方式為主,對(duì)學(xué)生進(jìn)行填鴨式教育,教學(xué)效果差。對(duì)此,可采取以下措施改變學(xué)生在教學(xué)活動(dòng)中的被動(dòng)地位,促使學(xué)生主動(dòng)、自主地學(xué)習(xí),提高學(xué)習(xí)效果。
5.1機(jī)房授課模式
傳統(tǒng)模式中,教師在課堂上講授Java語(yǔ)言的語(yǔ)法與規(guī)則及相關(guān)程序案例,雖然現(xiàn)代化的教學(xué)設(shè)施能以直觀的方式為學(xué)生展示知識(shí)和案例,但由于學(xué)生始終被動(dòng)地接受知識(shí)而未主動(dòng)地思考與實(shí)踐,導(dǎo)致學(xué)生在課后無(wú)法獨(dú)立完成程序的設(shè)計(jì)與實(shí)現(xiàn)。可將Java課程開(kāi)設(shè)在機(jī)房,整個(gè)授課過(guò)程不再是教師唱獨(dú)角戲,而是以教學(xué)項(xiàng)目為導(dǎo)向,充分發(fā)揮項(xiàng)目驅(qū)動(dòng)式教學(xué)模式的作用,在機(jī)房進(jìn)行項(xiàng)目驅(qū)動(dòng)的現(xiàn)場(chǎng)教學(xué),將學(xué)生推到教學(xué)活動(dòng)的主體位置上,在教師的引導(dǎo)下,師生一起完成教學(xué)項(xiàng)目中相關(guān)功能的設(shè)計(jì)與開(kāi)發(fā)工作。將教學(xué)項(xiàng)目引導(dǎo)的教學(xué)方法貫穿整體教學(xué)過(guò)程中,讓學(xué)生感受到學(xué)習(xí)的樂(lè)趣,并分享其學(xué)習(xí)成果,實(shí)現(xiàn)教與學(xué)的共同進(jìn)步。
5.2分組討論機(jī)制
CDIO工程教育理念既提倡學(xué)生獨(dú)立思考,也提倡學(xué)生重視團(tuán)隊(duì)合作,因此,可以將學(xué)生分組,日常課堂項(xiàng)目的設(shè)計(jì)與實(shí)現(xiàn)以小組為單位完成。將學(xué)生分成3-5人的小組,每組由基礎(chǔ)較好的學(xué)生或助教擔(dān)任組長(zhǎng);每3-4次課后布置一個(gè)題目交由小組完成,包括查閱資料、討論、設(shè)計(jì)與開(kāi)發(fā)等,完成后由小組統(tǒng)一提交,并安排小組人員答辯,包括資料匯總、設(shè)計(jì)方案、程序演示與解答等。這種分組完成題目、課堂答題的方式有利于培養(yǎng)學(xué)生的團(tuán)隊(duì)合作精神,也利于培養(yǎng)學(xué)生的表達(dá)能力。
5.3過(guò)程化考核方式
傳統(tǒng)的課程考核方式是期中加期末考試,這樣的考試安排,會(huì)使部分學(xué)生放松平時(shí)的學(xué)習(xí),而在考試前突擊復(fù)習(xí),也不利于教師及時(shí)掌握學(xué)生的學(xué)習(xí)狀況。而過(guò)程化考核機(jī)制就是把對(duì)知識(shí)點(diǎn)的考核分散到教學(xué)過(guò)程中,每3周左右安排一次考試,考核這段時(shí)間學(xué)習(xí)的知識(shí)點(diǎn),及時(shí)把握學(xué)生的學(xué)習(xí)狀況。我們利用自行開(kāi)發(fā)的過(guò)程化考試平臺(tái)實(shí)施過(guò)程化考試,過(guò)程化考試主要考核學(xué)生的編程能力。每次過(guò)程化考試,學(xué)生需要完成一個(gè)問(wèn)題項(xiàng)目的設(shè)計(jì)、編碼及調(diào)試,最后教師根據(jù)學(xué)生的完成情況評(píng)分。實(shí)施過(guò)程化考核的方式是將考核分散到平時(shí)教學(xué)過(guò)程中,強(qiáng)化了學(xué)生工程實(shí)踐能力的訓(xùn)練與考核。
5.4基于MOOC的授課方式改進(jìn)
MOOC是近幾年來(lái)新興的一種教學(xué)模式,提供了一種脫離課堂的教學(xué)方式,擴(kuò)大了知識(shí)傳播的途徑與范圍。雖然大學(xué)教學(xué)工作現(xiàn)階段還不能脫離課堂教學(xué),但慕課的教學(xué)方式還是值得借鑒的。比如錄制課堂教學(xué)的內(nèi)容,制作成一個(gè)個(gè)簡(jiǎn)短的主題學(xué)習(xí)視頻,發(fā)布到本課程網(wǎng)站上供學(xué)生下載觀看學(xué)習(xí)。學(xué)生在課堂上未弄懂的問(wèn)題可以在課后通過(guò)觀看這些視頻資料來(lái)尋求幫助。借鑒MOOC的授課方式,既是對(duì)課程教學(xué)的有效補(bǔ)充,又能解決師生之間日常溝通渠道不暢的問(wèn)題,有利于幫助學(xué)生維系學(xué)習(xí)的積極性與主動(dòng)性。
6.結(jié)語(yǔ)
基于OBE教學(xué)理念設(shè)計(jì)清晰的學(xué)習(xí)需求、教學(xué)目標(biāo)及配套工程實(shí)踐課程,設(shè)計(jì)更加合理的教學(xué)案例項(xiàng)目、實(shí)施過(guò)程考核方式,基于MOOC改進(jìn)教學(xué)方法,是筆者提出的CDIO教學(xué)模式下Java程序設(shè)計(jì)課程教學(xué)改革的主要措施。其目的是更好地將CDIO工程教育理念落地實(shí)施,強(qiáng)化工科院校學(xué)生的工程實(shí)踐能力和創(chuàng)新能力,提高學(xué)生的就業(yè)競(jìng)爭(zhēng)能力。筆者所在學(xué)院的Java程序設(shè)計(jì)課程已實(shí)施了本文提出的部分改進(jìn)措施,通過(guò)對(duì)比評(píng)估證明這些措施是行之有效的,也符合我校推出的CDIO工程教育與專(zhuān)業(yè)認(rèn)證的教學(xué)理念。當(dāng)然,這些改進(jìn)措施并不是放之四海而皆準(zhǔn)的方案,只希望起到拋磚引玉的作用,為Java程序設(shè)計(jì)課程的教學(xué)改革提供參考。