陳強(qiáng) 劉肅平
【摘要】隨著國內(nèi)Android系統(tǒng)開發(fā)和應(yīng)用不斷的發(fā)展,Java作為開源語言已成為許多高校計(jì)算機(jī)專業(yè)的核心課程。本文通過案例教學(xué)方法對Java程序設(shè)計(jì)這門課程的教學(xué)目標(biāo)、教學(xué)手段和教學(xué)內(nèi)容上進(jìn)行了較為深入的探討。
【關(guān)鍵詞】Java程序設(shè)計(jì);案例式;教學(xué)方法
引言
Java作為新一代的面向?qū)ο缶幊陶Z言,具有跨平臺、安全、高可靠、多線程等特點(diǎn),在計(jì)箅機(jī)網(wǎng)絡(luò)及通信應(yīng)用軟件開發(fā)上得到廣泛的應(yīng)用。目前,許多高校已將“Java程序設(shè)計(jì)”列為計(jì)算機(jī)相關(guān)專業(yè)的一門學(xué)科基礎(chǔ)課,明確它在培養(yǎng)計(jì)算機(jī)專業(yè)開發(fā)人才中的地位和作用。作為高校教師必須深入研究這門課的教學(xué)規(guī)律,提高教學(xué)質(zhì)量。
廣東科技學(xué)院從2012年起面向軟件工程本科專業(yè)的學(xué)生開設(shè)了Java程序設(shè)計(jì)課程,本人具有多年擔(dān)任高校計(jì)算機(jī)專業(yè)Java程序設(shè)計(jì)課程的主講教師,針對Java教學(xué)中存在的問題,圍繞著課程教學(xué)目標(biāo)、教學(xué)安排與內(nèi)容、教學(xué)方法與手段等方面進(jìn)行全方位的教學(xué)研究與探索。
1 課程教學(xué)目標(biāo)
“Java程序設(shè)計(jì)”課程的教學(xué)目標(biāo)是使學(xué)生通過程序設(shè)計(jì)語言的學(xué)習(xí),全面地掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本知識與基本操作技能,為學(xué)生學(xué)習(xí)后續(xù)課程打下扎實(shí)的基礎(chǔ)。同時,在該課程的教學(xué)中,要以解決實(shí)際問題的程序設(shè)計(jì)思路作為教學(xué)的切入點(diǎn),以教材的內(nèi)容為主線,采用案例作為教學(xué)引導(dǎo)線,在教學(xué)中將晦澀難懂的概念、原理融合到案例中,從實(shí)際的例子入手,然后再上升到理論高度,適當(dāng)講解理論知識相應(yīng)的知識點(diǎn)。這種模式不僅有助于學(xué)生掌握基本概念、基本理論,也能夠培養(yǎng)學(xué)生解決實(shí)際問題的能力。
2 教學(xué)安排與教學(xué)內(nèi)容
2.1 教學(xué)安排
“Java程序設(shè)計(jì)”課程授課對象是計(jì)算機(jī)系專業(yè)的學(xué)生,它的前續(xù)課程有計(jì)算機(jī)導(dǎo)論、C語言程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)等;根據(jù)教學(xué)計(jì)劃的安排,我們將這門課程安排在大學(xué)的第三學(xué)期。Java語言是面向?qū)ο笳Z言,它的基本語法同C語言。根據(jù)教學(xué)計(jì)劃安排,我們將“Java程序設(shè)計(jì)”課程設(shè)置為:理論課時數(shù)48個學(xué)時,實(shí)驗(yàn)課時數(shù)為16個學(xué)時,并有2周的課程設(shè)計(jì)綜合實(shí)訓(xùn)。這樣設(shè)置是更適合應(yīng)用型本科學(xué)生,加調(diào)實(shí)際的動手能力。
2.2 教學(xué)內(nèi)容
根據(jù)多年的Java程序設(shè)計(jì)課程教學(xué)經(jīng)驗(yàn),我們認(rèn)為講授該課程的內(nèi)容主要包括三個方面:一是Java語言基礎(chǔ);二是面向?qū)ο筇匦?三是Java的常用類及構(gòu)件,包括異常類、swing構(gòu)件、線程類、輸入輸出流類、JDBC連接數(shù)據(jù)庫類、網(wǎng)絡(luò)類等。同時還增加一些對Java新特性的學(xué)習(xí),包括增強(qiáng)的for循環(huán)、自動裝包/拆包、可變參數(shù)和泛型編程等,以拓寬學(xué)生的知識面。
3 教學(xué)方法選擇
“Java程序設(shè)計(jì)”課程的教學(xué)環(huán)節(jié)主要包括理論課教學(xué)、實(shí)驗(yàn)課教學(xué)、實(shí)訓(xùn)課教學(xué)三個部分。通過本人多年的教學(xué)實(shí)踐,采用案例教學(xué)法進(jìn)行理論課教學(xué),采用任務(wù)驅(qū)動法進(jìn)行實(shí)驗(yàn)課教學(xué),采用項(xiàng)目導(dǎo)向法進(jìn)行實(shí)訓(xùn)課教學(xué),可以較為有效地提高教學(xué)質(zhì)量。
在計(jì)算機(jī)教學(xué)中運(yùn)用案例教學(xué)法,能夠充分調(diào)動學(xué)生學(xué)習(xí)的積極性,提高學(xué)生探索、合作、創(chuàng)新能力,有利于學(xué)生理論知識的掌握和實(shí)踐能力的提高。在Java 程序設(shè)計(jì)課堂教學(xué)中采用案例教學(xué)方法,通過程序?qū)嵗v解基本的知識點(diǎn)和語法,針對特定問題,選取的案例都盡可能小而精,這樣可對每一個單一知識點(diǎn)進(jìn)行教學(xué)。同時理解程序的編寫和調(diào)試運(yùn)行方法。講解完實(shí)例后一般布置3 個操作練習(xí);第一個練習(xí)是“模仿”,即完成一道和例子極其相似的程序,讓學(xué)生在模仿中鞏固和加深對新講授內(nèi)容的理解,同時教師巡視單獨(dú)答疑,幫助學(xué)生澄清教師講解時沒有理解的內(nèi)容,最后教師就共性問題予以強(qiáng)調(diào)。第二個練習(xí)是“修改”,即對第一個例子加工,將教師在講解時已提及而例題中未涉及到的問題交給學(xué)生,激發(fā)學(xué)生自主學(xué)習(xí)的熱情。在此過程中,教師對關(guān)鍵性問題給出指導(dǎo)思想。第三個練習(xí)是“提高”,即將具有一定算法難度但語法適用于當(dāng)前階段的問題拋給學(xué)生,培養(yǎng)學(xué)生的算法設(shè)計(jì)能力。在此階段教師主要起啟發(fā)、引導(dǎo)作用,啟發(fā)學(xué)生的創(chuàng)造性思維。
通過小型案例講解獨(dú)立知識點(diǎn),以案例模仿的形式促進(jìn)學(xué)生動手能力。學(xué)生通過案例研究,培養(yǎng)一種分析問題的能力和獨(dú)立處理、遷移性的應(yīng)用能力。學(xué)習(xí)過程貫穿于案例分析的過程之中,培養(yǎng)學(xué)生學(xué)會抓住或發(fā)現(xiàn)問題,然后結(jié)合所學(xué)知識尋找解決問題的途徑、手段。這樣不僅能幫助學(xué)生鞏固已學(xué)的知識,同時也能幫助學(xué)生提高自學(xué)能力和設(shè)計(jì)能力,強(qiáng)化了案例教學(xué)的效果。4 加強(qiáng)實(shí)踐教學(xué)環(huán)節(jié)
實(shí)踐是檢驗(yàn)真理的唯一途徑?!癑ava程序設(shè)計(jì)”是一門實(shí)踐性極強(qiáng)的課程,實(shí)踐環(huán)節(jié)的教學(xué)尤其重要。實(shí)踐的目的就是讓學(xué)生在實(shí)踐的過程中鞏固和完善所學(xué)習(xí)的知識。讓學(xué)生親自動手實(shí)踐,編輯調(diào)試程序,進(jìn)一步理解概念和理論知識。教師引導(dǎo)學(xué)生從知道“怎么去做”到學(xué)會“怎么做”,達(dá)到理論與實(shí)踐的相結(jié)合。
有過項(xiàng)目實(shí)踐經(jīng)驗(yàn)的人都認(rèn)為,通過做項(xiàng)目能更鞏固熟練所學(xué)習(xí)的知識,并從中學(xué)習(xí)到更多更廣泛的實(shí)際的知識。我們在“Java程序設(shè)計(jì)”課講授完畢后安排了為期兩周的綜合實(shí)訓(xùn)課,借助在生活上、工作上以及企業(yè)中的實(shí)際項(xiàng)目抽取簡化,提出相應(yīng)一定的小項(xiàng)目或子模塊題目,然后交給學(xué)生在規(guī)定時間內(nèi)完成。在完成這個Java?實(shí)訓(xùn)項(xiàng)目的過程中可能會涉及到一些課堂上沒有接觸或?qū)W過的知識,利用這個機(jī)會鍛煉學(xué)生搜集資料、整理資料獲取知識的自主學(xué)習(xí)能力。在此階段,教師的職責(zé)不再是教學(xué)生如何解決一個具體問題,而是告訴學(xué)生到哪里能查找到幫助解決問題的資料。
我們將“項(xiàng)目導(dǎo)向法”的實(shí)訓(xùn)具體實(shí)施過程分為3個階段,第一階段為“選題、分組階段”,先由老師布置若干個項(xiàng)目題目,綜合實(shí)訓(xùn)課程的項(xiàng)目設(shè)計(jì)注重實(shí)用性、真實(shí)性。將企業(yè)中的實(shí)際項(xiàng)目抽取簡化,分解成若干模塊交給學(xué)生以小型項(xiàng)目的形式來做。學(xué)生自主或由老師分配進(jìn)行分組,模擬某企業(yè)中項(xiàng)目研發(fā)團(tuán)隊(duì)進(jìn)行,一般4-8個人一組,由組里選舉知識面比較全的同學(xué)作為組長。第二階段為“研發(fā)階段”,組長作為 “項(xiàng)目經(jīng)理”,給組內(nèi)其他成員分配相應(yīng)的工作任務(wù),按照軟件工程的要求完成該項(xiàng)目開發(fā)的全部流程,指導(dǎo)老師定期檢查組員完成項(xiàng)目的進(jìn)度情況,由組長定期進(jìn)行匯報。在完成這個小型項(xiàng)目的過程中可能會涉及到一些課堂上沒有學(xué)習(xí)到的知識,利用這個機(jī)會鍛煉學(xué)生搜集資料、整理資料獲取知識的自主學(xué)習(xí)能力。第三階段為“驗(yàn)收階段”,對綜合實(shí)訓(xùn)的總結(jié)采取分小組答辯的方式,即每個課題小組把此次項(xiàng)目的設(shè)計(jì)思想、所用到的知識點(diǎn)、實(shí)現(xiàn)的技術(shù)難點(diǎn)、解決方案、完成效果、尚存在的問題等以PPT 的形式向全體同學(xué)、老師做講解、演示。這樣的形式有效提高了學(xué)生自主學(xué)習(xí)能力、團(tuán)隊(duì)合作的精神,為將來步入社會做好了準(zhǔn)備;也使得其他組的成員拓展了知識面,汲取到別人的長處,增強(qiáng)學(xué)習(xí)交流,從而打造了一個“積極”、“熱烈”、“和諧”的學(xué)習(xí)氛圍。
4 結(jié)束語
Java 教學(xué)一定要圍繞提高學(xué)生實(shí)踐應(yīng)用能力展開,注重面向?qū)ο缶幊趟枷氲呐囵B(yǎng),本文提出了“Java程序設(shè)計(jì)”教學(xué)實(shí)施的諸多方面,并在作者施教的班級進(jìn)行了多次實(shí)踐,學(xué)生的學(xué)習(xí)興趣明顯增強(qiáng),動手能力也有了較大的進(jìn)步,對本門課程的認(rèn)可程度大幅度提高。當(dāng)然,教學(xué)方法并不是一成不變的,隨著教改的深入,時間的推移,還會有新的問題出現(xiàn),我們對教學(xué)改革的探索還將繼續(xù)。
參考文獻(xiàn):
[1]宋宏偉,吳愛燕.構(gòu)建培養(yǎng)應(yīng)用型程序設(shè)計(jì)人才的教學(xué)機(jī)制——C語言程序設(shè)計(jì)的教學(xué)改革與實(shí)踐.石家莊學(xué)院學(xué)報.2008年3期
[2]姚明,彭志平,李啟銳.教學(xué)型本科院校計(jì)算機(jī)專業(yè)Java教學(xué)之我見.計(jì)算機(jī)教育.2011年4期