陳強(qiáng)
摘要:本文介紹了職業(yè)學(xué)校中計(jì)算機(jī)專業(yè)學(xué)生的特點(diǎn)以及在java程序設(shè)計(jì)教學(xué)中所面臨的困難,進(jìn)而探討了針對困難的解決方案。然后闡述了Alice三維程序設(shè)計(jì)仿真平臺,在此基礎(chǔ)上,嘗試將該平臺引入到實(shí)際課堂教學(xué)中,最后,評估了基于該平臺的教學(xué)效果。
關(guān)鍵詞:alice java 編程 教學(xué)
一、問題背景
職業(yè)學(xué)校中計(jì)算機(jī)專業(yè)的學(xué)生一般來說學(xué)習(xí)習(xí)慣相對比較差,非常討厭呆板枯燥的理論知識,熱衷于電子游戲。傳統(tǒng)的計(jì)算機(jī)java[1]程序設(shè)計(jì)課程中課堂教學(xué)往往是先解決java各種術(shù)語概念和語法規(guī)則,不僅枯燥無味,而且晦澀難懂,使很多學(xué)生望而生畏,敬而遠(yuǎn)之,教學(xué)效果可想而知。即使部分學(xué)生在意志力的驅(qū)使下堅(jiān)持學(xué)會了術(shù)語和語法規(guī)則,到了實(shí)際動手寫程序階段,也存在問題:一是已經(jīng)在語法上花了大把的精力,剩下放在實(shí)際動手編程上的精力是有限的;二是這些編程練習(xí)僅僅是為了鞏固之前學(xué)習(xí)的講法,忽視了編程思維、編程思想的培養(yǎng)和訓(xùn)練;三是練習(xí)中使用的例子大多是“為了練習(xí)而練習(xí)”的簡單的輸入輸出,與程序要解決的實(shí)際問題關(guān)聯(lián)較少甚至沒有關(guān)聯(lián),不利于學(xué)生解決實(shí)際問題的能力的培養(yǎng)。這些都與程序設(shè)計(jì)課程的培養(yǎng)目標(biāo)是相背離的,程序設(shè)計(jì)課程變成了程序語法課,學(xué)生最終只掌握了java語言的語法,編程思維、編程技能這些應(yīng)該掌握的核心技能卻嚴(yán)重缺乏,更不用說那些被java復(fù)雜語法擋在門外的那部分學(xué)生了。所以,有必要讓java程序設(shè)計(jì)回歸其本源,那就是該課程是技能培養(yǎng)課,不是理論課,最終目標(biāo)是培養(yǎng)有編程思維和編程思想的java技能的學(xué)生,而不是培養(yǎng)出掌握java語法的學(xué)生。
二、解決思路
為了解決以上問題,本文認(rèn)為需要從以下幾個方面著手:
(一)必須讓java程序設(shè)計(jì)教學(xué)的重心放在編程思維和編程思想的培養(yǎng)和訓(xùn)練上,如今的編程語言非常多,語法各異,但是它們的編程思想是相同的,而編程思維是學(xué)生解決實(shí)際問題必不可少的。否則,語法覺得再好,也不能很好的用程序設(shè)計(jì)的思維解決現(xiàn)實(shí)中的問題。
(二)必須把教學(xué)著重于學(xué)生動手能力的培養(yǎng),僅僅依靠當(dāng)前書本掌握的知識和技能與現(xiàn)實(shí)世界中要解決的問題是不同的,他們中間存在著巨大的鴻溝,如何讓學(xué)生學(xué)以致用,提高解決實(shí)際問題的能力,需要在書本與現(xiàn)實(shí)中搭建橋梁。
(三)必須讓程序設(shè)計(jì)課富有趣味,讓學(xué)生獲得即時的成就感。學(xué)生喜歡電子游戲,就是因?yàn)殡娮佑螒虿粌H有趣,而且能讓學(xué)生獲得成功的滿足感和自豪感,如果程序設(shè)計(jì)課堂教學(xué)也能讓學(xué)生得到這兩方面的滿足,便能提高學(xué)生的學(xué)習(xí)積極性,使學(xué)生的主觀能動性得以發(fā)揮,學(xué)生的主體作用才能真正體現(xiàn)出來。
三、解決方案
我們引入了Alice[2]三維動畫仿真平臺,它是對現(xiàn)實(shí)世界的高度仿真,在書本和現(xiàn)實(shí)之間搭建了一座橋梁。能夠讓學(xué)生在有趣的環(huán)境中做出類似游戲的作品,同時讓學(xué)生在平臺中先去解決具體問題,培養(yǎng)解決問題的思維和能力,它能把學(xué)生完成的作品生成java代碼,學(xué)生在問題解決后,通過對比代碼習(xí)得語法規(guī)則,事半功倍,水到渠成。
四、Alice簡介
Alice是三維虛擬仿真編程環(huán)境,由美國卡耐基梅隆大學(xué)開發(fā),是專門為了程序設(shè)計(jì)入門教學(xué)而研制的軟件,學(xué)生可以使用平臺提供的工具創(chuàng)建三維動畫和游戲。平臺以java類的方式提供了大量的三維模型,這些類實(shí)例化后組成一個虛擬世界。學(xué)生可用拖拽的方式進(jìn)行虛擬物體的創(chuàng)建,這樣就有效避免了初學(xué)者創(chuàng)建對象和調(diào)用對象方法時常犯的語法錯誤。同時,學(xué)生在平臺完成虛擬任務(wù)后能馬上看到對象(程序)的運(yùn)行結(jié)果是否符合預(yù)期,他們通過動畫很容易就能理解對應(yīng)語句和程序結(jié)構(gòu)與對象的行為之間的關(guān)系。另外,學(xué)生的作品完成后,可以把作品轉(zhuǎn)換成java的原生代碼,學(xué)生此時已經(jīng)理解任務(wù)的邏輯和算法,對照學(xué)習(xí)java原生代碼是,就非常容易接受和理解。
在課堂教學(xué)過程中,學(xué)生根據(jù)教師布置的任務(wù)在平臺上可完成動畫場景的制作,即時看到自己的作品和運(yùn)行的反饋,可以獲得玩電子游戲時體驗(yàn)到的趣味與成就感。同時,通過平臺生成的與作品對應(yīng)的java原生代碼,學(xué)生無需記憶復(fù)雜的語法規(guī)則,只需對比歸納就能掌握語法規(guī)則,并且還能看到j(luò)ava語句在實(shí)際程序中的使用。這樣,學(xué)生就可以在輕松有趣的學(xué)習(xí)氛圍中,不但鍛煉了自己解決問題的思維和程序設(shè)計(jì)思維,同時習(xí)得了java語法規(guī)則。這樣做也更符合人的認(rèn)知規(guī)律,即先具體后抽象,降低了學(xué)習(xí)坡度,化難為易。
五、教學(xué)設(shè)計(jì)
傳統(tǒng)的教學(xué)設(shè)計(jì)是先語法后問題,先抽象后具體,不符合當(dāng)前職業(yè)教育人才的培養(yǎng)方案和程序設(shè)計(jì)課程的培養(yǎng)要求。因此,本文提出先問題后語法、先具體后抽象的教學(xué)設(shè)計(jì)思路。利用Alice三維仿真平臺,先讓學(xué)生完成三維環(huán)境的創(chuàng)作,發(fā)揮了學(xué)生的創(chuàng)造力和自主探究的能動性。學(xué)生通過小組探究與討論,小組間的比賽,使競爭與合作落實(shí)到實(shí)處,小組成員只有通過緊密的合作,才能在小組間的競賽中獲勝。這階段的學(xué)生爭強(qiáng)好勝心強(qiáng),但他們在競爭中就會發(fā)現(xiàn),人與人之間不是只有競爭,還有合作,競爭促進(jìn)合作、合作為了更好的競爭,為他們以后走上工作崗位后面對社會的競爭做好準(zhǔn)備。
六、教學(xué)效果
引入Alice平臺,為課堂教學(xué)設(shè)計(jì)提供了更廣闊的空間,寓教于樂。學(xué)生在新的教學(xué)模式下,精神面貌煥然一新,學(xué)習(xí)興趣盎然,即使采用傳統(tǒng)的上機(jī)加理論測評作為評價手段,教學(xué)效果亦進(jìn)步明顯,尤其是女生,效果更為突出。后續(xù)工作將引入更加多元的評價機(jī)制和手段,積累實(shí)驗(yàn)數(shù)據(jù),對使用新的教學(xué)模式前后學(xué)生的學(xué)習(xí)效果作進(jìn)一步的研究和探討。
參考文獻(xiàn):
[1]http://www.oracle.com/technetwork/java/javase/overview/index.html
[2]http://www.alice.org/
(作者單位:江蘇省相城中等專業(yè)學(xué)校)