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

        ?

        以工程應(yīng)用為導(dǎo)向的JAVA教學(xué)方法探索

        2013-12-29 00:00:00唐光義劉勝輝張淑麗
        計(jì)算機(jī)教育 2013年5期

        摘要:針對(duì)目前JAVA語(yǔ)言在教學(xué)過(guò)程中存在的問(wèn)題,對(duì)JAVA語(yǔ)言的教學(xué)定位進(jìn)行重新思考,提出以工程應(yīng)用為導(dǎo)向,把知識(shí)點(diǎn)和應(yīng)用點(diǎn)進(jìn)行有效結(jié)合的JAVA教學(xué)方法。

        關(guān)鍵詞:工程應(yīng)用;JAVA語(yǔ)言;教學(xué)方法;教學(xué)定位

        面向?qū)ο蟪绦蛟O(shè)計(jì)是目前程序設(shè)計(jì)的主流,是軟件開(kāi)發(fā)人員必須掌握的一項(xiàng)基本的技術(shù)。JAVA是一種典型的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,是目前計(jì)算機(jī)行業(yè)使用最為廣泛的編程語(yǔ)言之一,相關(guān)就業(yè)崗位和市場(chǎng)需求都十分龐大。根據(jù)TIOBE公司的數(shù)據(jù)統(tǒng)計(jì),在各種程序設(shè)計(jì)語(yǔ)言中,JAVA語(yǔ)言一直是最流行的語(yǔ)言之一。

        1.JAVA教學(xué)中存在的問(wèn)題

        JAVA語(yǔ)言是一門(mén)基礎(chǔ)的程序設(shè)計(jì)課程,一般本科院校的JAVA課程開(kāi)設(shè)在第三或第四學(xué)期。學(xué)生在學(xué)習(xí)JAVA之前學(xué)過(guò)一門(mén)程序設(shè)計(jì)語(yǔ)言C或者C++,因此,學(xué)生在學(xué)習(xí)JAVA課程時(shí)具有一定的語(yǔ)言基礎(chǔ)。但是在現(xiàn)階段的JAVA教學(xué)當(dāng)中,往往忽略這一點(diǎn),把JAVA完全當(dāng)作一門(mén)“新課”來(lái)講授,通常會(huì)出現(xiàn)下面幾個(gè)問(wèn)題。

        1.1內(nèi)容重復(fù)

        以前在C/C++中學(xué)習(xí)過(guò)的基本語(yǔ)法和程序設(shè)計(jì),在JAVA課程中又被重復(fù)講解。比如,以前在C語(yǔ)言中學(xué)過(guò)了int、float、double、char等數(shù)據(jù)類(lèi)型,還有C語(yǔ)言里面的基本流程控制語(yǔ)句for、while、switch case等,這都是程序設(shè)計(jì)語(yǔ)言的共性。如果在JAVA課程中再進(jìn)行重復(fù)講解,學(xué)生聽(tīng)起來(lái)會(huì)索然無(wú)味,不能激發(fā)學(xué)生的學(xué)習(xí)積極性。

        1.2過(guò)多地偏重于語(yǔ)言本身,輕視應(yīng)用

        現(xiàn)在很多JAVA教材都是重點(diǎn)講授JAVA語(yǔ)言的知識(shí)點(diǎn),很少涉及JAVA語(yǔ)言的應(yīng)用點(diǎn)。如果在講課過(guò)程中,沒(méi)有跟學(xué)生說(shuō)明JAVA的這些知識(shí)點(diǎn)的應(yīng)用,會(huì)使學(xué)生感覺(jué)迷茫,不知道學(xué)習(xí)JAVA的用途。

        1.3規(guī)范性不強(qiáng)

        現(xiàn)在普遍存在的問(wèn)題是教師在講授JAVA時(shí),僅僅講授知識(shí)點(diǎn),而沒(méi)有和工程實(shí)際、工程應(yīng)用相結(jié)合。例如,在定義一個(gè)類(lèi)的時(shí)候,為了簡(jiǎn)單省事,直接命名為class A,這會(huì)造成學(xué)生編程的一個(gè)壞習(xí)慣——隨心所欲,而這正是工程應(yīng)用項(xiàng)目的大忌。

        2.JAVA語(yǔ)言的教學(xué)定位

        JAVA語(yǔ)言具有簡(jiǎn)單明了、面向?qū)ο蟆⒖梢浦?、多線(xiàn)程、分布式、結(jié)構(gòu)中立、高性能、動(dòng)態(tài)等特點(diǎn),但是面向?qū)ο罂梢哉f(shuō)是JAVA最重要的特性。JAVA語(yǔ)言的設(shè)計(jì)完全是面向?qū)ο蟮模部梢哉f(shuō)JAVA中“一切皆是對(duì)象”。JAVA語(yǔ)言的封裝性要比C++更強(qiáng)一些,而且很多關(guān)于底層的操作都已經(jīng)被屏蔽。比如,C++的指針在JAVA中已經(jīng)沒(méi)有了,且JAVA開(kāi)發(fā)者不用投入太大的精力去關(guān)心底層的問(wèn)題,所以學(xué)習(xí)JAVA會(huì)感覺(jué)比較容易,特別是以前學(xué)習(xí)過(guò)C/C++、具有一定程序設(shè)計(jì)基礎(chǔ)的學(xué)生。雖然JAVA語(yǔ)言學(xué)習(xí)起來(lái)看似比較容易,但是想要學(xué)好JAVA卻是比較困難的事情。這主要表現(xiàn)在以下兩個(gè)方面。

        1)JAVA語(yǔ)言作為一門(mén)優(yōu)秀的程序設(shè)計(jì)語(yǔ)言,所包含的知識(shí)點(diǎn)非常多,這就容易分散學(xué)生的學(xué)習(xí)重點(diǎn)和學(xué)習(xí)精力,難以對(duì)課程學(xué)習(xí)有一個(gè)整體的把握。

        JAVA語(yǔ)言作為一門(mén)專(zhuān)業(yè)基礎(chǔ)課,不僅要熟練掌握程序編譯和程序調(diào)試的方法,還要系統(tǒng)掌握程序編譯的原理和代碼運(yùn)行的機(jī)制;不僅要熟練掌握傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì)方法,還要深入理解現(xiàn)在流行的面向?qū)ο蟮脑O(shè)計(jì)思想和設(shè)計(jì)技巧;不僅要掌握J(rèn)AVA基本語(yǔ)法和JAVA基本語(yǔ)句的使用,還要學(xué)習(xí)一些JAVA的編程技巧和JAVA的編程規(guī)范;不僅要學(xué)會(huì)簡(jiǎn)單的SQL語(yǔ)句的使用,還要深入理解這些SQL語(yǔ)句所處理的數(shù)據(jù)與對(duì)象的聯(lián)系。而多線(xiàn)程編程對(duì)學(xué)生來(lái)講又是一個(gè)比較大的難點(diǎn),這就需要學(xué)生具有比較扎實(shí)的操作系統(tǒng)的學(xué)習(xí)基礎(chǔ),否則學(xué)生很難理解程序的運(yùn)行為什么會(huì)中間中斷又穿插進(jìn)其他的程序。網(wǎng)絡(luò)通信編程則要求學(xué)生具有較好的計(jì)算機(jī)網(wǎng)絡(luò)的基礎(chǔ)知識(shí),否則也是難以理解的,學(xué)生只能“知其然而不知其所以然”。

        2)“面向?qū)ο蟆苯虒W(xué)本身就有一定的難度。

        如果學(xué)生以前學(xué)過(guò)C語(yǔ)言,沒(méi)學(xué)過(guò)C++的話(huà),對(duì)“對(duì)象”的理解就會(huì)很困難。即使學(xué)習(xí)過(guò)C++,學(xué)生也很難充分的理解“對(duì)象”的概念。面向?qū)ο蟮某绦蛟O(shè)計(jì)方法是一個(gè)系統(tǒng)的方法,學(xué)生充分認(rèn)識(shí)需要一個(gè)過(guò)程。學(xué)生學(xué)習(xí)傳統(tǒng)的面向過(guò)程的程序設(shè)計(jì)時(shí),主要面對(duì)數(shù)據(jù)和過(guò)程,而在面向?qū)ο蟮某绦蛟O(shè)計(jì)中就變成了屬性和方法,與此相對(duì)應(yīng)的還有類(lèi)、繼承、上轉(zhuǎn)型、多態(tài)、接口回調(diào)等。對(duì)于這些內(nèi)容需要學(xué)生好好理解,用心領(lǐng)會(huì),而不是泛泛了解、淺嘗輒止就能掌握的。

        因此,我們需要在JAVA教學(xué)中重新定位,否則學(xué)生很難在有限的時(shí)間內(nèi)學(xué)好JAVA。如圖1所示是程序設(shè)計(jì)語(yǔ)言的關(guān)系示意圖,顯示了JAVA語(yǔ)言的教學(xué)內(nèi)容與以前所學(xué)的C/C++課程的關(guān)系,X軸代表JAVA方向,Y軸代表C/C++方向。這兩種程序語(yǔ)言之間存在很多共性,如果這些語(yǔ)言共性在C/C++課程中講過(guò),那么JAVA就不要再重復(fù)。JAVA語(yǔ)言的教學(xué)要強(qiáng)調(diào)工程應(yīng)用,在實(shí)際的工程應(yīng)用當(dāng)中貫穿著JAVA的知識(shí)點(diǎn),把JAVA的知識(shí)點(diǎn)和實(shí)際工程的應(yīng)用有機(jī)地結(jié)合起來(lái)。

        3.以工程應(yīng)用為導(dǎo)向的JAvA教學(xué)方法

        JAVA是一門(mén)程序設(shè)計(jì)語(yǔ)言,也可以說(shuō)是一個(gè)工具,只有在工程應(yīng)用當(dāng)中才能體現(xiàn)出這個(gè)工具的價(jià)值。軟件工程專(zhuān)業(yè)主要是培養(yǎng)合格的未來(lái)軟件工程師,因此在教學(xué)當(dāng)中,就更要體現(xiàn)出工程應(yīng)用,以工程應(yīng)用為導(dǎo)向的JAVA教學(xué)方法,主要包括如下的內(nèi)容。

        3.1以規(guī)則入手進(jìn)行教學(xué)

        JAVA是一門(mén)專(zhuān)業(yè)基礎(chǔ)課,在JAVA之后還有專(zhuān)業(yè)方向課,例如JSP程序設(shè)計(jì)、輕量級(jí)J2EE框架Spring、基于MVC的Web開(kāi)發(fā)、ORM框架原理與應(yīng)用、XML編程技術(shù)等,在這些課程當(dāng)中,“規(guī)則”都是非常重要的。JSP是在JAVA學(xué)習(xí)之后的一門(mén)課程,它能夠在網(wǎng)頁(yè)中嵌入JAVA代碼,由JAVA代碼來(lái)完成業(yè)務(wù)邏輯的操作,其工作原理是首先把:jsp文件轉(zhuǎn)換成為一個(gè)特殊的JAVA文件——SERVLET,然后再轉(zhuǎn)換為,class文件,在客戶(hù)端響應(yīng)用戶(hù)的就是一個(gè)CLASS文件。SERVLET其實(shí)就是在服務(wù)器端執(zhí)行的一段JAVA程序,只不過(guò)它有專(zhuān)門(mén)的一套規(guī)則。在JSP之上的高級(jí)應(yīng)用,就更加強(qiáng)調(diào)“規(guī)則”,因?yàn)镴AVA是開(kāi)源的,大家可以在里面添加類(lèi)庫(kù)、包等。如果沒(méi)有一定規(guī)則,大家無(wú)法共同使用和共同維護(hù)。因此在JAVA的教學(xué)當(dāng)中,要讓學(xué)生學(xué)會(huì)遵守“規(guī)則”,不能像學(xué)習(xí)C/C++那樣,只注重語(yǔ)法和程序設(shè)計(jì)思想,而忽略代碼的“非技術(shù)”問(wèn)題。如代碼的縮進(jìn)、代碼的注釋、類(lèi)的命名、函數(shù)命名、變量命名與使用等,都要遵守“規(guī)則”。有了這樣一個(gè)遵守“規(guī)則”的習(xí)慣,學(xué)生在學(xué)習(xí)三大框架(Struts、Spring、Hibemate)時(shí),就會(huì)比較容易理解。遵守“規(guī)則”也是保證軟件質(zhì)量的一個(gè)重要手段。輕量級(jí)J2EE框架Spring、基于MVC的Web開(kāi)發(fā)Struts、ORM框架原理與應(yīng)用Hibernate,都是JAVA代碼的規(guī)范化應(yīng)用。

        在工程應(yīng)用項(xiàng)目當(dāng)中,更加強(qiáng)調(diào)規(guī)范性。在學(xué)生剛開(kāi)始學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言的時(shí)候,老師一般會(huì)告訴學(xué)生,代碼是由機(jī)器來(lái)執(zhí)行的,所以在學(xué)生的心目當(dāng)中,認(rèn)為編寫(xiě)的程序就是讓機(jī)器來(lái)執(zhí)行的,只要編譯正常、運(yùn)行無(wú)誤就萬(wàn)事大吉了。但是在工程應(yīng)用當(dāng)中,學(xué)生要明白“代碼不僅是給機(jī)器執(zhí)行的,更是要給人看的”,既然代碼是要給人來(lái)看,那就要遵守規(guī)范,否則很難讀懂的。例如,“}”一行放一個(gè),就比連著放讓人容易明白;變量的定義intnumber max就比int i更好理解。

        3.2主要講授JAVA的特點(diǎn)

        JAVA語(yǔ)言完整的知識(shí)點(diǎn)包括JAVA的數(shù)據(jù)類(lèi)型、JAVA的運(yùn)算符、JAVA的流程控制、類(lèi)與對(duì)象、JAVA的繼承與接口、JAVA多線(xiàn)程、JAVA的I/O流、JAVA的圖形界面、JAVA的網(wǎng)絡(luò)編程、JAVA的數(shù)據(jù)庫(kù)編程、Applet。但是在JAVA課程講授當(dāng)中,我們應(yīng)考慮現(xiàn)在實(shí)際的工程應(yīng)用,應(yīng)用比較多的要重點(diǎn)講解;應(yīng)用比較少的可以簡(jiǎn)單講或不講。JAVA的數(shù)據(jù)類(lèi)型、JAVA的運(yùn)算符、JAVA的流程控制這些內(nèi)容屬于語(yǔ)言共性,完全不用再重復(fù)講解。類(lèi)與對(duì)象以及JAVA的繼承與接口是一個(gè)重點(diǎn)內(nèi)容,需要詳細(xì)講解。如果以前沒(méi)有學(xué)習(xí)過(guò)面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,那么對(duì)象、類(lèi)、繼承、接口等這些內(nèi)容要深入的講解;如果以前學(xué)習(xí)過(guò)面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,那么就需要進(jìn)行對(duì)比講解,主要講解JAVA的不同之處。比如JAVA與C++的對(duì)比,在JAVA里面的接口回調(diào)、上轉(zhuǎn)型等,是JAVA特有的,需要學(xué)生用心體會(huì)、好好理解。JAVA多線(xiàn)程也是JAVA一個(gè)獨(dú)有的優(yōu)點(diǎn),但是多線(xiàn)程的程序設(shè)計(jì)思想與以往的程序設(shè)計(jì)思想已經(jīng)完全不同了,學(xué)生在理解上會(huì)存在一定的困難,所以在課程的講解中一定要與操作系統(tǒng)的原理相結(jié)合。JAVA的I/O流、JAVA的圖形界面和JAVA的數(shù)據(jù)庫(kù)編程這些內(nèi)容雖然表面上不相同,但是實(shí)質(zhì)上是一樣的,學(xué)生也是比較好理解的。JAVA的網(wǎng)絡(luò)編程和Applet,又是JAVA的一大優(yōu)點(diǎn)。JAVA的快速發(fā)展在很大程度上得益于網(wǎng)絡(luò)的發(fā)展,因此JAVA先天就與網(wǎng)絡(luò)具有密切的聯(lián)系,同時(shí)網(wǎng)絡(luò)編程也是JAVA應(yīng)用的優(yōu)勢(shì)所在。Applet主要是早期為解決網(wǎng)絡(luò)問(wèn)題而設(shè)計(jì),但是現(xiàn)在已經(jīng)很少應(yīng)用了,只需要簡(jiǎn)單講解即可。

        3.3時(shí)刻突出應(yīng)用

        JAVA語(yǔ)言的學(xué)習(xí)要達(dá)到學(xué)以致用,時(shí)刻把知識(shí)點(diǎn)和應(yīng)用點(diǎn)聯(lián)系起來(lái),在應(yīng)用當(dāng)中來(lái)理解和掌握這些知識(shí)點(diǎn)。對(duì)于知識(shí)點(diǎn)的講解,要以工程應(yīng)用為切入點(diǎn),強(qiáng)調(diào)知識(shí)點(diǎn)的應(yīng)用價(jià)值,這樣可以讓學(xué)生在應(yīng)用中理解這些知識(shí)點(diǎn)。目標(biāo)明確,學(xué)習(xí)就會(huì)比較有動(dòng)力。知識(shí)點(diǎn)應(yīng)用不明確的學(xué)習(xí)過(guò)程如圖2所示,其認(rèn)知曲線(xiàn)是比較陡峭的,意味著對(duì)知識(shí)點(diǎn)的認(rèn)知是比較困難的,而且越往后認(rèn)知越難;知識(shí)點(diǎn)應(yīng)用明確的學(xué)習(xí)過(guò)程如圖3所示,其認(rèn)知曲線(xiàn)比較平滑,意味著一開(kāi)始對(duì)所學(xué)的知識(shí)就有比較明確的認(rèn)知。隨著學(xué)習(xí)的深入,逐漸達(dá)到對(duì)知識(shí)的完全認(rèn)知。

        在JAVA的教學(xué)過(guò)程中,通過(guò)工程應(yīng)用的引入,可以把枯燥無(wú)味的知識(shí)點(diǎn)變成鮮活有趣的應(yīng)用點(diǎn)。例如,對(duì)于“上轉(zhuǎn)型”知識(shí)點(diǎn)的引入,假如要開(kāi)發(fā)一個(gè)物流運(yùn)輸管理信息系統(tǒng),在系統(tǒng)當(dāng)中需要計(jì)算貨物的運(yùn)輸費(fèi)用,使用3種交通工具:Truck、Train、Plane。那么計(jì)算費(fèi)用的方法(Cost)是分別放到3個(gè)交通工具類(lèi)里面,還是單獨(dú)提取出來(lái)呢?很明顯如果放到3個(gè)類(lèi)里面分別實(shí)現(xiàn),代碼的重復(fù)度太高,并且難以維護(hù),這就需要把方法(Cost)抽象出來(lái),放到Truck、Train、Plane的父類(lèi)Conveyance里,然后Truck、Train、Plane再分別實(shí)現(xiàn)Cost方法。這樣我們可以根據(jù)前臺(tái)選擇交通工具的不同生成不同的對(duì)象(Truck、Train或Plane),然后上轉(zhuǎn)型為Conveyance對(duì)象進(jìn)行數(shù)據(jù)的傳遞,這樣傳遞的是相同的對(duì)象,但是計(jì)算的是不同的運(yùn)輸費(fèi)用。

        3.4以工程項(xiàng)目強(qiáng)化知識(shí)點(diǎn)應(yīng)用

        JAVA語(yǔ)言的知識(shí)點(diǎn)是相對(duì)孤立的,通過(guò)工程應(yīng)用可以把這些知識(shí)點(diǎn)有效地融合起來(lái),使學(xué)生“既看見(jiàn)樹(shù)木,又得到森林”。在JAVA的教學(xué)中可以在一開(kāi)始引入一個(gè)大型的工程應(yīng)用項(xiàng)目“進(jìn)銷(xiāo)存管理系統(tǒng)”,然后對(duì)該系統(tǒng)的功能進(jìn)行分解,通過(guò)分解把不同的功能點(diǎn)與JAVA語(yǔ)言的知識(shí)點(diǎn)進(jìn)行有效結(jié)合。這樣學(xué)生在學(xué)習(xí)過(guò)程中就可以不斷地嘗試?yán)眠@些知識(shí)點(diǎn)去解決工程應(yīng)用的問(wèn)題,亦可以很好地提高學(xué)習(xí)的積極性。

        4.結(jié)語(yǔ)

        教學(xué)方法的改革與探索是教育界一個(gè)永恒的課題。隨著時(shí)代的進(jìn)步和技術(shù)的發(fā)展,企業(yè)對(duì)軟件人才的需求也在不斷變化,這就需要我們構(gòu)建新的教學(xué)體系、探索新的教學(xué)方法、運(yùn)用新的教學(xué)手段,提高教學(xué)質(zhì)量,培養(yǎng)未來(lái)合格的軟件工程師。我們?cè)贘AVA教學(xué)方法上的探索與實(shí)踐,提高了學(xué)生學(xué)習(xí)的積極性,促進(jìn)了學(xué)生的理論知識(shí)和實(shí)踐動(dòng)手能力的提高,也為學(xué)生學(xué)習(xí)后繼的課程打下了堅(jiān)實(shí)的基礎(chǔ)。通過(guò)以工程應(yīng)用為導(dǎo)向的JAVA教學(xué)方法的引入,課程的教學(xué)質(zhì)量和教學(xué)效果明顯改善,學(xué)生普遍反映良好。教學(xué)方法的探索與實(shí)踐永無(wú)止境,我們會(huì)把這種以工程應(yīng)用為導(dǎo)向的教學(xué)方法在其他課程中推廣下去。

        (見(jiàn)習(xí)編輯:劉麗麗)

        日韩在线一区二区三区免费视频| 粉色蜜桃视频完整版免费观看在线 | 国产午夜精品一区二区三区不| 国产一区二区三区色区| 精品国产一区二区三区性色| 日本另类αv欧美另类aⅴ| 最近免费中文字幕| 在线亚洲AV不卡一区二区| 水蜜桃在线观看一区二区国产| 人妻中文字幕在线网站| 色一情一乱一伦一区二区三区日本| 熟妇无码AV| 精品国产污黄网站在线观看| 午夜秒播久久精品麻豆| 国模欢欢炮交啪啪150| 国产一级免费黄片无码AV| 激情在线视频一区二区三区| 亚洲成人av一二三四区| 999久久久国产精品| 色综合久久精品中文字幕| 国产激情小视频在线观看 | 另类欧美亚洲| 亚洲天堂av免费在线| 国产高清成人在线观看视频| 激情综合一区二区三区| 亚洲精品美女自拍偷拍| 国产精品髙潮呻吟久久av| 岛国av无码免费无禁网站| 国产又黄又大又粗视频| 久久久久国产精品四虎| 国产一区二区三区在线观看第八页| 日日碰狠狠添天天爽| 无码人妻少妇久久中文字幕蜜桃| 成人在线视频亚洲国产| 成熟了的熟妇毛茸茸| 国产成人一区二区三区在线观看| 五月综合激情婷婷六月色窝| 伊人色综合久久天天人手人停 | 久久中文字幕一区二区| 国产人与zoxxxx另类| 综合无码一区二区三区四区五区|