亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        用BlueJ助推Java程序設計教學改革

        2014-08-28 02:06:20孔令旗
        關鍵詞:構造方法面向對象程序設計

        孔令旗

        (焦作師范高等??茖W校 教學督導辦公室,河南 焦作 454000)

        一、Java基礎教學的利器——BlueJ

        許多本??圃盒0袹ava作為相關專業(yè)學生學習的第一門面向對象的計算機程序設計語言,但實際的教學效果并不理想。學生學完Java程序設計后,被要求編寫一個運用面向對象機制,且規(guī)模很小的Java程序時,相當一部分人會感到困難重重,手足無措。一般來說,學習Java程序設計語言的困難來自以下三方面:

        首先是面向對象機制與思維模式的內化

        面向對象的基本思想認為世界是由各種各樣具有自己的運動規(guī)律和內部狀態(tài)的對象所組成的,不同對象之間的相互作用和通信構成了完整的現(xiàn)實世界。面向對象實現(xiàn)的機制包括封裝性、繼承性和多態(tài)性等。面向對象機制的理解、掌握,并運用到實際問題的解決過程中去,不可能通過簡單幾次課的教學來完成,需要教師有目的地教學與不斷刻意地培養(yǎng)、訓練才能逐步實現(xiàn)。

        其次是專業(yè)的Java開發(fā)環(huán)境

        初學者在DOS下用Java JDK來學習程序設計時,對各種DOS命令的理解、記憶與使用成為他們學習的夢魘。看不見摸不著的文件系統(tǒng)、類路徑讓他們不知所措;當初學者用面向專業(yè)程序員的集成開發(fā)環(huán)境,如Eclipse、NetBeans時,眾多復雜的功能又讓他們眼花繚亂,望而生畏。

        再次是非母語表達

        Java程序代碼類似英文文章,程序編譯時顯示的錯誤信息是英文的,程序運行時的錯誤信息是英文的,Java的技術文檔同樣是英文的。對于英語基礎薄弱的學生,特別是不少高職院校學生而言,學習Java程序設計顯得尤為困難。

        事實上BuleJ正是為破解這些難題而專門設計的。BlueJ是一個開源的Java集成開發(fā)環(huán)境,現(xiàn)由英國肯特大學計算機教育研究小組開發(fā)維護。準確地說,BlueJ是一個用于面向對象程序設計教學的工具軟件,它具有交互性、可視性和簡單性三個顯著特點[1],Java之父詹姆斯·高斯林在談到BlueJ時說:“我最喜歡的集成開發(fā)環(huán)境是BlueJ?!盵2]

        用BlueJ打開了一個項目,并設置顯示代碼面板,系統(tǒng)的Window界面如圖1。

        圖1 BlueJ的窗口界面

        圖1主窗口中的類UML(Unified Modeling Language 統(tǒng)一建模語言)圖勾勒出了項目中類與類之間的使用、繼承關系,實現(xiàn)了類與類關系的可視化。類圖標的右鍵菜單可以實現(xiàn)類的編輯、編譯和刪除,以及調用類的構造方法來創(chuàng)建對象;對象席存放用項目或系統(tǒng)類庫中的類創(chuàng)建的對象圖標,實現(xiàn)了對象的可視化。對象圖標的右鍵菜單可以調用對象方法、查看對象狀態(tài)和刪除對象。這種交互性打破了原本只有程序才能對對象進行操控的程序運行模式,為類與對象的認識與理解、程序的迭代式設計以及基于類模塊的調試提供了強有力的支持;在代碼面板里直接輸入Java語句或表達式后就能執(zhí)行或計算,極大地方便了Java數(shù)據(jù)類型、變量、表達式和各種Java語法現(xiàn)象的教學;設置本地語言后,BlueJ可以用本地語言顯示系統(tǒng)菜單與快捷按鈕,并用本地語言顯示編譯錯誤信息和運行錯誤信息,對英語基礎薄弱的初學者而言,降低了他們的學習難度。

        BlueJ自20世紀90年代末問世以來,其軟件版本在不斷更新,2014年推出的最新版本為3.1.1。時至今日,它在計算機教育發(fā)達的西方和印度得到了廣泛應用,而在我國的計算機教育中仍難覓BlueJ的蹤跡。本文的目的在于探討如何利用BlueJ的特點與優(yōu)勢,降低Java程序設計教學的難度,激發(fā)學生學習興趣,培養(yǎng)學生的動手實踐能力,強化訓練面向對象的思維習慣,提高課堂與實驗課教學效果,為學生后續(xù)專業(yè)課程的學習打好基礎。

        二、BlueJ在Java教學改革中的應用

        (一)精心組織足量的教、學、做一體活動

        程序設計課程是一門實踐性很強的課程,學生只有多動手、多實驗,才能理解概念,掌握方法,練就技能,培養(yǎng)能力。教、學、做一體的教學模式[3]特別適合于程序設計課的教學。學生學習程序設計最大的動力是興趣,而學生最感興趣的因素是他們在教學實踐活動中不斷獲得的成就感。BlueJ的操控性、即算性和可視性為教、學、做一體的實施提供了有力支撐。

        程序設計教學中的實驗活動可劃分為驗證型、模仿型、擴修型和獨創(chuàng)型四種類型。新內容教學初期一般以驗證型、模仿型實驗為主,而中后期則以擴修型、獨創(chuàng)型實驗為主。

        BlueJ自帶了若干個項目的例子,存放在安裝目錄下的examples文件夾中。其中的shapes項目內包含Circle(圓)、Square(正方形)和Triangle(三角形)3個幾何圖形類,它們都使用了另一個Canvas(畫布)類(參見圖1)。每個類都設計有用于顯示、隱藏、上下左右移動、水平垂直移動指定距離的public方法。這個直觀圖形的項目特別適合于介紹類、對象的概念,以及它們之間關系。

        教師通過創(chuàng)建對象、調用方法、查看狀態(tài)等一系列演示操作,揭示對象是由類創(chuàng)建的。一個類可以創(chuàng)建多個對象,用同一個類創(chuàng)建的多個對象有相同的方法,但一個對象的方法僅用于操縱該對象本身。盡管同一個類創(chuàng)建的對象有相同的一組字段,但每個對象的字段都有自己獨立的存儲空間,互不影響。教師演示完后可以給學生布置類似的操作實驗任務,讓學生體會、理解面向對象程序的實現(xiàn)機制,以及類和對象之間的關系,這種實驗屬于模仿型。

        學習過構造方法的語法格式與作用之后,可給學生布置這樣的實驗:找出項目shapes中Circle類的構造方法,并閱讀代碼;希望圓默認用紅色顯示時,如何修改Circle的代碼?為Circle增加一個構造方法,可以在創(chuàng)建對象時指定圓的直徑。該實驗不僅可以加深學生對構造方法的理解,培養(yǎng)代碼閱讀能力,而且讓學生試著進行代碼的改動與擴展。該實驗屬于擴修型。

        用非BlueJ的Java環(huán)境教學時,數(shù)據(jù)類型、變量、表達式、賦值語句、強制類型轉換等內容的教學大多都是紙上談兵;在進行控制語句與系統(tǒng)類的教學,比如if、for、String時,只有將它們嵌入一個完整程序時才能看到一些效果,不能讓學生充分體驗與練習,不利于學生理解掌握Java的概念與規(guī)則。用BlueJ作為Java教學環(huán)境時,教師可以用代碼面板充分演示講解,學生可以用代碼面板充分練習領會,教學也就不再枯燥乏味。

        利用BlueJ平臺易用、靈活的特點,精心設計并組織足量的教、學、做一體的教學活動,將對Java程序設計教學質量的提高產生積極影響。

        (二)開展對象優(yōu)先的教學改革試驗

        對象優(yōu)先就是在教學過程中盡可能早地引入對象的概念,使學生盡早接觸、熟悉、理解、運用面向對象程序設計的概念與機制。20世紀末,對象優(yōu)先的教學理念已經在西方開展實驗性教學,而BuleJ的問世更進一步推動了對象優(yōu)先教學理念的實施[1]。如今,對象優(yōu)先在國外程序設計教學中已得到廣泛應用。

        利用BlueJ環(huán)境,學生接觸對象,調用對象方法、查看對象狀態(tài)可以早于Java語法和源代碼的學習。在完成概述章節(jié)教學之后,用BlueJ打開前面已提到過的shapes項目,讓學生認識BlueJ界面。以該項目為例介紹面向對象的基本機制,使學生看到對象是用類創(chuàng)建的,對象有方法,方法執(zhí)行改變對象的狀態(tài),比如幾何圖形的顏色、位置等。通過教師的演示與學生的親手實驗,學生直觀地感受了對象和類,體會到了方法代碼執(zhí)行的效果,知道了每一個方法都有其名字,可以通過參數(shù)向方法傳遞數(shù)據(jù)等。在以后的教學單元中,先引導學生閱讀類代碼,然后再在設計第一個類時介紹類代碼的語法格式。

        學生從觀察感受、動手實驗、閱讀代碼、規(guī)則學習,到自己編寫代碼,經歷了從直觀到抽象,從概要到細節(jié)的認知過程,不斷深化了對類和對象的理解。在介紹Java各種語句和面向對象的機制時,要盡可能從項目設計需要出發(fā)加以引入,體現(xiàn)對象優(yōu)先的理念,使概念、語法教學與項目設計融為一體。

        (三)助推任務驅動教學改革的實施

        項目驅動是當今流行的一種課程教學模式[4]。用傳統(tǒng)的Java環(huán)境教學時,必須等介紹的程序設計知識累積到一定量后才能引進項目,而此后又會因教學課時數(shù)不足,使項目驅動實驗草草收場,導致改革的作用不能充分發(fā)揮。BlueJ作為教學環(huán)境,特別適合于逐個類、逐個方法進行實驗調試,所以BlueJ特別適合于初學者通過不斷迭代、不斷完善的途徑來學習程序設計。

        打號機可以作為教學用的第一個項目,它模擬銀行、大型醫(yī)院等場所為客戶和病人打印接受服務的排隊號碼。把該項目放在介紹過了Java基本數(shù)據(jù)類型、賦值語句和類代碼的格式后進行教學。教學過程中可以把構造方法、if語句、++與--運算等編程知識與該項目融合在一起,構成一個教學單元。

        初始設計:代碼中定義一個int字段nextNo存放下一次要打印的服務號碼,一個方法getNextNo()返回號碼,然后將號碼加1。代碼如下:

        public class MarkingMachine {

        private int nextNo;

        public int getNextNo() {

        int x = nextNo; }

        nextNo = nextNo + 1;

        return x; }

        第1次迭代:用構造方法改變打印的第1個號為0以及從指定號打印起的問題;第2次迭代:引入++、--運算符解決先訪問nextNo,后加1問題;第3次迭代:介紹System.out.println方法,輸出號碼到終端窗口;第4次迭代:介紹if語句,解決打印到指定號止的問題。

        打號機項目之后,“錘子剪子布”游戲的模擬作為第二個項目,該項目實現(xiàn)對象間方法的交互調用,學習對象引用,傳遞對象參數(shù),并復習強化if控制語句、System.out.println方法的應用。初始設計時,項目中有兩個類,裁判類Referee的對象接受玩家類Player對象的出手數(shù)據(jù),當裁判接收到兩個不同玩家的數(shù)據(jù)后判斷游戲的輸贏。設計中分別用int值0,1,2對玩家出手數(shù)據(jù)“錘子,剪子,布”進行編碼。甲、乙兩玩家出手數(shù)據(jù)不相等時,條件“(甲數(shù)據(jù) + 1) mod 3 = 乙數(shù)據(jù)”為真時甲勝,否則乙勝。

        后續(xù)的迭代設計可以考慮解決:⑴ Referee用靜態(tài)數(shù)據(jù)、靜態(tài)方法實現(xiàn);⑵ 用隨機整數(shù)作為玩家出手數(shù)據(jù)。

        以學生身邊且他們感興趣的事物為項目素材,一方面學生容易理解,對象分析容易做到水到渠成,使他們感到程序設計并不高深,并且可以解決一些實際問題;另一方面,有趣的例子也可以提高學生的學習興趣。

        三、結束語

        BlueJ獨特的優(yōu)勢使其成為介紹Java編程教學不可多得的教學工具。無論是采用傳統(tǒng)的教學內容組織模式,還是想進行教學改革的嘗試,BlueJ都會對Java程序設計的教與學起到重要且有效的幫助。事實上BlueJ是一個沒有剪裁的Java標準環(huán)境,完全勝任Java小規(guī)模項目的開發(fā)設計。如果Java作為本專科學生的主干專業(yè)基礎課,BlueJ適合于學生打基礎階段學習使用,學生最終還應掌握NetBeans、Eclipse等專業(yè)工具。NetBeans和BlueJ團隊為了讓學生從BlueJ平滑過渡到NetBeans,在NetBeans的一些版本上開發(fā)了BlueJ插件,安裝BlueJ插件后NetBeans可以打開使用BlueJ項目。

        [參考文獻]

        [1] K?lling M, Rosenberg, J. Guidelines for Teaching Object Orientation with Java[C]. Proceedings of the 6th conference on Information Technology in Computer Science Education (ITiCSE 2001). England Canterbury, 2001.

        [2] BlueJ[EB/OL]. [2014-02-10].http://www.bluej.org.

        [3] 郭英凱. 高職教育“教學做一體”教學模式創(chuàng)新研究[J]. 教育與職業(yè), 2013(36):105-107.

        [4] 劉波,沈岳,曾瑩. 高校計算機項目驅動式教學模式探索[J]. 計算機教育, 2011(4):82-84.

        猜你喜歡
        構造方法面向對象程序設計
        DC-DC變換器分層級構造方法
        基于Visual Studio Code的C語言程序設計實踐教學探索
        計算機教育(2020年5期)2020-07-24 08:52:56
        從細節(jié)入手,談PLC程序設計技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        面向對象的計算機網絡設計軟件系統(tǒng)的開發(fā)
        電子測試(2018年15期)2018-09-26 06:01:34
        面向對象的數(shù)據(jù)交換協(xié)議研究與應用
        《夢溪筆談》“甲子納音”構造方法的數(shù)學分析
        高職高專院校C語言程序設計教學改革探索
        幾乎最佳屏蔽二進序列偶構造方法
        面向對象Web開發(fā)編程語言的的評估方法
        PLC梯形圖程序設計技巧及應用
        亚洲综合色丁香婷婷六月图片| 人妻精品人妻一区二区三区四区| 国产女人精品视频国产灰线| 超碰97资源站| 丝袜人妻一区二区三区| 少妇被爽到高潮喷水久久欧美精品 | 日韩国产自拍精品在线| 91麻豆精品一区二区三区| 国产亚洲精品综合一区二区| av天堂网手机在线观看| 亚洲国产精品成人av网| 日本乱偷人妻中文字幕| 怡春院欧美一区二区三区免费| 亚洲午夜福利精品久久| 亚洲色图少妇熟女偷拍自拍| 蜜桃av在线免费网站| 精品国产三级a∨在线| 无码人妻一区二区三区免费| 国产精品一区二区午夜久久| 精品乱色一区二区中文字幕| 猫咪av成人永久网站在线观看| 久久精品国产亚洲av蜜臀| 91精品国产免费久久久久久青草| 少妇性l交大片免费1一少| 亚洲av无一区二区三区久久蜜桃| 爱性久久久久久久久| 国产精品18禁久久久久久久久| 免费在线观看视频专区| 国产91精品在线观看| 亚洲男同gay在线观看| 国产成人精品电影在线观看18 | 亚洲一本之道高清在线观看| 极品尤物人妻堕落沉沦| 国产精品无码一区二区三区| 日本夜爽爽一区二区三区| 男女上床视频免费网站| 精品人妻av中文字幕乱| а√中文在线资源库| 国内少妇人妻丰满av| 亚洲精品一区二区三区蜜臀| 人禽杂交18禁网站免费|