国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于游戲驅動的Java程序設計課程教學改革研究

2015-04-29 23:49:26張思向華
計算機時代 2015年1期
關鍵詞:計算思維自主學習

張思 向華

摘 ?要: 游戲作為一種功能強大的教學工具,在軍事訓練以及企業(yè)培訓方面都已經取得了顯著成效。針對Java編程課程教學中遇到的一些實際問題,探討了游戲驅動的教學模式,對于不同專業(yè),不同基礎的學生使用不同的游戲工具激發(fā)其自主學習的興趣,最終實現了學生計算思維能力的培養(yǎng)和編程技巧的掌握。

關鍵詞: Java編程; 游戲驅動模式; 自主學習; 計算思維

中圖分類號:G642 ? ? ? ? ?文獻標志碼:A ? ? ?文章編號:1006-8228(2015)01-72-03

Research on teaching reform of Java program design course based on game-driven mode

Zhang Si, Xiang Hua

(Department of Mathematics and Computer Science, Jianghan University, Wuhan, Hubei 430056, China)

Abstract: Games, as powerful teaching tools, have achieved remark able result sinmilitary training and corporate training. Aiming at some practical problems in Java programming course teaching, how to inspire students who has different majors and basic knowledgeby using the game-driven teaching mode are discussed to teach students to understand computational thinking and master the programming skills.

Key words: Java programming; game-driven mode; self learning; computational thinking

0 引言

世界上第一個計算機游戲是由英國劍橋大學A.S. Douglas博士于1952年開發(fā)的,他的研究方向是人機交互。計算機游戲隨后發(fā)展涉及計算機科學研究的許多領域。例如:模擬仿真,人工智能,圖形圖像,嵌入式開發(fā),人機交互,網絡通信以及云計算等。杜克大學人體仿真和病人安全中心主任 Jeffrey Taekman指出:“游戲和虛擬環(huán)境是教育的未來?!苯洺?梢钥吹疥P于學生廢寢忘食地沉迷于游戲世界的報道。學生對于游戲是沒有免疫力的,古語有云:“水能載舟,亦能覆舟?!比绻處熢诮虒W中能利用游戲的這種吸引力,現有的很多程序設計類課程課堂教學中存在的問題將迎刃而解。

1 現狀及問題

1.1 學生水平參差不齊,學習興趣不高

Java程序設計課程在大學里開設一般作為選修課。課程面向不同專業(yè)的學生,這些學生的計算機基礎不同,數學底子,抽象思維以及邏輯分析能力也各不相同,關鍵的是學生的學習動機也各不相同。對于以后不從事程序設計相關工作的學生,其學習興趣自然不會高。例如非計算機專業(yè)學生一般都是以通過等級考試,拿學分為目的。以通過考試為目標的學生,機械式地學習程序語法,當然會覺得課程教學內容枯燥。有相當一部分學生認為大學專業(yè)課是重點,程序設計課與專業(yè)不相關,學不學都可以。國家教育部對高等學校非計算機專業(yè)學生的培養(yǎng)目標是有程序閱讀基礎,有理解程序的能力,完成相關課程后學生應該能夠將程序設計方法應用到自己相關的領域中去。

1.2 學生多,教師少,互動效果差

Java程序設計課程,在大學里一般采用大班授課形式,而從事非計算機專業(yè)公共課教學的教師人數很少。以筆者所在學校(江漢大學)為例,選修課人數一般在40人至80人之間,人數多的班達到110人以上,而負責公共課教學任務的計算中心教師只有15人。課程教學一般采取多媒體上機教學。教師通過教學平臺軟件控制學生機,演示教學內容;學生通過提問的方式與教師交流互動。實驗教學一般是學生在機房獨立完成實驗計劃上統(tǒng)一的項目方案,實驗課沒有實驗員,只有一名教師。對于這么懸殊的師生比例,很難做到因材施教。

采用傳統(tǒng)課程講授與實驗上機輔導相結合的方式,一個班的學生多時,授課教師無法保證每個學生都能及時消化課堂上的知識。有些比較內向的學生即使不懂也不好意思向教師提問,長期積累,這些學生會越掉越遠,出現厭學情緒。上課時間學生心不在焉,看手機,微信聊天,玩掃雷,玩紙牌游戲等情況屢見不鮮。

1.3 教學內容多實驗課時少,與實際應用脫節(jié)

Java程序設計課程基礎內容是學習簡單數學算法,數據類型,程序結構,函數方法調用,輸入輸出處理等;高級內容涵蓋面向對象設計,GUI界面設計,網絡功能開發(fā),多線程等內容。以江漢大學為例:Java程序設計課程只有48個學時,其中實驗為16個學時。教師在規(guī)定學時內要讓學生掌握以上的全部知識點,每節(jié)課的信息量很大。教師上課時只能以講授理論知識為主而無暇顧及具體實踐。除計算機專業(yè)學生外,大多數學生都不知道學完以后能做什么,很迷茫,找不到方向。教師單純講這些課程內容難免會讓學生覺得枯燥無味,同時學生也只能管中窺豹,無法感受程序設計開發(fā)的整體過程。學生所學理論知識無法貫穿于實踐,更加無法在實際中應用。

如果說算法設計的是計算機科學的內家功夫,那么程序設計語言就是外家功夫。程序設計這門外家功夫講究的是無招勝有招,而填鴨式的學習語法,無法在真實項目中做到見招拆招。只有學生具備了計算思維[1],那么無論使用何種編程語言,都將輕松入門。

2 游戲教學法

游戲教學法意味著打破傳統(tǒng)按章節(jié)知識點授課的方式,從實際游戲項目出發(fā),在游戲設計開發(fā)的過程中,讓學生從親身經歷的案例中分析原理,從實際現象中看出本質,最后將自己抽象領悟出來的概念與通書本上的理論知識相對應。圖1是游戲教學模式示意圖。

[綜合運用][基礎功能][創(chuàng)意功能][理論][實踐] [課程

知識點] [專業(yè)][生活]

圖1 ?游戲教學模式

通過游戲驅動學習[2],有很多優(yōu)點。首先,游戲很容易抓住學生的注意力,引起學生的興趣,激發(fā)學生的學習動機。其次,游戲世界里GameOver并不代表要受到懲罰,學生可以StartOver,把失敗當成一次學習的機會。最后,游戲讓學習者自己發(fā)現探索規(guī)律,而不是有老師闡述告知結果。

對于非計算機專業(yè)的學生,通過學習程序設計課程,能夠掌握按照計算機方式分析和解決問題的能力,這是基本要求,而學會理性的、合乎邏輯的處事方式才是最終理想效果。游戲教學法不僅讓學生學到書本上有的知識,還可以從自己的專業(yè)出發(fā),結合實際生活中的一些奇思妙想,在原有經典游戲的基礎上開發(fā)出一些有創(chuàng)意的功能。

3 實施方法

3.1 課程組織

在傳統(tǒng)的教室上課模式基礎上改進為“大學計算機公共課全機房教學模式[3]”。教學中,把授課同上機相結合,統(tǒng)一機房教學,通過經典游戲案例教學方式,精講多練,將學生吸引到教學活動中來,使學生成為課堂教學主體。在多媒體機房,一人一機,即講即練。

3.2 教學安排

從傳統(tǒng)的按知識結構體系的教學模式轉變成以游戲項目為中心的教學模式是切實可行的教學方案[4]。在課程教學實踐進程中,以游戲案例為導向,以教師的演示和講解為輔助,學生為主體合作、討論,教師對課程教學內容進行組織優(yōu)化,構建培養(yǎng)以自主學習[5]為核心的課程知識體系,選擇典型的游戲案例作為教學內容,形成切實可行的游戲開發(fā)的教學方案。例如:Java程序設計課程重點難點一般包括:常用系統(tǒng)類的使用,數組的運用,OOP設計及實現,Java多線程,Java圖形用戶界面設計等。以下用一個游戲為例,闡述如何將游戲從小做大,將知識點隱形地傳達給學生。

整個游戲項目開發(fā)周期中有三個關鍵版本:首先是CLI文字顯示游戲版本,其次是GUI界面顯示游戲版本,最后是基于TCP/IP協(xié)議的網絡游戲版本。教師可以根據學生掌握情況調節(jié)項目開發(fā)難度。圖2是整個游戲的UML設計圖。

圖2 ?游戲設計UML圖

在第一個版本中,主要是對學生面向對象編程技能的鍛煉。知識點涵蓋Java泛型數據類型,函數方法的使用,類的定義,對數據的抽象以及封裝,對象的使用,一維和二維數組的使用,文件數據讀取生成對象,對象序列化輸出以保存游戲狀態(tài),游戲事件處理機制,使用繼承和多態(tài)機制實現地形,以及卡牌的多樣性。

圖3 ?游戲GUI界面截圖

第二個版本是讓學生練習如何使用Java自帶的Swing,以及AWT庫設計和實現GUI界面。主要工作是設計并實現組成用戶界面的各個組件,通過布局管理器合理排布管理它們在容器中的位置。針對各個組件產生的事件編程,處理并響應不同的事件。通過使用雙緩沖原理,實現游戲動畫的流程效果。圖3為演示游戲的GUI界面截圖。

第三個版本是在前面單機游戲基礎上考察學生對于網絡基礎知識的理解和掌握情況。其中涉及網絡應用的C/S結構,IP地址和端口的概念理解,TCP協(xié)議的使用和Java編程實現方式。

3.3 實驗教學

游戲有不同的類型題材,學生也有不同的專業(yè)背景。對于非計算機專業(yè)的學生而言,程序設計是一個全新的領域,計算思維是一種新的思維方式。當人初次接觸一個新事物時,抵觸和恐懼往往大于好奇和興奮。

對非計算機專業(yè)學生,需要采用投其所好的教學策略。首先從他們熟悉的方向著手,再慢慢地使其解除抵觸心理,最后引導其學習并掌握新知識。表1中列舉了一些案例。

表1 ?學生專業(yè)與游戲類型對應表

[學生專業(yè)\&游戲類型\&例子\&文史專業(yè)\&文字類游戲\&“王”字加一筆,變成哪些字\&藝術專業(yè)\&圖形或音樂類游戲\&“你畫我猜”,“聽曲識歌”\&外語專業(yè)\&單詞類游戲\&“Crossword” 線索填單詞\&理工專業(yè)\&復寫經典類型\&“俄羅斯方塊”,“掃雷”\&]

學生能力有差異,為了避免一刀切的現象,在實施教學方案時,教師可以根據學生情況調整難度系數。根據學生能力的不同,將游戲劃分成不同模塊分步完成。

對于基礎好的學生,可以直接提出需求,具體實現上留空間讓其創(chuàng)造發(fā)揮。下面以俄羅斯方塊游戲為例:復刻經典游戲-俄羅斯方塊,要求使用面向對象程序設計思想,至少用三個以上的類實現功能,為游戲添加一個有趣的新功能。

對于基礎一般的學生,可以在給出需求的同時,提供一定的接口,將功能細化,把大任務分解成多個小任務。例如:在素材中有Tetris.java,Shape.java,Board.java三個文件,獨立實現源代碼中留空的方法函數。

對于基礎薄弱的學生,可以提供一個主體功能缺失,輔助功能完備的程序模板,讓其實現主要功能函數方法。例如:編譯運行素材中的俄羅斯方塊游戲,游戲中消除滿行方塊功能未實現,請在代碼指定函數方法處實現該的功能。

3.4 考核評級

平時成績和期末考試成績占比分別為40%和60%。平時成績中又分為兩塊內容:課堂活躍度和實驗完成度,如圖4所示。期末考試實行教考分離,計算機上機考試,機器閱卷的形式。

圖4 ?學生成績考核評級占比

4 結束語

游戲教學模式改變了知識傳授方式,通過解決實際問題,把相對獨立的知識點融會貫通,潛移默化地培養(yǎng)學生計算思維。游戲教學模式對提升程序設計類課程實用性,培養(yǎng)學生實際應用能力也起到了一定效果。盡管如此,這種教學模式相對于傳統(tǒng)教學模式來說有其復雜性,如大大增加了教師的工作量;需要教師投入更大的精力和時間,更加全面,合理地制定教學策略。僅靠一兩門課就要求學會不同思維模式之間的轉換是不切實際的,下一步游戲教學研究重心會放在如何通過移動平臺游戲整合零碎學習時間,大幅提升學生在課堂之外的自主學習時間。

參考文獻:

[1] 臧勁松.培養(yǎng)學生計算思維的程序設計課程教學[J].計算機教育,

2012.2:78-80

[2] 張渝江.游戲驅動學習[J].中國信息技術教育,2013.6:102-105

[3] 廖恩陽,劉征.大學計算機公共課全機房教學模式探索[J]. 計算機教

育,2014.18:43-45

[4] 宋瑾鈺,愈成海,孫樹森.基于項目引導-任務驅動的Java手機游戲開

發(fā)教學模式研究[J].中國校外教育,2012.3:162

[5] 劉硯秋,何靈敏,周杭霞,陸慧娟.基于自主學習的大學計算機基礎教

學方法[J].計算機教育,2012.3:80-83

猜你喜歡
計算思維自主學習
基于計算思維的軟件類研究生高級算法課程教學研究
計算機教育(2016年7期)2016-11-10 08:40:00
基于計算思維程序設計的軍事案例研究
計算機教育(2016年7期)2016-11-10 08:36:56
程序設計課程中計算思維和應用能力培養(yǎng)問題研究
計算機教育(2016年7期)2016-11-10 08:16:19
民族高校C語言程序設計課程教學改革的研究
軟件工程(2016年8期)2016-10-25 16:03:32
算法的案例教學探析
淺談藝術專業(yè)學生計算思維能力的培養(yǎng)
高中生英語自主學習能力培養(yǎng)研究
成才之路(2016年26期)2016-10-08 11:21:29
翻轉模式在“液壓與氣動”教學中的應用研究
成才之路(2016年25期)2016-10-08 10:38:59
中職學校“生本課堂”的調查研究與實踐
成才之路(2016年25期)2016-10-08 10:03:04
踐行少教多學,構建高效課堂
榆树市| 辉南县| 育儿| 四子王旗| 德惠市| 宜兰市| 高州市| 都安| 海晏县| 汶上县| 页游| 冀州市| 兴山县| 鄯善县| 富阳市| 贺兰县| 滦平县| 临海市| 石家庄市| 体育| 台南市| 瓮安县| 贵州省| 大关县| 兴山县| 旅游| 康定县| 凤台县| 黄梅县| 永修县| 古浪县| 怀化市| 武乡县| 天门市| 汉源县| 西吉县| 苏尼特左旗| 镇安县| 岳普湖县| 黎城县| 景谷|