999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

“基礎優先”策略下的高職Java語言課程教學改革探討

2017-03-26 12:09:17楊晨霞涂風濤
職教論壇 2017年5期
關鍵詞:教學改革

楊晨霞+涂風濤

摘 要:“對象優先法”在歷屆SIGCSE(計算機科學教育)會議上一直受到鼓吹,而提倡“基礎優先法”的呼聲卻很微弱。但近年來隨著“對象優先法”在高職院校Java語言教學過程中遇到挫折,這一切才得以扭轉。文章主要探討在高職Java語言課程教學改革中采用“基礎優先”的方法,并且以問題驅動的方式教授程序設計的概念和技術。通過實踐檢驗,該教學方式提高了學生的面向對象編程能力。

關鍵詞:基礎優先法;問題驅動;教學改革

作者簡介:楊晨霞(1978-),女,江西瑞金人,南昌師范高等專科學校講師,研究方向為計算機應用;涂風濤(1976-),男,江西南昌人,南昌師范高等專科學校講師,研究方向為網絡安全。

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

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

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

一、教學改革

(一)傳統的教學策略——對象優先教學法

對象優先教學法從一開始就強調面向對象的編程和設計原則,這種教學法直接從對象和繼承開始,然后才介紹程序設計的結構[1]。即在面向對象設計的環境中學習所有內容,包括學習程序設計的結構。它的優點是學習者能夠在學習初段建立起面向對象設計概念,有利于后續的相關專業課程的學習。但它的缺點是提高了程序設計課程的入門難度,不僅要求學習者要掌握數據類型、變量、引用等基本概念,還需理解面向對象程序設計中的類的抽象和封裝、繼承和多態等抽象概念。就像大部分學生說的,對象優先教學法對我們來說是一種極大的挑戰,需要在學習的開始就要掌握許多面向對象思想、概念與編程技能。但從整個教學反饋來看,一部分學生從開始充滿興趣,到感覺自己已經很努力了,編程能力卻沒有提高,從而產生畏難情緒,如果一旦沒有跟上老師的教學進度,甚至會放棄。

(二)基礎優先教學法

基礎優先教學法是指在學習對象和類之前,首先介紹基本程序設計的概念和技術。在整個教學改革中采用了基礎優先的方法,并且以問題驅動的方式教授程序設計的概念和技術。首先是學習程序設計的基礎知識,其次學習面向對象程序設計的相關概念和內容,最后再使用面向對象設計方法構建具有異常處理功能和某些高級特性的圖形用戶程序(GUI)及applet。因此,對課程的教學內容進行重新規劃(見圖1)。

實踐證明,對于初學編程的學生來說,首先學習語言基礎邏輯、循環和數組這樣的基本編程技術,并逐步精通是非常重要的。如果學生不能很好地完成過程化程序代碼的編寫,也將無法學好面向對象程序設計,學生扎實地掌握數據類型、控制語句、數組和方法會為學習面向對象程序設計打下牢固基礎[2]。

在以基礎優先策略教學時,首先使用過程化方案來解決某個問題,然后再演示如何使用面向對象設計方法來進行改進[3],從而使學生更好地理解面向對象程序設計思想,使他們從中學到如何更高效地使用面向對象程序設計方法。例如在介紹第一部分“程序設計基礎”中的“基本數據類型和基本操作”時,我們設計了一個“計算圓面積”的簡單程序。該程序讀入圓的半徑并顯示其面積。程序將用變量存儲圓的半徑和面積,使用表達式來計算面積。教學目的是讓學生掌握編寫程序需要設計算法和數據結構,并要把算法(algorithm)轉換為程序代碼。通過問題我們讓學生知道算法其實就是描述如何執行一系列操作來解決一個實際問題,它指定操作的執行順序。算法可以幫助程序設計者在用程序設計語言編寫程序之前進行規劃。由此,學生可以很快地寫出該程序的算法描述:①讀入半徑;②利用公式計算圓面積:面積=半徑×半徑×π;③顯示面積,并完成相應代碼的編寫。

在講解第二部分“面向對象程序設計”中的“對象和類”時,教師使用統一建模語言(Unified Modeling Language, UML)描述了一個與前例功能相似的Circle類和建立的對象,圖2為使用UML圖形符號表示的類和對象。

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

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

在整個教學過程中,我們要讓學生明白,程序設計的關鍵是解決問題,語法、類和對象只是其中一部分,而循環、數組和方法是解決問題的基本技術。從基本程序設計技術到面向對象程序設計存在著多種抽象層次,類只是其中一種抽象層次,在軟件項目的設計和實現過程中應用抽象的概念是軟件開發的關鍵[5]。因此,學生在解決問題時能夠使用多種層次的抽象進行分析成為我們最重要的教學目標。所以,我們設計的教學案例和任務都是以解決問題為中心,這些例子很好地培養了學生們開發可重用類和方法,以及利用它們構建實用程序的思想[6]。

程序設計課程不同于其他課程,學生要從例子中學習、從實踐中學習、從錯誤中學習,這需要花費大量的時間編寫程序、調試程序并修改錯誤[7]。對于剛接觸程序設計的學生來說,學習程序設計的基本目的就是培養描述問題的程序化解決方案的關鍵技能,并通過條件語句、循環和方法將方案轉變成程序[8]。在教學過程中,學生如果掌握了循環、數組和方法等編寫程序的基本技能,就能順利地進入到面向對象程序設計的學習中,學習使用類的封裝、繼承和多態來開發面向對象的程序。學生如果理解了面向對象程序設計思想,學習Java編程就變成了學習Java的API,而讓學生模仿例子并進行練習是學習Java API的最好辦法。

實踐證明,學習基本邏輯以及循環和逐步求精這樣的基本程序設計技術,對于學生非常重要。像循環、方法和數組這樣的基本概念和技術都是程序設計的基礎,它們為學生進一步學習面向對象程序設計、GUI、數據庫和Web程序設計做好了充分準備。

(三)問題驅動

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

二、教改效果

通過Java語言課程的教學改革與實踐,學生的基礎知識和編程解決問題的操作能力得到了提高,學習的主動性和積極性改善明顯。學生能夠運用面向對象程序設計的思想來分析問題,并將其進行抽象,輔以代碼方式完成。通過教學改革,取得的主要教學成果有:

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

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

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

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

(三)提高了學生的創新能力

在教學過程中采用了問題驅動方式,學生的主觀能動性被充分地調動起來,學生更加積極地參與教學活動,這也激發了學生的創新能力,學生制作的部分軟件作品在省內比賽中獲獎,并且得到了相關企業的好評。

參考文獻:

[1]王秀平.試論計算機科學入門課程中的對象優先教學法[J].現代計算機,2008(2):50-51.

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

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

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

[8]劉松青.構建“Java面向對象程序設計”實踐教學體系[J].計算機教育,2009(2):8-10.

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

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

責任編輯 時紅兵

猜你喜歡
教學改革
完全學分制下選課管理的思考與實踐
考試周刊(2016年76期)2016-10-09 10:08:04
金工實習教育對工科院校創客教育影響分析
考試周刊(2016年76期)2016-10-09 10:04:11
新形勢下小學語文教學方法研究
考試周刊(2016年76期)2016-10-09 08:47:08
譯林版英語教材的人文特點研究
成才之路(2016年26期)2016-10-08 11:33:49
當前農村學校實施“新教育實驗”的研究
成才之路(2016年25期)2016-10-08 10:05:54
構建和改進現代化學校美育工作體系研究
成才之路(2016年25期)2016-10-08 10:04:29
中職學校“生本課堂”的調查研究與實踐
成才之路(2016年25期)2016-10-08 10:03:04
高校三維動畫課程教學方法研究
成才之路(2016年25期)2016-10-08 10:00:36
基于人才培養的技工學校德育實效性研究
成才之路(2016年25期)2016-10-08 09:51:08
現代信息技術在高職數學教學改革中的應用研究
科技視界(2016年20期)2016-09-29 12:59:03
主站蜘蛛池模板: www.狠狠| 成人午夜免费观看| 69国产精品视频免费| 亚洲精品麻豆| 国产在线视频二区| 一本视频精品中文字幕| 日韩高清成人| 中文字幕av一区二区三区欲色| 黄色国产在线| 91小视频版在线观看www| 亚洲色图欧美视频| 四虎综合网| 九九精品在线观看| 嫩草影院在线观看精品视频| 99视频免费观看| 日韩欧美中文在线| 2022国产91精品久久久久久| 制服无码网站| av天堂最新版在线| 青青青国产在线播放| 日韩精品欧美国产在线| 青青草一区| 五月天丁香婷婷综合久久| 婷婷中文在线| 欧美一级99在线观看国产| 国产资源站| 国产精品福利一区二区久久| 国产乱人伦精品一区二区| 直接黄91麻豆网站| 亚洲欧美另类日本| 蝴蝶伊人久久中文娱乐网| 免费国产黄线在线观看| 女人18毛片水真多国产| 欧美在线一二区| 精品国产免费观看一区| 国产无码性爱一区二区三区| 欧洲精品视频在线观看| 国产69精品久久久久妇女| 欧美日韩导航| 2021天堂在线亚洲精品专区| 日本a级免费| 黄色网址手机国内免费在线观看| 亚洲成A人V欧美综合| 日韩在线第三页| 精品视频91| 波多野结衣的av一区二区三区| 国产欧美日韩18| 国产欧美精品专区一区二区| 日韩a级毛片| 国产精品99r8在线观看| 成年人视频一区二区| 日韩二区三区| 亚洲丝袜第一页| 青青草91视频| 亚洲国产亚综合在线区| AV不卡国产在线观看| 97综合久久| 国产精品亚洲片在线va| 91娇喘视频| 亚洲视频在线网| 亚洲中久无码永久在线观看软件| 99人妻碰碰碰久久久久禁片| 91青草视频| 国产黄在线观看| 久久99国产精品成人欧美| 熟女成人国产精品视频| 精品一区国产精品| 全部无卡免费的毛片在线看| 亚洲视频影院| 综合成人国产| 亚洲综合色区在线播放2019| a毛片在线播放| 欧美激情一区二区三区成人| 四虎永久免费在线| 天天做天天爱天天爽综合区| 萌白酱国产一区二区| 亚洲无码熟妇人妻AV在线| 91精品国产丝袜| 国产本道久久一区二区三区| 不卡无码网| 欧美一区二区精品久久久| 久久99国产乱子伦精品免|