• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于游戲開發(fā)的Java程序設(shè)計(jì)課程教學(xué)改革研究

      2014-05-04 22:15羅恩韜
      計(jì)算機(jī)教育 2014年2期
      關(guān)鍵詞:Java程序設(shè)計(jì)

      羅恩韜

      摘要:針對高校Java程序設(shè)計(jì)課程的開設(shè)和實(shí)際開發(fā)聯(lián)系不緊密的矛盾,提出在理論教學(xué)過程中穿插講解游戲項(xiàng)目,同時(shí)在教學(xué)內(nèi)容、教學(xué)過程、教學(xué)情境3個(gè)方面總結(jié)對這門課程的教學(xué)改革過程,探討在課程教學(xué)中,如何培養(yǎng)學(xué)生的理論結(jié)合應(yīng)用能力、程序分析能力、項(xiàng)目工程開發(fā)能力。

      關(guān)鍵詞:Java程序設(shè)計(jì);教學(xué)內(nèi)容改革;教學(xué)過程改革;教學(xué)情境改革

      0、引言

      Java程序設(shè)計(jì)語言是目前高校計(jì)算機(jī)專業(yè)學(xué)生的必修課程之一。目前高校計(jì)算機(jī)專業(yè)學(xué)生的理論學(xué)習(xí)和實(shí)際應(yīng)用編程能力的矛盾尤為突出。因此如何解決這一矛盾是目前國內(nèi)高校計(jì)算機(jī)專業(yè)教師研究的重點(diǎn)。文獻(xiàn)[1]提出了Java系列課程的教學(xué)改革,且在課程建設(shè)上有較多的改革,但是在改革過程中沒有引進(jìn)具體的項(xiàng)目開發(fā)。文獻(xiàn)[2]在Java課程的教學(xué)過程中引進(jìn)了項(xiàng)目教學(xué)法,是一個(gè)比較新的突破,但是并沒有與學(xué)生進(jìn)行互動同步開發(fā)。文獻(xiàn)[3]提出了面向應(yīng)用型人才培養(yǎng)的教學(xué)改革方法,但是缺少具體的實(shí)施過程。文獻(xiàn)[4]主要對教學(xué)內(nèi)容進(jìn)行了較大的改革,但是依舊偏向理論教學(xué)。因此本文結(jié)合以上文獻(xiàn)的研究經(jīng)驗(yàn),提出結(jié)合游戲開發(fā)的Java程序設(shè)計(jì)課程的教學(xué)改革,解決學(xué)生以往面向?qū)ο笏枷虢⒗щy、理論聯(lián)系實(shí)際開發(fā)能力差的矛盾,同時(shí)在開發(fā)過程中增強(qiáng)學(xué)生的提出問題、分析問題、解決問題的能力。

      1、研究重點(diǎn)

      面向?qū)ο缶幊讨饕且环N很強(qiáng)的實(shí)踐性技能,不是單純地依靠課堂講授就可以讓學(xué)生掌握,而單一的、無項(xiàng)目結(jié)合的實(shí)踐課程也僅僅只能讓學(xué)生掌握相關(guān)的語法,并不能了解整個(gè)面向?qū)ο笏枷氲拈_發(fā)技巧,因此一旦學(xué)生面對真正意義的應(yīng)用時(shí),就很難將實(shí)際的開發(fā)模塊或者軟件進(jìn)行邏輯抽象,按照類、方法、對象、構(gòu)造函數(shù)、初始化、訪問權(quán)限等屬性進(jìn)行邏輯拆分。同時(shí)在面對具體業(yè)務(wù)設(shè)計(jì)的時(shí)候,學(xué)生的開發(fā)思路就會陷入困惑,不知道從哪里人手,而如果按照以往傳統(tǒng)的教學(xué)模式,這些技能的掌握是比較難以解決的。那么如何才能使學(xué)生掌握這樣的開發(fā)能力和編程技巧呢?這是本課程教學(xué)改革的研究重點(diǎn)。

      在Java程序設(shè)計(jì)課程開設(shè)之前,學(xué)生一般都學(xué)習(xí)過C/C++課程,而在C/C++程序語言已經(jīng)系統(tǒng)地講授過類、重載、多態(tài)、異常等內(nèi)容。因此如果單純地按照教材的編寫章節(jié)進(jìn)行課堂授課,就不會有較好的學(xué)習(xí)效果。目前國內(nèi)很多高校實(shí)踐課時(shí)雖然在24學(xué)時(shí)以上,但是依然沒有用一個(gè)完整的項(xiàng)目將理論知識串聯(lián)起來,忽略了學(xué)生實(shí)際技能的培養(yǎng),導(dǎo)致學(xué)生學(xué)習(xí)知識與技能實(shí)踐的脫節(jié)。因此本文結(jié)合學(xué)生的學(xué)習(xí)過程和本課程的特點(diǎn),提出了理論和實(shí)踐并行的教學(xué)方式,利用在實(shí)際項(xiàng)目中穿插并行講授面向?qū)ο蟮闹R,從而取得較好的學(xué)習(xí)效果。

      2、Tava教學(xué)內(nèi)容改革

      根據(jù)上述問題,湖南科技學(xué)院計(jì)算機(jī)與通信工程系正在對Java程序設(shè)計(jì)這門課程進(jìn)行教學(xué)改革。改革后的理論教學(xué)和實(shí)踐教學(xué)總課時(shí)為56課時(shí),但是和以往分為課堂講授和實(shí)踐上機(jī)不同的是,我們所有課程的開設(shè)均在機(jī)房進(jìn)行,教學(xué)老師全程進(jìn)行Java編程平臺Eclipse的編程教學(xué),而對于理論教學(xué)內(nèi)容,主要側(cè)重以下章節(jié)的講授:Java的單繼承和接口、消息監(jiān)聽、容器、線程、多態(tài)、10流、網(wǎng)絡(luò)編程、圖形用戶界面等部分,相對弱化了Java的變量、常量、重載、重寫、構(gòu)造函數(shù)等章節(jié)的理論教學(xué)(這部分的理論教學(xué)會在實(shí)踐開發(fā)項(xiàng)目中進(jìn)行強(qiáng)化)。而實(shí)踐教學(xué)則通過一個(gè)游戲開發(fā)的項(xiàng)目穿插應(yīng)用了上述理論知識,同時(shí)對沒有重點(diǎn)講授的理論知識進(jìn)行了補(bǔ)足。最重要的是整個(gè)游戲項(xiàng)目貫穿了面向?qū)ο蟮木幊趟枷搿?/p>

      3、教學(xué)過程改革

      教學(xué)過程的改革主要體現(xiàn)在以下幾個(gè)方面。

      (1)首先從類的教學(xué)開始深入,因?yàn)镴ava程序設(shè)計(jì)課程開設(shè)的時(shí)候,學(xué)生們一般都是先修了c或c++語言,因此對基本的語法和面向?qū)ο蟾拍钣辛艘欢ǖ恼J(rèn)識。在類的學(xué)習(xí)過程中,我們會結(jié)合GUI圖形用戶界面編程這一章的內(nèi)容進(jìn)行窗口的設(shè)計(jì),同時(shí)直接使用Eclipse開發(fā)平臺進(jìn)行開發(fā),使學(xué)生迅速進(jìn)入可視化開發(fā)環(huán)境中。

      (2)經(jīng)過初步的GUI圖形用戶界面的學(xué)習(xí)和開發(fā),在實(shí)際代碼的編寫過程中,讓學(xué)生迅速掌握類的設(shè)計(jì)、成員的定義、構(gòu)造函數(shù)的生成、成員的訪問屬性、Get和Set方法的設(shè)計(jì),同時(shí)在進(jìn)行創(chuàng)建對象的時(shí)候,舉例講授ToString()方法和Equals( )方法的使用,在類的設(shè)計(jì)里就會用到成員變量、局部變量、堆、棧等基礎(chǔ)知識。這樣會讓學(xué)生系統(tǒng)地了解Java程序設(shè)計(jì)這門課的基礎(chǔ)知識。

      (3)熟悉Eclipse開發(fā)平臺的使用。在C/C++語言中,我們通常使用VC開發(fā)平臺,但是在以往的實(shí)踐課程中,每次課的學(xué)習(xí)進(jìn)行編程練習(xí)的代碼不超過100行,并且前后實(shí)驗(yàn)課之間沒有必然的聯(lián)系,因此學(xué)生在實(shí)踐操作中對知識點(diǎn)的掌握相對孤立,不能融會貫通。因此在本次教學(xué)改革中,我們設(shè)計(jì)的前后實(shí)驗(yàn)課之間的代碼是累進(jìn)的,在邏輯上是緊密結(jié)合的。隨著代碼開發(fā)的深入,學(xué)生會對開發(fā)平臺的各種功能了解的更準(zhǔn)確更詳細(xì),包括包、類的創(chuàng)建、異常的調(diào)試、Tomcat服務(wù)器的配置、后臺數(shù)據(jù)庫的綁定、多視圖的協(xié)同工作等。在這一部分的鍛煉中,學(xué)生會從以前單純的書本了解的面向?qū)ο蟮闹R過渡到實(shí)際的面向?qū)ο缶幊毯兔嫦驅(qū)ο笏枷氲慕ⅲ@一步非常關(guān)鍵。

      (4)每次實(shí)踐開課的時(shí)候,要做到目的明確,重點(diǎn)突出,同理論知識緊密聯(lián)系。這樣不僅可以讓學(xué)生集中精力參與到實(shí)踐過程中來,也可以保證學(xué)生在課堂上擁有活躍的思維。同時(shí)與學(xué)生一同開發(fā)分析,便于學(xué)生掌握解決問題的思路,掌握分析問題和解決問題的方法。而在今后遇到更加復(fù)雜的問題時(shí),學(xué)生也可以舉一反三。

      (5)課后實(shí)踐拓展。課后我們以小組的方式由學(xué)生根據(jù)當(dāng)天課程內(nèi)容自行選擇某模塊進(jìn)行擴(kuò)展。每一個(gè)模塊的代碼量通常在500行左右,通過這樣的方式,學(xué)生鞏固了上課的內(nèi)容。因?yàn)樗麄円O(shè)計(jì)一個(gè)新的模塊,就必須要考慮到和已經(jīng)開發(fā)成功代碼之間的銜接和調(diào)用關(guān)系。學(xué)生之間的合作也增加了他們的溝通和合作能力,這樣的鍛煉對于以后進(jìn)入公司進(jìn)行項(xiàng)目的合作開發(fā)有很大的價(jià)值。endprint

      4、教學(xué)情景改革

      為配合以上教學(xué)過程的改革,我們在教學(xué)情景上也做了相應(yīng)的調(diào)整。在這里我們主要引入游戲項(xiàng)目來增加學(xué)生的學(xué)習(xí)興趣。教學(xué)情景的改革通過游戲項(xiàng)目的迭代開發(fā),累計(jì)代碼量在3000行左右,拓展代碼在5000行左右,在編程規(guī)范、注釋方面進(jìn)行了嚴(yán)格的要求,為培養(yǎng)學(xué)生良好的編程習(xí)慣打下了基礎(chǔ)。在項(xiàng)目中結(jié)合幾種常見的有效教學(xué)方法,增強(qiáng)學(xué)生的學(xué)習(xí)效果,做到教學(xué)相長。

      1)項(xiàng)目演示法。

      在第一節(jié)實(shí)驗(yàn)課的時(shí)候,教師會將完整的項(xiàng)目開發(fā)的最終版本在課堂上演示,增強(qiáng)學(xué)生的學(xué)習(xí)興趣,同時(shí)在課堂上鼓勵學(xué)生,只要每次上課同教師進(jìn)行同步開發(fā),就一定可以完成該游戲的編程。

      2)同步開發(fā)法。

      在Java編程語言教學(xué)以往的實(shí)踐課程中,主要由教師進(jìn)行講授,然后安排實(shí)驗(yàn)任務(wù)。由學(xué)生自己完成,這樣雖然一定程度上鼓勵了學(xué)生利用自己的主觀能動性進(jìn)行學(xué)習(xí),但是也存在部分學(xué)生因?yàn)椴荒芡瓿啥a(chǎn)生畏難和放棄的思想。因此,本課程改革為利用教師和學(xué)生同步開發(fā)的方法,教師在教師機(jī)上編程,學(xué)生在學(xué)生機(jī)上同步開發(fā)。這樣教師可以監(jiān)控每個(gè)學(xué)生的學(xué)習(xí)情況,學(xué)生也可以跟上教師的教學(xué)思路和編程思想,從而在課程結(jié)束的時(shí)候,每個(gè)學(xué)生都可以開發(fā)出這個(gè)游戲,也就自然而然地掌握了編程規(guī)范和開發(fā)技巧。

      案例的部分代碼如下:

      import Java,awt,Color;

      import Java.awt.Graphics;

      public class Bomb{

      imx;inty;Test tc;

      int step=O:

      boolean b_live=true;

      //引入炸彈的生命

      int radius[]=

      {20,4,8,16,32,64,127,31,12,5,1};

      //定義炸彈的半徑

      publicBomb(imx,int y,Testtc){

      this.x=x;this.y=y;this.tc=tc;

      /*

      *此處放一個(gè)鉤子的用處

      *是為了在子彈類里面便于

      *將新增加的炸彈加到Test類

      *里面的danyaoku的容器之中

      */

      }

      public void bdraw(Graphics g){

      if(b_live=false){

      return;

      }

      if(step=radius.1ength){

      step=O;

      b_live=false;

      }

      Color c=g.getColor( );

      g.setColor(Color.RED);

      g.fillOval(x,y,radius[step],radius[step]);

      g.setColor(c);

      step++;

      }

      }

      3)階段拓展法。

      每進(jìn)行一個(gè)階段的開發(fā),教師就會給出一個(gè)同步項(xiàng)目,在功能模塊上有所改動,由學(xué)生自行根據(jù)前期的開發(fā)過程進(jìn)行模擬開發(fā),這樣不僅拓展學(xué)生的思路,也鞏固了學(xué)生的學(xué)期成果。

      4)漏洞分析法。

      最后,在教學(xué)中講解一些常見的代碼漏洞,主要是解決非語法錯誤所造成的邏輯問題,通過這種方式把解決問題的整個(gè)過程呈現(xiàn)給學(xué)生,最終達(dá)到讓學(xué)生掌握如何發(fā)現(xiàn)問題、分析問題、解決問題的方法和了解最核心系統(tǒng)的整體架構(gòu)。

      5、結(jié)語

      筆者結(jié)合近幾年Java程序設(shè)計(jì)課程的教學(xué)經(jīng)驗(yàn),在教學(xué)過程中主要讓教師通過引進(jìn)開發(fā)項(xiàng)目的教學(xué)手段增加學(xué)生的直觀感受和學(xué)習(xí)興趣。實(shí)踐證明,經(jīng)過教學(xué)改革后,學(xué)生的面向?qū)ο蟮脑O(shè)計(jì)思想增強(qiáng),在程序設(shè)計(jì)的過程中,其發(fā)現(xiàn)問題、分析問題和解決問題的能力得到了大幅度的提高。endprint

      猜你喜歡
      Java程序設(shè)計(jì)
      《Java程序設(shè)計(jì)》雙語教學(xué)的實(shí)踐與思考
      基于工作過程的高職“JAVA程序設(shè)計(jì)”實(shí)驗(yàn)教學(xué)探討
      “互聯(lián)網(wǎng)+”背景下基于翻轉(zhuǎn)課堂教學(xué)模式的程序設(shè)計(jì)課程改革
      《Java程序設(shè)計(jì)》項(xiàng)目化教學(xué)改革與實(shí)踐
      《Java程序設(shè)計(jì)》課程網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
      Java程序設(shè)計(jì)基礎(chǔ)課實(shí)踐教學(xué)中的分層教學(xué)模式研究
      基于實(shí)訓(xùn)項(xiàng)目的Java程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)模式改革與實(shí)踐
      基于工程思維的Java程序設(shè)計(jì)課程教學(xué)研究
      一體化教學(xué)模式探索研究
      CDIO理念下《Java程序設(shè)計(jì)》一體化課程教學(xué)改革研究
      珠海市| 沁水县| 阿拉善左旗| 德保县| 祁东县| 红河县| 平邑县| 曲沃县| 临泉县| 平度市| 嵊州市| 兰溪市| 婺源县| 吴江市| 德安县| 彩票| 望都县| 璧山县| 保康县| 紫阳县| 滦南县| 合江县| 盐城市| 翁源县| 德州市| 微山县| 腾冲县| 剑川县| 海宁市| 和静县| 洮南市| 柘城县| 博野县| 通江县| 宁国市| 汤阴县| 郴州市| 陵川县| 南阳市| 富阳市| 姜堰市|