湖州師范學(xué)院求真學(xué)院 侯向華
湖州師范學(xué)院信息工程學(xué)院 劉紅海
在分析了目前教學(xué)過(guò)程中存在的問(wèn)題和學(xué)生情況之后,本文根據(jù)當(dāng)前高校教育提出的新工科工程認(rèn)證對(duì)java程序課程進(jìn)行了教學(xué)改革研究,結(jié)合OBE教學(xué)理念和項(xiàng)目導(dǎo)向?qū)φn程目標(biāo)和課程內(nèi)容進(jìn)行了重構(gòu),并采用信息化手段進(jìn)行多維度多檢測(cè)點(diǎn)的教學(xué)評(píng)價(jià),通過(guò)教學(xué)改革豐富了教學(xué)內(nèi)容,更好的幫助不同水平的學(xué)生進(jìn)行學(xué)習(xí),多樣化的考核方式不但全面的考核學(xué)生學(xué)習(xí)的整個(gè)學(xué)習(xí)過(guò)程,并且促進(jìn)了學(xué)生學(xué)習(xí)的動(dòng)力。
Java程序設(shè)計(jì)是計(jì)算機(jī)專(zhuān)業(yè)課之一,計(jì)算機(jī)相關(guān)專(zhuān)業(yè)建選課程,有著重要的課程地位。先修課程為C程序設(shè)計(jì),在學(xué)生有了初步程序設(shè)計(jì)基礎(chǔ)之后而開(kāi)設(shè)的一門(mén)課程。在以往的講授過(guò)程中往往過(guò)分注重語(yǔ)法知識(shí),而忽略了java面向?qū)ο蟮奶攸c(diǎn),忽略了培養(yǎng)學(xué)生的工程實(shí)踐能力。教育部高教司司長(zhǎng)吳巖在今年的工程教育高峰論壇上提出:打造世界水平中國(guó)特色工程教育認(rèn)證體系。報(bào)告中指出:新工科再深化,改變高校教與學(xué)的行為,改為人才培養(yǎng)方案,改變?cè)u(píng)價(jià)體系與資源配置方式。在此背景下,本文結(jié)合OBE理念,對(duì)Java程序設(shè)計(jì)課程進(jìn)行了教學(xué)改革。
OBE,基于學(xué)習(xí)產(chǎn)出的教育模式(Outcomes-based Education)最早出現(xiàn)于美國(guó)和澳大利亞的基礎(chǔ)教育改革。在OBE教育模式中,學(xué)生學(xué)到了什么和是否學(xué)會(huì),遠(yuǎn)比怎樣學(xué)習(xí)和什么時(shí)候?qū)W習(xí)重要?!敖逃弑仨殞?duì)學(xué)生畢業(yè)時(shí)應(yīng)達(dá)到的能力及其水平有清楚的構(gòu)想,然后尋求設(shè)計(jì)適宜的教育結(jié)構(gòu)來(lái)保證學(xué)生達(dá)到這些預(yù)期目標(biāo)?!?/p>
Java程序設(shè)計(jì)課程以java為例講授面向?qū)ο蟮睦碚摵拖嚓P(guān)知識(shí),通過(guò)該課程的教學(xué),幫助學(xué)生了解國(guó)際上最新的計(jì)算機(jī)編程設(shè)計(jì)思想,并能初步運(yùn)用java技術(shù)和基本開(kāi)發(fā)工具進(jìn)行計(jì)算機(jī)軟件代碼設(shè)計(jì);培養(yǎng)學(xué)生用面向?qū)ο蟪绦蛟O(shè)計(jì)思想和邏輯思維方式進(jìn)行計(jì)算機(jī)編程研究,啟發(fā)學(xué)生的創(chuàng)新意識(shí);提高學(xué)生在軟件設(shè)計(jì)過(guò)程中分析問(wèn)題和解決問(wèn)題的實(shí)際動(dòng)手能力,使學(xué)生的理論知識(shí)和實(shí)踐技能得到共同發(fā)展。為將來(lái)參與實(shí)際項(xiàng)目的開(kāi)發(fā)奠定堅(jiān)實(shí)的基礎(chǔ)。課程目標(biāo)的設(shè)立不是孤立的,而是根據(jù)畢業(yè)要求而設(shè)立,表1是畢業(yè)要求與課程目標(biāo)的對(duì)應(yīng)關(guān)系。
表1 課程目標(biāo)與畢業(yè)要求的對(duì)應(yīng)關(guān)系
根據(jù)畢業(yè)培養(yǎng)目標(biāo),分解具體的畢業(yè)要求,從而制定了課程目標(biāo)。根據(jù)學(xué)生實(shí)際情況和課程目標(biāo),重構(gòu)了課程內(nèi)容。課程內(nèi)容承階梯狀逐步深入,每部分不僅有針對(duì)性,而且能夠相互促進(jìn),最后課程結(jié)束的時(shí)候,使學(xué)生能夠完成一個(gè)獨(dú)立的小項(xiàng)目。
表2 課程教學(xué)內(nèi)容和課程目標(biāo)的關(guān)系
傳統(tǒng)的講述方法,是按照課程內(nèi)容逐一講解。一般按照1:1配置理論和實(shí)驗(yàn)課時(shí)。各部分實(shí)驗(yàn)自成一體,沒(méi)有關(guān)聯(lián)。實(shí)驗(yàn)的設(shè)置就是為了練習(xí)某個(gè)知識(shí)點(diǎn)。這種方式有其優(yōu)點(diǎn),短小精悍易于教學(xué),易于學(xué)習(xí)。但也存在一定問(wèn)題,學(xué)生各個(gè)部分的學(xué)習(xí)是分裂的,為了學(xué)習(xí)而學(xué)習(xí)。學(xué)完之后,各個(gè)知識(shí)點(diǎn)是剝離的,不能夠融會(huì)貫通。不能夠很好實(shí)現(xiàn)工程認(rèn)證中的教學(xué)目標(biāo)4和5。所以,在確定重構(gòu)好課程內(nèi)容后,我們需要改變我的教學(xué)設(shè)計(jì)和方法。
在此,我們采用項(xiàng)目教學(xué)法。以一個(gè)完整的項(xiàng)目貫穿整個(gè)課程,將java語(yǔ)言學(xué)習(xí)的關(guān)鍵知識(shí)點(diǎn)融入到整個(gè)項(xiàng)目中,學(xué)習(xí)的過(guò)程,就是一步步完成項(xiàng)目的過(guò)程。課程內(nèi)容結(jié)束,一個(gè)項(xiàng)目也就完成,從增強(qiáng)了學(xué)生學(xué)習(xí)的主觀能動(dòng)性,培養(yǎng)了學(xué)生工程實(shí)踐能力。項(xiàng)目以學(xué)生熟悉的學(xué)生成績(jī)管理系統(tǒng)為例,將項(xiàng)目分解到原來(lái)的各個(gè)實(shí)驗(yàn)中。項(xiàng)目?jī)?nèi)容分解如表3所示。
表3 將學(xué)生成績(jī)管理系統(tǒng)按照實(shí)驗(yàn)內(nèi)容分解
圖1 界面設(shè)計(jì)樣例
在理論教學(xué)中,java的語(yǔ)法繁多,往往學(xué)了后面,忘記前面,或者知識(shí)點(diǎn)都記住了,實(shí)驗(yàn)也會(huì)做,但是對(duì)整個(gè)java的整個(gè)體系結(jié)構(gòu)不能把握。為此,對(duì)語(yǔ)法繁多的類(lèi)和對(duì)象部分,我們采用教畫(huà)思維導(dǎo)圖的方式,這樣學(xué)生不但看見(jiàn)掌握了分散的知識(shí)點(diǎn),而且還能夠從結(jié)構(gòu)上對(duì)整個(gè)知識(shí)體系把握。
在重構(gòu)的教學(xué)內(nèi)容中,我們的實(shí)驗(yàn)教學(xué)具有很強(qiáng)的連貫性,考慮到學(xué)生的學(xué)情,會(huì)存在部分同學(xué)因?yàn)榍懊鎸?shí)驗(yàn)沒(méi)有理解,而導(dǎo)致后續(xù)實(shí)驗(yàn)無(wú)法完成的情況。所以,在具體教學(xué)實(shí)施的過(guò)程中,我們根據(jù)學(xué)生的情況,將每個(gè)實(shí)驗(yàn)具體細(xì)化,根據(jù)不同學(xué)生的情況,給出不同實(shí)驗(yàn)版本,供學(xué)生選擇適宜自己的難度。下面以實(shí)驗(yàn)六中設(shè)計(jì)用戶登陸界面為例說(shuō)明。這個(gè)實(shí)驗(yàn)要求學(xué)生編程設(shè)計(jì)登陸界面如圖1所示,并且能夠?qū)崿F(xiàn)登陸和取消按鈕的功能。這是一個(gè)綜合性較強(qiáng)的實(shí)驗(yàn),涉及到類(lèi)的設(shè)計(jì)對(duì)象的使用,GUI中常用類(lèi)的使用以及布局管理。
圖2 實(shí)驗(yàn)程序框架示例
根據(jù)學(xué)情將實(shí)驗(yàn)設(shè)計(jì)成三種類(lèi)型。第一種針對(duì)基礎(chǔ)比較薄弱的同學(xué),可以給出布局設(shè)計(jì)思路和程序框架。程序框架如圖2所示。第二種針對(duì)一般的同學(xué),只給出程序中用到的類(lèi)名和API手冊(cè)以及大概的布局設(shè)計(jì)思路,對(duì)于這一類(lèi)同學(xué)可以引導(dǎo)他們使用java的API手冊(cè)自行查詢(xún)?nèi)绾问褂胘ava給定的類(lèi),給出大概設(shè)計(jì)思路但是不限制他們的解決方案的選取,可以使這部分同學(xué)逐漸能夠自己設(shè)計(jì)界面布局。第三種針對(duì)學(xué)有余力的同學(xué),針對(duì)這部分同學(xué)可以給出更高的要求,除了能夠設(shè)計(jì)出給定界面之外,盡可能的美化界面,這就要求這部分同學(xué)在快速完成基本要求之后,還要自己查詢(xún)API手冊(cè)選定合適的java類(lèi),這也是對(duì)課程目標(biāo)4的一個(gè)體現(xiàn)。通過(guò)對(duì)每個(gè)實(shí)驗(yàn)的分層次設(shè)計(jì)可以很好的滿足不同同學(xué)的水平,這就讓不同水平的同學(xué)在實(shí)驗(yàn)課堂上都能把整個(gè)項(xiàng)目順利進(jìn)行下去,從而避免了以前那種同一要求的實(shí)驗(yàn)而導(dǎo)致的部分同學(xué)無(wú)從下手,而部分同學(xué)又很快完成而無(wú)所事事。
圖3 隨堂測(cè)驗(yàn)答題情況分析
在具體的教學(xué)實(shí)施中,我們還存在一個(gè)問(wèn)題,由于實(shí)驗(yàn)的連貫性,我們某些實(shí)驗(yàn)需要前期實(shí)驗(yàn)的代碼,為了使學(xué)生養(yǎng)成團(tuán)隊(duì)協(xié)作以及管理代碼的良好習(xí)慣。在學(xué)期開(kāi)始即讓每位學(xué)生建立github賬戶,每次實(shí)驗(yàn)完畢將代碼提交到云端,下次上課需要的話把代碼下載并導(dǎo)入到本地即可。
教學(xué)評(píng)價(jià)是教學(xué)中很重要的一個(gè)環(huán)節(jié),以往程序設(shè)計(jì)類(lèi)課程都是以考試為考核方式,但是這種考核方式太單一,往往使學(xué)生過(guò)分重視語(yǔ)法,而忽略了java語(yǔ)言的軟件開(kāi)發(fā)功能。在OBE的理念下,我們應(yīng)該針對(duì)不同的課程目標(biāo)設(shè)計(jì)合適的考核方式,也就是一門(mén)課程我們要有多種監(jiān)測(cè)手段。為此,我們對(duì)課程考核做了多種形式。對(duì)于課程目標(biāo)1,2,3我們采用隨堂測(cè)驗(yàn)的形式,占總分20%,對(duì)于課程目標(biāo)4我們采用課堂討論和報(bào)告的形式,占總分30%,對(duì)于課程目標(biāo)5,我們采用項(xiàng)目匯報(bào)和小組互評(píng)的方式,占總分50%。多維度的測(cè)評(píng)可以更好的檢查學(xué)生對(duì)課程目標(biāo)完成的情況。
多維度多監(jiān)測(cè)點(diǎn)的測(cè)評(píng)無(wú)疑會(huì)增加教師的工作量,為了緩解這種壓力,我們充分利用學(xué)習(xí)通提供的信息化教學(xué)手段,將一些客觀性的測(cè)驗(yàn)用學(xué)習(xí)通完成,學(xué)習(xí)通不但可以自動(dòng)批閱,而且可以自動(dòng)分析答題情況。圖3所示是某次隨堂測(cè)驗(yàn)學(xué)生提交完答題即得出的分析的結(jié)果。這種及時(shí)反饋可以使教師在授課過(guò)程中有的放矢的進(jìn)行講解。
結(jié)束語(yǔ):這次教學(xué)改革是在校級(jí)教學(xué)模式改革課程和校級(jí)教改項(xiàng)目的支持下完成的。信息化手段為我們的教學(xué)改革提供了有力幫助;OBE理念為我們提供課程改革的總體框架;思維導(dǎo)圖和層次化的實(shí)驗(yàn)設(shè)計(jì)是我們教學(xué)改革的有益補(bǔ)充;項(xiàng)目引導(dǎo)的總體實(shí)驗(yàn)設(shè)計(jì)充分培養(yǎng)了學(xué)生團(tuán)隊(duì)組織與協(xié)調(diào)能力,培養(yǎng)了學(xué)生項(xiàng)目開(kāi)發(fā)的綜合能力,為后續(xù)的相關(guān)課程設(shè)計(jì)和軟件工程課程打下良好基礎(chǔ)。