摘要:Java語言是現今比較流行的一門編程語言,教學中理論與實踐是否同步、實驗教學的好壞都直接影響著理論教學的效果。為此,結合該課程上機實驗的實際情況,總結出了實驗教學過程中存在的問題,給出了解決問題的方法。實驗表明,這些方法取得了良好的教學效果。
關鍵字:程序設計;Java;實驗教學;教學方法
中圖分類號:G642.41
文獻標志碼:A
文章編號:1006-8228(2011)08-46-03
引言
Java語言作為Sun公司開發的一種編程語言,具有簡單、面向對象、分布式、解釋型、平臺無關性、多線程等特征,由于其很好地解決了網絡編程語言中的諸多問題,一經推出,便受到計算機界的普遍歡迎和接受,并得到了廣泛應用,已經成為“21世紀首選的應用程序開發工具”。
Java語言是標志編程進入Intemet時代的里程碑。該語言充分考慮了互聯網時代的特點,以“一次編寫,隨處運行”的理念定義了一種新的編程規范。Java的誕生必將對整個計算機產業產生深遠的影響,對傳統的計算模型提出了新的挑戰。
目前在國內,Java語言程序設計已被我國各類高校列為計算機專業教學體系中的一門重要的主干課程。
學習Java程序設計有助于學生在掌握面向過程程序設計、可視化程序設計的基礎上,掌握更深入的面向對象編程技術;學習Java程序設計的基本原理和方法有助于學生學習其它的面向對象程序設計語言。這門課程有助于提高學生的實踐能力,讓學生多掌握一門目前廣泛使用的最新技術,既能完善學生的知識結構,又能提高學生的實踐能力,從長期和短期都對學生大有裨益。
1、實驗教學中存在的問題
程序設計語言課程是實踐操作性很強的課程,不僅要求學生能準確地理解概念、基本原理,而且還要有一定的上機實踐操作的能力。實驗教學的目的一方面是對學生所學知識進行“理論驗證”;另一方面是提高學生的“綜合實踐能力”,培養學生的創新精神。筆者通過近年的教學實踐發現,實驗教學環節存在著一些問題。
(1)在實驗教學中,上機編寫調試Java程序是學生遇到的困難之一,典型地表現在:部分學生不習慣或不愿意使用實驗室安裝的Java開發工具(考慮到多種因素,通常實驗室計算機上只安裝一種Java開發工具)。比如,筆者安裝的JBuilder集成開發環境,因為其本身相對龐大,出現啟動速度慢、運行程序過程中常出現死機等現象,有些學生不愿意使用這種工具。
(2)部分學生對實驗環節不夠重視。實驗課上,部分學生曠課、部分學生上機想上網聊天、玩游戲,對教師布置的實驗題目只是敷衍了事,有的甚至直接抄襲其他學生的程序。
(3)多數學生在編程調試過程中不講求方法,不注重效率。這體現在兩個方面,第一方面,學生不注重培養自身良好的編程風格。面對給定的實驗題目,部分學生對問題不作整體分析,包括:題目要求具體做什么、應該有哪些功能、怎么沒計數據結構、怎么給出算法等等,而是坐在電腦面前想到什么就寫什么。第二方面,Java是面向對象的程序設計語言,組成程序的基本單位是類,有時一個源程序可能由多個類組成,多數學生都是在把整個程序寫完之后才開始調試,難以糾錯、
2、實驗教學改進措施
2.1 為學生自主學習提供指導,在實驗環節中對學生做出指導
學生對實驗不太注重,原因之一是因為有厭學情緒,沒有編寫程序解決問題的興趣,因此教師應該從培養學生興趣方面采取一些有效的方法。
(1)激發學生的興趣。在講授程序設計語言的第一課,教師演示一些由學生自己編寫的、有趣的程序,如五子棋程序等,從而吸引學生;同時教師最好在開始講授這門語言之前就能給出實驗題目。因為眾所周知,熟練掌握并運用工具的目的是為了解決問題,程序設計語言是開發軟件的工具,帶著要解決的問題開展Java語言的教學,可以提高課堂教學效果,從而也會提高學生的實驗質量。
(2)實驗形式多樣化,增強實驗的趣味性。可將每次實驗內容分成必做實驗和選做實驗兩大類。必做實驗包括涉及基本知識的實驗;選做實驗可以給出一些要擴張學生知識的程序,題型可以是有一定任務和背景的趣味編程,給出部分內容,由學生填寫完成剩余任務的編程接龍等。選做的實驗題目原則上不要太難,但是需要學生動動腦筋才能完成,如果太難反倒打擊了學生的積極性。豐富的實驗內容,在很大程度上可以調動學生的學習積極性;不同層次的實驗題型,適應不同程度的學生。
(3)可以采取案例教學法。根據課程實驗教學目標和實驗教學內容的需要,以與現實生活緊密聯系的、趣味性強的、與實驗題目相似的案例為教材,組織學生站在理論的高度對案例進行審視、分析、討論和交流等活動,使理論回到實踐、指導實踐,讓學生在具體的問題情境中積極思考、主動探索,以培養學生認識問題、分析問題和解決問題等綜合能力,加深學生對基本原理和概念的理解,提高教與學的質量和效果。實驗案例設計要簡短,便于學生理解,適合學生模仿,學生可以獨立練習完成。我們在Java程序設計語言課程教學中,通過設計簡短實用的實驗案例,使學生很快掌握了知識點的實際用法,也加深了對理論知識的理解。
與傳統的教學法相比,案例教學能使理論緊密聯系實際,使學生成為教學活動的主體,從而為學生構建了一個自主學習、合作學習、研究性學習和探索性學習的開放式的學習情境,符合建構主義教學思想,更有利于學生的知識建構。
(4)可以采取“三段過程”實驗教學方法。“三段過程”實驗教學,就是模仿過程實驗、完善過程實驗、綜合過程實驗這三種類型實驗形式。模仿過程實驗是結合課堂教學內容,根據事先設計好的一些程序實例,學生按程序實例完成的一種實驗。模仿過程實驗是使學生對必要的理論和概念建立感性認知和掌握的過程。完善過程實驗是在原有程序的基礎上,逐漸改變和增加條件或對原有程序缺陷和存在的不足,提出解決方案和方法的一種實驗。完善過程實驗目的是使學生鞏固所學知識,提升應用能力,培養科學的思維方式,提高對程序的分析理解能力和舉一反三的編程綜合能力。綜合過程實驗是通過應用程序設計或課題設計的綜合性、系統性實驗,使實驗教學從單一程序設計,向多模塊的應用程序設計轉變。綜合過程實驗的目標是提高學生知識點的關聯、銜接,組合和實踐應用能力m。
(5)針對學生在實驗過程中采用的方法效率低,教師在實驗教學過程中應該指導學生如何完成實驗題目,給出實現提示。同時在編寫程序的過程中教師應該強化學生用軟件工程方法學編寫程序,進行需求分析,設計,實現,測試,維護等基本過程。類的設計在Java程序設計中處于核心地位,因為Java是純面向對象語言,設計的主要工作就是定義類,類設計的好壞直接關系到程序的性能。在編寫由多個類組成的源程序時,每定義好—個類,就應該編寫測試代碼對該類進行調試運行。
2.2 為學生自主學習提供幫助
(1)針對實驗室安裝的開發環境單一這種現象,在機器條件允許的情況下可以同時安裝多個開發環境;另一方面,現在多數學生都有自己的計算機,教師可以給學生提供多個開發環境,讓學生在自己的計算機上安裝其感興趣的開發環境。學生如何使用開發環境,教師可不作講解,要求學生自學,以提高了學生的自學能力。
(2)重視學生調試程序能力的培養。在實驗教學中,可以有意識、分階段、分步驟講解程序的調試方法,如:選擇講解錯誤信息以及可能出現的錯誤提示的原因及情況;讓學生學會調試程序,并告訴學生調試程序的重要性,避免學生出錯就叫老師,或放棄實驗的現象。
學生調試程序時,會發現這樣那樣的問題,但是不理解出錯信息。主要原因是學生的英語詞匯量不夠。教師應該編寫一本編譯出錯信息對照表,幫助學生正確調試程序,這樣學生調試出錯了就很容易知道問題所在,并得以解決。同時實驗教師也可以把精力放在培養學生的編程思維,提高學生對實際問題的解決上。
(3)給學生搭建多種自主學習平臺。①現在是網絡時代,教師應充分利用網絡資源(學校教學平臺,博客、電子郵件等)提供教學課件,便于學生課后自主學習與復習。可建立不同層次的題庫,方便學生的自我檢查;開辟討論區與答疑區,隨時對學生的學習問題進行解答;并開展討論,提高學生的創新能力。②開放機房。Java語言是一門實踐性很強的課程,大量的上機調試程序,可以幫助學生發現問題,理解問題,掌握程序設計的方法,鍛煉創新能力,拓展邏輯思維,從而,幫助學生更好地學習Java程序設計語言。
2.3 推動監控和評價學生的自主學習過程
(1)為了促使學生提高編程水平,拓寬學生的編程思路,可以開展Java程序設計競賽活動,調動學生的學習熱情。組織Java程序設計小組也是提高大家學習興趣的一種方式。在實驗教學中,不能一味地讓學生把自己孤立起來苦思冥想,可以采取分組競賽活動,培養他們的良性競爭意識,從而達到提高學習興趣的目的。比如“求1000之內的所有完數”這個例子。先介紹一種常見算法,其他方法讓程序設計小組自主去解決,最后比較哪組使用方法最多,方法最巧,同時把這些好方法介紹給大家,鼓勵大家去發現新思路、新方法,培養他們的創造性思維。還可以組織一部分編程能力強的同學參與一些小型程序的開發,這樣既可以培養編程高手,又可以與社會實踐相結合,使得學生能夠學有所用,使他們盡快適應社會需求。定期開展程序設計競賽,讓感興趣的同學挑戰一下自己的編程能力,挖掘自身的潛力。實踐證明這種競賽活動不但可以幫助學生掌握多種語句的使用方法,還能培養他們多種角度分析問題的能力以及集體協作能力。
(2)為了保證實驗的效果,應該對實驗進行合理的監控和評價,并且加強考核。每次上機前要求將所布置的題目寫成書面作業,上機時檢查,否則不準上機。在每次上機時,要求在規定時間內獨立完成實驗習題,并根據完成練習題的數量、質量與時間,記錄平時成績。每次上機實習都要求學生必須寫出規范的實驗報告,在實驗報告中一定要寫出自己的心得。這樣,每上一次機就有一次提高。同時,對實踐環節要進行階段性考核。考核的目標要明確,對學生提出的實驗要求應該逐步提高。加大平時成績和階段性考核成績在課程總成績中所占比重。期末考試除筆試外,增加上機考試,要求學生在給定的時間內(比如兩個小時)把指定的題目編寫程序加以實現并運行出結果。教師應給出評分標準。
3、結束語
程序設計語言實踐操作性很強,實驗教學的好壞直接影響著理論教學的效果。本文以Java語言為例,歸納了幾點實驗教學過程中存在的問題,提出了“指導學生自主學習、幫助學生自主學習、促進學生自主學習”,即“導學+助學+促學”的Java實驗教學方法。此方法取得了滿意的效果,學生反映良好,學生的學習態度也更為主動,學習成績有較大提高。
總之,“導學+助學+促學”的實驗教學法有利于提高學生分析問題、解決問題的能力,可取得事半功倍的效果。當然,這種實驗教學模式是對該課程傳統實驗教學方法的一次改革,無論對學生還是對教師都提出了更高的要求,師生都需要有一個適應過程,實施的具體方法和措施也有待進一步探索和完善。
參考文獻:
[1]閻菲.Java程序設計教程[M].中國水利水電出版社,2004.
[2]張白一,崔尚森.面向對象程序設計——Java[M].西安電子科技大學出版社,2003.
[3]孫偉.“Java程序設計”課程的教學改革與實踐[J].計算機時代,2005.11.
[4]蘇華.“C語言程序設計”課程實驗教學改革與實踐[J].中國教育導刊,2005.5.