孫 陽
摘要我國高等院校計算機(jī)Java編程語言教學(xué)尚存在很多問題,針對Java語言程序設(shè)計,提出項目教學(xué)法,以此來解決學(xué)生的計算機(jī)技能難題,提高學(xué)生對Java語言的學(xué)習(xí)掌握與編程的綜合素質(zhì)能力。
關(guān)鍵詞項目教學(xué)編程應(yīng)用
中圖分類號:B42文獻(xiàn)標(biāo)識碼:A文章編號:1671—7597(2009)0410170-01
Jarab20世紀(jì)90年代初由SUN公司推出的一種純面向?qū)ο缶幊陶Z言工具,有“網(wǎng)絡(luò)程序設(shè)計語言”的美稱。由于計算機(jī)市場對Java編程人員的大量需求,Java已經(jīng)成為高等院校計算機(jī)教學(xué)中最流行的編程語言之一。但在實踐教學(xué)中,很多Java課教師都會碰到一個問題:Java知識點太多、涉及面太廣但課時量卻相對較少。如何較合理地進(jìn)行Java教學(xué),使得學(xué)生掌握更多知識,培養(yǎng)他們的實踐動手能力。更全面地提高Java語言的程序設(shè)計能力,是每個Java課教師應(yīng)該思考的問題。因此,本文提出項目教學(xué)方法,以期能夠解決這一問題,有效提高Java語言教學(xué)的效果。
一、項目教學(xué)法的概念及其理論依據(jù)
項目教學(xué)法也叫做案例教學(xué)法,是來源于哈佛大學(xué)工商管理學(xué)院MBA的課堂教學(xué)模式,數(shù)十年來,哈佛大學(xué)依靠這種先進(jìn)的教學(xué)理念和方法為美國乃至世界培養(yǎng)出了許多杰出的商業(yè)奇才和經(jīng)濟(jì)專家。近幾十年來,隨著我國改革開放的日益推進(jìn),這種教學(xué)法最先進(jìn)入我國的高等學(xué)校進(jìn)行嘗試性的教學(xué)試驗,結(jié)果效果良好,隨后便推廣至全國各類學(xué)校,由此,案例教學(xué)法的理論基礎(chǔ)構(gòu)建主義教學(xué)理論也進(jìn)入人們的視野。由此,很多國內(nèi)學(xué)者結(jié)合我國的國情提出了項目式教學(xué)的新概念。
項目教學(xué)法是以建構(gòu)主義為理論依據(jù)的。建構(gòu)主義學(xué)習(xí)理論的四大要素是情境、協(xié)助、會話和意義建構(gòu)。建構(gòu)主義認(rèn)為,學(xué)生學(xué)習(xí)的動力來自待解決的問題;教學(xué)關(guān)注的重點在于使學(xué)習(xí)者達(dá)到一定的程度;教師的職責(zé)在于使學(xué)習(xí)者置身于探索知識之中,為他們提供適當(dāng)?shù)摹扒榫场痹谡鎸嵤澜缰行钁?yīng)用知識解決的問題,然后使學(xué)生在此情境之下,通過教師的指導(dǎo)、同學(xué)的討論來解決問題,這稱為協(xié)助和會話,在完成任務(wù)的同時,達(dá)到最終的教學(xué)目的即實現(xiàn)了意義建構(gòu)。
項目式教學(xué)法的目的是在課堂教學(xué)中把理論與實踐教學(xué)有機(jī)地結(jié)合起來,充分發(fā)掘?qū)W生的創(chuàng)造潛能,提高學(xué)生解決實際問題的綜合能力。通過研究,我們發(fā)現(xiàn)項目教學(xué)法很適合Java編程語言的教學(xué),適用于培養(yǎng)學(xué)生的創(chuàng)新能力、協(xié)作能力和分析問題、解決問題的能力。
二、項目教學(xué)法的實踐應(yīng)用
項目教學(xué)突破傳統(tǒng)的教學(xué)模式,通過示范項目、練習(xí)項目、實訓(xùn)項目的學(xué)習(xí),學(xué)生能更好、更快地掌握所學(xué)知識,學(xué)習(xí)的積極性和主動性大大提高。在教學(xué)中實施項目教學(xué)法,可以提高學(xué)生Java語言編寫程序的熟練程度和規(guī)范性;通過協(xié)作開發(fā)項目訓(xùn)練,培養(yǎng)學(xué)生良好的軟件職業(yè)素養(yǎng)。
(一)結(jié)合社會需求,精心選取項目
Java知識點側(cè)重面各不相同,因此我們把Java語言開發(fā)項目分為Learning,Training,Mentoring三種類型。(1)Learning規(guī)模較小r目的是通過項目,使學(xué)生能夠深入理解Java編程技術(shù)的重點與難點。(2)Training為大中艦?zāi)m椖?,要求學(xué)生在老師的帶領(lǐng)下,完成從項目的需求分析、系統(tǒng)設(shè)計到編碼實現(xiàn)、測試部署的全過程。(3)Mentoring項目同樣是大中規(guī)模項目,要求學(xué)生自主完成項目開發(fā)過程,教師充當(dāng)需求提供方與技術(shù)顧問的雙重角色。學(xué)生對不同類型系統(tǒng)開發(fā)的興趣不同,教師應(yīng)根據(jù)同學(xué)們的興趣來選擇適當(dāng)類型的項目。另一方面,教師在選擇項目時,應(yīng)選擇一些難度適中,即可以讓同學(xué)們不至于“望項目而卻步”,又能在做完后,編程技能有很大提高的項目。例如我們可以設(shè)計圖書租賃系統(tǒng)和文字處理系統(tǒng)兩個Learning項目。圖書租賃系統(tǒng)案例通過一個Java控制臺程序,鍛煉學(xué)生對流程控制、異常處理的熟練運用程度以及編碼規(guī)范度。也可以通過文字處理系統(tǒng)noteSys的開發(fā),使學(xué)生熟練掌握Swing各種組件的使用方法、AWT的事件機(jī)制,掌握線程開發(fā)及自定義組件的開發(fā)使用,并熟知文件及輸入、輸出流的各種操作。
(二)創(chuàng)建學(xué)習(xí)環(huán)境,實現(xiàn)項目目標(biāo)
教師充分運用現(xiàn)代教育技術(shù)手段給學(xué)生提供了多種學(xué)習(xí)資源。針對每個項目,教師給出所需背景知識、參考資料、師生交流平臺、項目要求、相關(guān)案例、開發(fā)流程、注意事項等指導(dǎo)學(xué)生。根據(jù)項目開發(fā)流程我們組成學(xué)生開發(fā)團(tuán)隊,創(chuàng)建協(xié)作學(xué)習(xí)環(huán)境。每個團(tuán)隊由5人組成,分別擔(dān)當(dāng)項目管理員、系統(tǒng)分析員、程序員、測試員、文檔編寫員角色。一個項目完成后,角色互換,保證在校期間每個學(xué)生五種角色能夠擔(dān)當(dāng)一遍。這種做法模擬了企業(yè)中真實開發(fā)情景,使學(xué)生群體的思維與智慧為每個學(xué)生所共享,從而達(dá)到全隊學(xué)生共同完成意義建構(gòu)的目的。在項目實現(xiàn)過程中。學(xué)生肯定會遇到很多問題,對于共性的問題,指導(dǎo)老師應(yīng)該以講授的方式給每個項目組成員解答。對于每個項目組內(nèi)部的具體問題,鼓勵學(xué)生利用網(wǎng)絡(luò)資源。自己想辦法解決。而對于其中確實有難度、學(xué)生不容易理解的問題。指導(dǎo)老師應(yīng)該詳細(xì)告知,給出解決方案。
(三)注重項目講解,引導(dǎo)學(xué)生完成項目
由于絕大多數(shù)學(xué)生沒有項目經(jīng)驗,而每一個項目中都包含著新舊知識、技術(shù),因此,如果一開始就把項目扔給學(xué)生,對于學(xué)習(xí)過程顯然不是很好的做法。在讓學(xué)生動手之前,先對項目的需求,項目的概要設(shè)計,以及項目的實現(xiàn)中用到的核心技術(shù)等進(jìn)行必要的、適當(dāng)?shù)闹v解。讓學(xué)生接受項目后首先思考如何去完成項目,在完成項目的過程中將會遇到哪些不能解決的問題。學(xué)生自己提出的問題,也是他們想要知道的知識點,此時項目指導(dǎo)教師再將新知識傳授給他們或給出獲取新知識的途徑,就能充分調(diào)動學(xué)生主動求知的欲望。
(四)項目的完善及其評講
這一階段是要求學(xué)生對已經(jīng)實現(xiàn)的項目功能進(jìn)一步完善,界面進(jìn)一步美化的階段。對于提高學(xué)生的綜合素質(zhì),提升學(xué)生的成就感,培養(yǎng)學(xué)習(xí)興趣是非常有益的。在實踐教學(xué)中,項目開發(fā)的每個階段,都要組織學(xué)生進(jìn)行階段性總結(jié),不同團(tuán)隊之間相互交流開發(fā)經(jīng)驗及所遇到的困難,教師對出現(xiàn)的共性問題及時講授。評價學(xué)生學(xué)習(xí)效果時主要看學(xué)生完成項目的情況,因為教學(xué)是圍繞完成項目設(shè)計、達(dá)到意義建構(gòu)這一中心來展)F的,所以評價學(xué)生學(xué)習(xí)效果應(yīng)以完成項目的情況來評定。