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

        ?

        “基礎(chǔ)優(yōu)先”策略下的高職Java語言課程教學(xué)改革探討

        2017-03-26 12:09:17楊晨霞涂風(fēng)濤
        職教論壇 2017年5期
        關(guān)鍵詞:問題驅(qū)動教學(xué)改革

        楊晨霞+涂風(fēng)濤

        摘 要:“對象優(yōu)先法”在歷屆SIGCSE(計算機(jī)科學(xué)教育)會議上一直受到鼓吹,而提倡“基礎(chǔ)優(yōu)先法”的呼聲卻很微弱。但近年來隨著“對象優(yōu)先法”在高職院校Java語言教學(xué)過程中遇到挫折,這一切才得以扭轉(zhuǎn)。文章主要探討在高職Java語言課程教學(xué)改革中采用“基礎(chǔ)優(yōu)先”的方法,并且以問題驅(qū)動的方式教授程序設(shè)計的概念和技術(shù)。通過實踐檢驗,該教學(xué)方式提高了學(xué)生的面向?qū)ο缶幊棠芰Α?/p>

        關(guān)鍵詞:基礎(chǔ)優(yōu)先法;問題驅(qū)動;教學(xué)改革

        作者簡介:楊晨霞(1978-),女,江西瑞金人,南昌師范高等??茖W(xué)校講師,研究方向為計算機(jī)應(yīng)用;涂風(fēng)濤(1976-),男,江西南昌人,南昌師范高等??茖W(xué)校講師,研究方向為網(wǎng)絡(luò)安全。

        基金項目:江西省高等學(xué)校教學(xué)改革研究課題“基于CDIO理念的創(chuàng)新型高技能人才培養(yǎng)模式的研究與實踐——以高職院校軟件專業(yè)為例”(編號:JXJG-14-41-5),主持人:涂風(fēng)濤。

        中圖分類號:G712 文獻(xiàn)標(biāo)識碼:A 文章編號:1001-7518(2017)05-0071-03

        隨著全球軟件服務(wù)外包和國內(nèi)第三產(chǎn)業(yè)的快速發(fā)展,我國的軟件行業(yè)成長迅猛,產(chǎn)業(yè)對人才需求旺盛。高職軟件專業(yè)迎來發(fā)展機(jī)遇。Java是一種被廣泛使用的面向?qū)ο蟪绦蛘Z言(Object-Oriented Programming Language),有許多研究機(jī)構(gòu)和公司采用Java來發(fā)展各種用于科學(xué)計算和商業(yè)的大型應(yīng)用軟件。因此,很多高職院校都把《Java語言程序設(shè)計》作為程序設(shè)計的第一門課程,使得學(xué)生可以站在計算機(jī)應(yīng)用的前沿,并與計算機(jī)其它課程的學(xué)習(xí)相輔相成。由于Java在動態(tài)網(wǎng)頁開發(fā)和安卓操作系統(tǒng)上的廣泛應(yīng)用,隨著Internet的發(fā)展和終端智能手機(jī)的大量普及,每年我國有大量的IT企業(yè)需要招聘Java軟件開發(fā)人員,但高職院校培養(yǎng)的計算機(jī)軟件專業(yè)學(xué)生的程序開發(fā)能力與企業(yè)的要求存在很大的差距,因此進(jìn)行Java語言課程的教學(xué)改革勢在必行。

        一、教學(xué)改革

        (一)傳統(tǒng)的教學(xué)策略——對象優(yōu)先教學(xué)法

        對象優(yōu)先教學(xué)法從一開始就強(qiáng)調(diào)面向?qū)ο蟮木幊毯驮O(shè)計原則,這種教學(xué)法直接從對象和繼承開始,然后才介紹程序設(shè)計的結(jié)構(gòu)[1]。即在面向?qū)ο笤O(shè)計的環(huán)境中學(xué)習(xí)所有內(nèi)容,包括學(xué)習(xí)程序設(shè)計的結(jié)構(gòu)。它的優(yōu)點是學(xué)習(xí)者能夠在學(xué)習(xí)初段建立起面向?qū)ο笤O(shè)計概念,有利于后續(xù)的相關(guān)專業(yè)課程的學(xué)習(xí)。但它的缺點是提高了程序設(shè)計課程的入門難度,不僅要求學(xué)習(xí)者要掌握數(shù)據(jù)類型、變量、引用等基本概念,還需理解面向?qū)ο蟪绦蛟O(shè)計中的類的抽象和封裝、繼承和多態(tài)等抽象概念。就像大部分學(xué)生說的,對象優(yōu)先教學(xué)法對我們來說是一種極大的挑戰(zhàn),需要在學(xué)習(xí)的開始就要掌握許多面向?qū)ο笏枷搿⒏拍钆c編程技能。但從整個教學(xué)反饋來看,一部分學(xué)生從開始充滿興趣,到感覺自己已經(jīng)很努力了,編程能力卻沒有提高,從而產(chǎn)生畏難情緒,如果一旦沒有跟上老師的教學(xué)進(jìn)度,甚至?xí)艞墶?/p>

        (二)基礎(chǔ)優(yōu)先教學(xué)法

        基礎(chǔ)優(yōu)先教學(xué)法是指在學(xué)習(xí)對象和類之前,首先介紹基本程序設(shè)計的概念和技術(shù)。在整個教學(xué)改革中采用了基礎(chǔ)優(yōu)先的方法,并且以問題驅(qū)動的方式教授程序設(shè)計的概念和技術(shù)。首先是學(xué)習(xí)程序設(shè)計的基礎(chǔ)知識,其次學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計的相關(guān)概念和內(nèi)容,最后再使用面向?qū)ο笤O(shè)計方法構(gòu)建具有異常處理功能和某些高級特性的圖形用戶程序(GUI)及applet。因此,對課程的教學(xué)內(nèi)容進(jìn)行重新規(guī)劃(見圖1)。

        實踐證明,對于初學(xué)編程的學(xué)生來說,首先學(xué)習(xí)語言基礎(chǔ)邏輯、循環(huán)和數(shù)組這樣的基本編程技術(shù),并逐步精通是非常重要的。如果學(xué)生不能很好地完成過程化程序代碼的編寫,也將無法學(xué)好面向?qū)ο蟪绦蛟O(shè)計,學(xué)生扎實地掌握數(shù)據(jù)類型、控制語句、數(shù)組和方法會為學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計打下牢固基礎(chǔ)[2]。

        在以基礎(chǔ)優(yōu)先策略教學(xué)時,首先使用過程化方案來解決某個問題,然后再演示如何使用面向?qū)ο笤O(shè)計方法來進(jìn)行改進(jìn)[3],從而使學(xué)生更好地理解面向?qū)ο蟪绦蛟O(shè)計思想,使他們從中學(xué)到如何更高效地使用面向?qū)ο蟪绦蛟O(shè)計方法。例如在介紹第一部分“程序設(shè)計基礎(chǔ)”中的“基本數(shù)據(jù)類型和基本操作”時,我們設(shè)計了一個“計算圓面積”的簡單程序。該程序讀入圓的半徑并顯示其面積。程序?qū)⒂米兞看鎯A的半徑和面積,使用表達(dá)式來計算面積。教學(xué)目的是讓學(xué)生掌握編寫程序需要設(shè)計算法和數(shù)據(jù)結(jié)構(gòu),并要把算法(algorithm)轉(zhuǎn)換為程序代碼。通過問題我們讓學(xué)生知道算法其實就是描述如何執(zhí)行一系列操作來解決一個實際問題,它指定操作的執(zhí)行順序。算法可以幫助程序設(shè)計者在用程序設(shè)計語言編寫程序之前進(jìn)行規(guī)劃。由此,學(xué)生可以很快地寫出該程序的算法描述:①讀入半徑;②利用公式計算圓面積:面積=半徑×半徑×π;③顯示面積,并完成相應(yīng)代碼的編寫。

        在講解第二部分“面向?qū)ο蟪绦蛟O(shè)計”中的“對象和類”時,教師使用統(tǒng)一建模語言(Unified Modeling Language, UML)描述了一個與前例功能相似的Circle類和建立的對象,圖2為使用UML圖形符號表示的類和對象。

        根據(jù)兩個問題的對比,讓學(xué)生明白像Java等面向?qū)ο笳Z言不僅仍然具有面向過程語言的特點(程序=數(shù)據(jù)結(jié)構(gòu)+算法),而且它還通過類的抽象和封裝、繼承以及多態(tài)增加了程序的模塊性、清晰性、重用性和靈活性等有益特性。由于在面向過程程序設(shè)計中,數(shù)據(jù)和操作是分離的,所以需要把數(shù)據(jù)傳遞到方法中。而在面向?qū)ο蟪绦蛟O(shè)計中,卻把數(shù)據(jù)和對于它們的操作放進(jìn)一個叫做對象(object)的實體里,這種設(shè)計避免了許多在面向過程程序設(shè)計中遇到的問題。在對象的世界里,所有對象都與屬性和活動聯(lián)系在一起,因此面向?qū)ο蟪绦蛟O(shè)計是一種更貼切真實世界的模型組織程序[4]。因為使用對象可以增強(qiáng)程序的可重用性,方便軟件的開發(fā)與維護(hù),所以學(xué)生今后很自然都會以對象的觀點來考慮Java程序設(shè)計,并把Java程序看成是相互合作的對象所構(gòu)成的集合。通過Circle這個案例,就把面向?qū)ο蟪绦蛟O(shè)計是軟件方法的發(fā)展必然這個問題向?qū)W生們非常形象地解釋清楚了。

        在學(xué)習(xí)“異常處理”時,我們把第二部分的Circle類的setRadius方法的參數(shù)newRadius設(shè)置為負(fù)數(shù),這樣在運行時會引起異常(exception),并導(dǎo)致程序非正常終止。通過實驗我們告訴學(xué)生,作為一名合格的Java程序員,必需利用Java提供的異常處理功能去捕獲和處理那些在程序運行時產(chǎn)生的異常,讓程序更加強(qiáng)壯和穩(wěn)定。所以要求學(xué)生對Circle類的setRadius方法進(jìn)行改寫,讓該方法拋出一個illegalArgumentException異常,告知用戶不能把半徑設(shè)置成負(fù)數(shù)。通過該問題的解決,讓學(xué)生掌握如何使用這些抽象類和接口,并按照它們的規(guī)范標(biāo)準(zhǔn)來設(shè)計應(yīng)用程序。

        在整個教學(xué)過程中,我們要讓學(xué)生明白,程序設(shè)計的關(guān)鍵是解決問題,語法、類和對象只是其中一部分,而循環(huán)、數(shù)組和方法是解決問題的基本技術(shù)。從基本程序設(shè)計技術(shù)到面向?qū)ο蟪绦蛟O(shè)計存在著多種抽象層次,類只是其中一種抽象層次,在軟件項目的設(shè)計和實現(xiàn)過程中應(yīng)用抽象的概念是軟件開發(fā)的關(guān)鍵[5]。因此,學(xué)生在解決問題時能夠使用多種層次的抽象進(jìn)行分析成為我們最重要的教學(xué)目標(biāo)。所以,我們設(shè)計的教學(xué)案例和任務(wù)都是以解決問題為中心,這些例子很好地培養(yǎng)了學(xué)生們開發(fā)可重用類和方法,以及利用它們構(gòu)建實用程序的思想[6]。

        程序設(shè)計課程不同于其他課程,學(xué)生要從例子中學(xué)習(xí)、從實踐中學(xué)習(xí)、從錯誤中學(xué)習(xí),這需要花費大量的時間編寫程序、調(diào)試程序并修改錯誤[7]。對于剛接觸程序設(shè)計的學(xué)生來說,學(xué)習(xí)程序設(shè)計的基本目的就是培養(yǎng)描述問題的程序化解決方案的關(guān)鍵技能,并通過條件語句、循環(huán)和方法將方案轉(zhuǎn)變成程序[8]。在教學(xué)過程中,學(xué)生如果掌握了循環(huán)、數(shù)組和方法等編寫程序的基本技能,就能順利地進(jìn)入到面向?qū)ο蟪绦蛟O(shè)計的學(xué)習(xí)中,學(xué)習(xí)使用類的封裝、繼承和多態(tài)來開發(fā)面向?qū)ο蟮某绦?。學(xué)生如果理解了面向?qū)ο蟪绦蛟O(shè)計思想,學(xué)習(xí)Java編程就變成了學(xué)習(xí)Java的API,而讓學(xué)生模仿例子并進(jìn)行練習(xí)是學(xué)習(xí)Java API的最好辦法。

        實踐證明,學(xué)習(xí)基本邏輯以及循環(huán)和逐步求精這樣的基本程序設(shè)計技術(shù),對于學(xué)生非常重要。像循環(huán)、方法和數(shù)組這樣的基本概念和技術(shù)都是程序設(shè)計的基礎(chǔ),它們?yōu)閷W(xué)生進(jìn)一步學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計、GUI、數(shù)據(jù)庫和Web程序設(shè)計做好了充分準(zhǔn)備。

        (三)問題驅(qū)動

        問題驅(qū)動意味著教師把教學(xué)的重點放在問題的解決而不是語法上。通過使用一些有趣的問題使得程序設(shè)計的介紹也變得更加有趣。為了支持以問題驅(qū)動的方式來講授程序設(shè)計,教師設(shè)計了大量不同難度的問題來激發(fā)學(xué)生的興趣。這些問題涉及了很多應(yīng)用領(lǐng)域,包括數(shù)學(xué)、科學(xué)、商業(yè)、金融、游戲、動畫以及多媒體等。例如,在講解多線程時,設(shè)計了一個儲蓄程序,假設(shè)在程序中創(chuàng)建并啟動100個線程,每個線程都是往同一個賬戶中存入一筆固定的金額。當(dāng)所有的線程都完成時,卻看到帳戶顯示的余額不正確,而且還發(fā)現(xiàn)余額的結(jié)果并不是可以預(yù)測的。這個問題向?qū)W生演示了當(dāng)所有線程同時訪問同一個數(shù)據(jù)源時,就會出現(xiàn)數(shù)據(jù)破壞的情況。其實這是多線程程序中的一個普遍問題,稱為競爭狀態(tài)(race condition)。經(jīng)過學(xué)生們的一番討論,我們得出要避免競爭狀態(tài),就是應(yīng)該防止多個線程同時進(jìn)入程序的某一特定部分,這個部分我們稱之為臨界區(qū)(critical region)。從而引入新課“線程同步”的概念。通過問題的解決,讓學(xué)生掌握為了避免線程破壞共享資源,可以使用同步的方法或塊,并幫助他們更好地理解一些抽象難懂的概念,像“同步方法在執(zhí)行前需要獲得一個鎖。當(dāng)同步方法是實例方法時,鎖是在調(diào)用方法的對象上;當(dāng)同步方法是靜態(tài)方法時,鎖是在方法所在的類上。”等內(nèi)容。

        二、教改效果

        通過Java語言課程的教學(xué)改革與實踐,學(xué)生的基礎(chǔ)知識和編程解決問題的操作能力得到了提高,學(xué)習(xí)的主動性和積極性改善明顯。學(xué)生能夠運用面向?qū)ο蟪绦蛟O(shè)計的思想來分析問題,并將其進(jìn)行抽象,輔以代碼方式完成。通過教學(xué)改革,取得的主要教學(xué)成果有:

        (一)提高了學(xué)生的計算思維能力

        大學(xué)應(yīng)以培養(yǎng)學(xué)生的計算思維為核心,使計算思維如同實證思維、邏輯思維一樣,成為每個學(xué)生應(yīng)具備的基本科學(xué)思維能力[9]。通過教學(xué)改革,提高了學(xué)生對實際問題進(jìn)行概念抽象、問題求解和程式化描述的能力[10],這也是進(jìn)行教學(xué)改革的一項重要內(nèi)容,其中的關(guān)鍵就是計算思維能力的培養(yǎng)。

        (二)提高了學(xué)生的動手實踐能力

        學(xué)習(xí)程序設(shè)計的竅門就是實踐、實踐、再實踐,這充分說明Java語言程序設(shè)計是一門實踐性很強(qiáng)的課程。通過布置由簡到繁的任務(wù),使學(xué)生建立起上機(jī)操作的勇氣和信心,并讓他們獲得了解決問題后的成功感,培養(yǎng)了他們的動手能力和操作意識,提高了他們解決實際問題的能力。

        (三)提高了學(xué)生的創(chuàng)新能力

        在教學(xué)過程中采用了問題驅(qū)動方式,學(xué)生的主觀能動性被充分地調(diào)動起來,學(xué)生更加積極地參與教學(xué)活動,這也激發(fā)了學(xué)生的創(chuàng)新能力,學(xué)生制作的部分軟件作品在省內(nèi)比賽中獲獎,并且得到了相關(guān)企業(yè)的好評。

        參考文獻(xiàn):

        [1]王秀平.試論計算機(jī)科學(xué)入門課程中的對象優(yōu)先教學(xué)法[J].現(xiàn)代計算機(jī),2008(2):50-51.

        [2][4]葉乃文,王丹.Java語言程序設(shè)計教程[M].北京:機(jī)械工業(yè)出版社,2010.

        [3][5][6]梁勇.Java語言程序設(shè)計[M].北京:機(jī)械工業(yè)出版社,2008.

        [7]陳昊.Java語言實驗教學(xué)改革探討[J].計算機(jī)教育,2009(10):148-150.

        [8]劉松青.構(gòu)建“Java面向?qū)ο蟪绦蛟O(shè)計”實踐教學(xué)體系[J].計算機(jī)教育,2009(2):8-10.

        [9]李廉.計算思維——概念與挑戰(zhàn)[J].中國大學(xué)教學(xué),2012(1):7-12.

        [10]王衛(wèi)生.基于CDIO教學(xué)模式的《Java程序設(shè)計》課程開發(fā)實踐[J].軟件工程師,2010(12):60-63.

        責(zé)任編輯 時紅兵

        猜你喜歡
        問題驅(qū)動教學(xué)改革
        淺論教師課堂管理與調(diào)控能力的提升
        優(yōu)化初中語文閱讀教學(xué)中的課堂提問策略
        未來英才(2016年3期)2016-12-26 14:00:17
        以問題驅(qū)動改進(jìn)隨機(jī)變量分布的教學(xué)
        以計算思維為中心的數(shù)據(jù)結(jié)構(gòu)教學(xué)方法探討
        “問題驅(qū)動式”生物高效課堂打造的做法
        “問題驅(qū)動+能力提升”卓越課程建設(shè)與實踐
        中職學(xué)?!吧菊n堂”的調(diào)查研究與實踐
        成才之路(2016年25期)2016-10-08 10:03:04
        高校三維動畫課程教學(xué)方法研究
        成才之路(2016年25期)2016-10-08 10:00:36
        基于人才培養(yǎng)的技工學(xué)校德育實效性研究
        成才之路(2016年25期)2016-10-08 09:51:08
        現(xiàn)代信息技術(shù)在高職數(shù)學(xué)教學(xué)改革中的應(yīng)用研究
        科技視界(2016年20期)2016-09-29 12:59:03
        久久男人av资源网站无码| 亚洲av无码一区二区三区天堂古代| 国产精品对白刺激久久久| 99视频在线国产| 综合激情中文字幕一区二区| 国产成人大片在线播放| 最近中文字幕免费完整版| 天堂√最新版中文在线天堂| 久久AⅤ天堂Av无码AV| 大陆成人精品自拍视频在线观看| 久久精品亚洲精品国产色婷| 国精产品一品二品国在线| 人妻无码中文专区久久AV| 亚洲av手机在线播放| 亚洲人成网网址在线看| 亚洲免费人成在线视频观看| 偷拍熟女亚洲另类| 国产黄色三级一区二区三区四区 | 十八禁在线观看视频播放免费 | 无码人妻h动漫中文字幕| 亚洲av无码一区二区三区网站| 综合久久久久6亚洲综合| 国产三级不卡视频在线观看| 午夜男女很黄的视频| 最近高清中文在线字幕观看| 中文字幕乱码av在线| 国产91精品高潮白浆喷水| 日产无人区一线二线三线乱码蘑菇| 亚洲中文av一区二区三区| 亚洲av色香蕉一区二区三区软件| 日本顶级metart裸体全部| 丰满的少妇xxxxx青青青| 成年视频网站在线观看777| 亚洲无人区乱码中文字幕能看| 免费人成视频x8x8入口| 精品国产群3p在线观看| 亚洲av午夜福利一区二区国产 | 99在线无码精品秘 人口| 久草手机视频在线观看| 国产精品毛片完整版视频| 中文字幕在线久热精品|