• 
    

    
    

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

      啟發(fā)式教學(xué)法在Java課程設(shè)計中的實(shí)踐與探索

      2014-07-01 23:27:35陳小奎
      長春師范大學(xué)學(xué)報 2014年2期
      關(guān)鍵詞:文本框視圖代碼

      陳小奎

      (安徽理工大學(xué)理學(xué)院,安徽淮南 232007)

      啟發(fā)式教學(xué)法在Java課程設(shè)計中的實(shí)踐與探索

      陳小奎

      (安徽理工大學(xué)理學(xué)院,安徽淮南 232007)

      為提高學(xué)生的Java項目開發(fā)能力,在課程設(shè)計中采用啟發(fā)式教學(xué)法,并結(jié)合安徽理工大學(xué)開設(shè)的基于Java開發(fā)信息管理系統(tǒng)進(jìn)行課程設(shè)計。在講解Java訪問數(shù)據(jù)庫的基本知識后,漸進(jìn)式啟發(fā)學(xué)生應(yīng)用所學(xué)知識完成項目開發(fā),反思式啟發(fā)學(xué)生討論項目開發(fā)中遇到的問題;引入MVC分層的項目開發(fā)思想,通過類比式啟發(fā)學(xué)生完成課程設(shè)計任務(wù)。采用啟發(fā)式教學(xué),有助于學(xué)生夯實(shí)面向?qū)ο笏枷牖A(chǔ)知識,理解項目開發(fā)框架,提高實(shí)踐能力。

      Java;課程設(shè)計;啟發(fā)式教學(xué);實(shí)踐環(huán)節(jié)

      啟發(fā)式教學(xué)法,要求教師善于引導(dǎo)轉(zhuǎn)化,強(qiáng)調(diào)學(xué)生是學(xué)習(xí)的主體,堅持教師主導(dǎo)和學(xué)生主體相結(jié)合,運(yùn)用一定的手段和方法,把學(xué)生的書本知識轉(zhuǎn)化為學(xué)生的具體知識,再進(jìn)一步把學(xué)生的具體知識轉(zhuǎn)化為學(xué)生的能力[1]。Java面向?qū)ο蟪绦蛟O(shè)計課程在各高校計算機(jī)相關(guān)專業(yè)的培養(yǎng)方案中都居于重要地位,它是JavaEE和Android軟件開發(fā)的基礎(chǔ)。

      1 課程設(shè)計的進(jìn)度安排與管理

      安徽理工大學(xué)開設(shè)的Java課程設(shè)計時間為10天,共計40學(xué)時。實(shí)驗環(huán)境為JDK1.6、Eclipse3.3、MySQL5.5;任務(wù)為設(shè)計開發(fā)出小型信息管理系統(tǒng),并撰寫課程設(shè)計說明書。具體要求與時間分配見表1。

      表1 課程設(shè)計進(jìn)度管理表

      課程設(shè)計以天為單位分階段進(jìn)行實(shí)施和驗收,有利于提高學(xué)生的自我約束能力,以保證質(zhì)量并能按時完成課程設(shè)計任務(wù)。

      2 啟發(fā)式教學(xué)在課程設(shè)計中的實(shí)施

      應(yīng)用啟發(fā)式教學(xué),將整個課程設(shè)計分成三個階段。第一階段,夯實(shí)基礎(chǔ);第二階段,啟發(fā)學(xué)生利用已有知識完成添加功能并討論開發(fā)過程中的經(jīng)驗教訓(xùn);第三階段,引入MVC分層思想,教師設(shè)計一種框架并完成添加記錄的功能,并組織學(xué)生對比使用MVC分層前后的優(yōu)缺點(diǎn)。指導(dǎo)學(xué)生完成整個項目,鼓勵學(xué)生自己設(shè)計基于MVC分層思想的框架。

      2.1 夯實(shí)Java數(shù)據(jù)庫開發(fā)基礎(chǔ)知識

      在開發(fā)基于Java的信息管理系統(tǒng)過程中,絕大多數(shù)同學(xué)沒有項目開發(fā)經(jīng)驗,對Java訪問數(shù)據(jù)庫的方法不熟悉,直接要求學(xué)生一步到位地開發(fā)出規(guī)范的項目是一種揠苗助長的行為,所以課程設(shè)計的“數(shù)據(jù)庫連接”,要由指導(dǎo)教師把數(shù)據(jù)庫基礎(chǔ)知識夯實(shí),主要知識點(diǎn)如表2所示。

      表2 Java訪問數(shù)據(jù)庫的基礎(chǔ)知識列表

      2.2 啟發(fā)學(xué)生完成項目部分功能并組織討論

      啟發(fā)式教學(xué)有不同的類型,按照思維邏輯可分為聯(lián)想式啟發(fā)、對比式啟發(fā)、反思式啟發(fā)、輻射式啟發(fā)、漸進(jìn)式啟發(fā)等[2]。在Java課程設(shè)計中主要從以下幾個方面實(shí)施啟發(fā)式教學(xué)。

      2.2.1 漸進(jìn)式啟發(fā)學(xué)生完成項目中的部分功能模塊

      學(xué)生掌握表2中的基礎(chǔ)知識后,指導(dǎo)教師使用漸進(jìn)式啟發(fā)學(xué)生完成項目中的部分功能。比如以學(xué)生信息管理系統(tǒng)的最簡單的添加記錄功能為例,開發(fā)添加記錄分成四步漸進(jìn)教學(xué)。

      第一步:講解數(shù)據(jù)庫SQL語法中的insert into語句,例如:

      String sqlString=insert into student(‘id’,’name’,’age’) values(‘2011303001’,’張三’,’20’);

      第二步:啟發(fā)學(xué)生思考如何將第一步中的語句中的常量如“張三”等換成Java語句中的變量。通過聯(lián)想Java 語言的字符串連接技術(shù),可以將第一步中的語句改為如下代碼:

      String studentId=”2011303001”;

      String studentName=”張三”;

      String studentAge=”20”;

      String sqlString=insert into student(‘id’,’name’,’age’)

      values(‘”+ studentId +”’,’”+ studentName +”’,’”+ studentAge +”’);//其中單撇號是SQL語法中的標(biāo)記,雙撇號是字符串標(biāo)記,加號是字符串連接運(yùn)算符。

      第三步:啟發(fā)學(xué)生將字符串變量與圖形化界面聯(lián)系在一起。開發(fā)出圖形化界面,學(xué)生編號、學(xué)生姓名、年齡等由文本框組件的getText()方法獲得。代碼如下:

      String studentId=txtId.getText(); //txtId為輸入學(xué)號的文本框

      String studentName=txtName.getText();//txtName為輸入姓名的文本框

      String studentAge=txtAge.getText();//txtAge為輸入年齡的文本框

      第四步:設(shè)計圖形化組件按鈕的點(diǎn)擊事件,通過創(chuàng)建數(shù)據(jù)庫Connection類的對象和Statement對象來執(zhí)行SQL語句,完成添加學(xué)生信息進(jìn)數(shù)據(jù)庫。

      2.2.2 反思式啟發(fā)學(xué)生挖掘項目中的缺陷,總結(jié)經(jīng)驗教訓(xùn)

      教師引導(dǎo)學(xué)生完成這部分功能后,組織學(xué)生討論各自的項目中成功的經(jīng)驗和失敗的教訓(xùn)。經(jīng)過統(tǒng)計,學(xué)生大都采用了界面代碼和業(yè)務(wù)代碼混合在一起的方式。這個過程中大部分學(xué)生都提出了項目中代碼重用性差、業(yè)務(wù)流程模糊、結(jié)構(gòu)松散、維護(hù)困難等問題。啟發(fā)學(xué)生思考如何利用面向?qū)ο蟮乃枷?,掌握將?shù)據(jù)庫連接代碼封裝成類的方法,提出界面代碼與業(yè)務(wù)代碼分離的建議,鼓勵學(xué)生提出自己的修改方案。

      2.3 引入MVC分層思想,指導(dǎo)學(xué)生使用基于MVC的框架

      MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,是一種軟件設(shè)計典范,組織代碼用一種業(yè)務(wù)邏輯和數(shù)據(jù)顯示分離的方法,這個方法的假設(shè)前提是如果業(yè)務(wù)邏輯被聚集到一個部件里面,而且界面和用戶圍繞數(shù)據(jù)的交互能被改進(jìn)和個性化定制而不需要重新編寫業(yè)務(wù)邏輯[3]。將MVC思想引入課程設(shè)計的項目開發(fā)中,可以讓學(xué)生了解層次以及框架理論,掌握軟件開發(fā)規(guī)范。

      2.3.1 對比式啟發(fā)學(xué)生理解MVC分層理論

      由教師編寫基于MVC的程序?qū)崿F(xiàn)添加學(xué)生信息的功能,在項目StudentInfoSystem中創(chuàng)建3個包,分別為com.model、com.view和com.control,分別對應(yīng)模型層、視圖層和控制層。模型層中放置業(yè)務(wù)流程中的對象;視圖層中放置圖形化界面類;控制層中放置業(yè)務(wù)流程的具體實(shí)現(xiàn)。在這種結(jié)構(gòu)下實(shí)現(xiàn)了模型、界面和業(yè)務(wù)處理代碼的有效分離;使項目分工更加明確。架構(gòu)如圖1所示。

      圖1 基于MVC分層的項目架構(gòu)圖

      分層后模型層的Student.java類中描述Student的屬性,其屬性與數(shù)據(jù)庫中student表的字段一一對應(yīng),部分代碼如下:

      public class Student{

      String id;String name;String age;

      public Student(String id,String name,String age){//構(gòu)造函數(shù)

      this.id=id;this.name=name;this.age=age;

      }

      }

      引導(dǎo)學(xué)生嘗試將數(shù)據(jù)庫連接對象以及相應(yīng)處理方法封裝成DbLink.java類,部分代碼如下:

      package com.model;

      import java.sql.*;

      public class DbLink {

      String dbURL;//數(shù)據(jù)庫標(biāo)識String user; String password;

      public DbLink(){

      dbURL="jdbc:mysql://localhost:3306/StudentDB";

      user="root";

      password="123456";

      }

      public Connection getConnection()

      { try

      {Class.forName("com.mysql.jdbc.Driver");

      return DriverManager.getConnection(dbURL,user,password);

      }catch(Exception e){System.out.println("鏈接失敗"+e.toString());}

      return null;}

      }

      在視圖層AddFrm.java中只有圖形化界面的設(shè)計,其中“添加學(xué)生到數(shù)據(jù)庫”按鈕的事件內(nèi)不再具體地處理數(shù)據(jù)庫業(yè)務(wù),而是采用簡單的對象調(diào)用方法,核心代碼如下:

      String studentId=txtId.getText(); //txtId為輸入學(xué)號的文本框

      String studentName=txtName.getText();//txtName為輸入姓名的文本框

      String studentAge=txtAge.getText();//txtAge為輸入年齡的文本框

      Student stu=new Student(studentId, studentName, studentAge);

      //通過構(gòu)造函數(shù)將學(xué)生的全部信息封裝在一個stu對象內(nèi)

      StudentDBI Dbi=new StudentDBI();

      Dbi.AddToDb(stu);//通過StudentDBI的對象Dbi調(diào)用AddToDb方法將信息加入數(shù)據(jù)庫

      控制層中完成數(shù)據(jù)庫的實(shí)現(xiàn),但不涉及任何圖形化界面元素,所以通過參數(shù)傳遞信息。如StudentDBI類的AddToDb方法帶入了一個Student的對象,并把這些信息加入數(shù)據(jù)庫。

      組織大討論,啟發(fā)學(xué)生用對比法比較應(yīng)用MVC思想的前后,項目的優(yōu)缺點(diǎn)。運(yùn)用鼓勵性語言對學(xué)生的思考和發(fā)現(xiàn)給以積極評價,可以保護(hù)學(xué)生的學(xué)習(xí)熱情,調(diào)動其學(xué)習(xí)積極性,使他們積極、自覺、愉快地學(xué)習(xí);同時使后進(jìn)生克服心理障礙,消除自卑心理,增強(qiáng)自信心[3]。在討論中可以引入MVC思想的優(yōu)點(diǎn),例如耦合性低、視圖層和業(yè)務(wù)層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個應(yīng)用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需要改動模型層即可。因為模型與控制器和視圖相分離,所以很容易改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。MVC模式允許使用各種不同樣式的視圖來訪問同一個服務(wù)器端的代碼;有利于軟件工程化管理,由于不同的層各司其職,每一層不同的應(yīng)用具有某些相同的特征,有利于通過工程化、工具化管理程序代碼。

      2.3.2 啟發(fā)學(xué)生參考教師完成的部分系統(tǒng)功能,完成課程設(shè)計任務(wù)中的其他模塊

      從模仿到創(chuàng)造是人類學(xué)習(xí)的基本規(guī)律,教師在完成添加功能模塊后,鼓勵學(xué)生在模仿中理解MVC思想,編寫刪除功能模塊。仿照AddFrm.java類編寫DeleteFrm.java類,開發(fā)出刪除功能界面;參考添加功能的insert into語句,編寫出按Id號刪除功能的delete from語句,關(guān)鍵代碼如下:

      String studentId =txtId.getText();//txtId為用來輸入Id的文本框

      Student stu=new Student(studentId);

      StudentDBI Dbi=new StudentDBI();

      Dbi.DeleteFromDb(stu);//通過Dbi調(diào)用DeleteFromDb方法將信息從數(shù)據(jù)庫中刪除

      String sqlString=”delete from student where id=’”+ studentId +”’”;

      學(xué)生按照教師指引的思路獨(dú)立完成刪除模塊功能。進(jìn)一步提出讓學(xué)生在理解MVC思想的基礎(chǔ)上,創(chuàng)造自己的框架。學(xué)生在掌握J(rèn)ava操作數(shù)據(jù)庫的代碼后,在采用啟發(fā)式教學(xué)情況下,能獨(dú)立思考,理解和應(yīng)用較難的MVC思想的人數(shù)由原來的40%左右增加到80%,學(xué)生能夠更好地完成任務(wù),培養(yǎng)自信心,提高學(xué)習(xí)的興趣。

      3 啟發(fā)式教學(xué)在課程設(shè)計中實(shí)踐與探索的幾點(diǎn)思考

      課程設(shè)計教學(xué)的目標(biāo)是學(xué)生獨(dú)立完成項目開發(fā),學(xué)生是學(xué)習(xí)的主體,教師的作用是指導(dǎo)學(xué)生有效地學(xué)習(xí)。在教學(xué)過程中,運(yùn)用啟發(fā)式教學(xué)就是尊重學(xué)生學(xué)習(xí)的主體地位,最大限度地發(fā)揮學(xué)生學(xué)習(xí)的主觀能動性[4]。運(yùn)用啟發(fā)式教學(xué)的實(shí)踐和探索總結(jié):(1)轉(zhuǎn)變教學(xué)思想,充分認(rèn)識啟發(fā)式教學(xué)在課程設(shè)計中的地位與作用。將啟發(fā)式教學(xué)作為深化教學(xué)改革、優(yōu)化教學(xué)過程的一個指導(dǎo)思想。(2)更新學(xué)生觀,尊重學(xué)生的學(xué)習(xí)主體地位,信任學(xué)生的能力,鼓勵學(xué)生去創(chuàng)造。教師要最大限度地調(diào)動學(xué)生課堂學(xué)習(xí)的積極性、主動性與創(chuàng)造性。(3)堅決克服啟發(fā)式教學(xué)運(yùn)用中的形式化、片面化,教師必須因地制宜地結(jié)合實(shí)際的課程,由淺入深地設(shè)置知識結(jié)構(gòu),既不能讓課程設(shè)計成為學(xué)生的簡單模仿,也不能讓學(xué)生無所適從。

      [1]陶沼靈.啟發(fā)式教學(xué)方法研究綜述[J].中國成人教育,2007(4):139-140.

      [2]楊憲立,趙喜來.運(yùn)用啟發(fā)式教學(xué)法培養(yǎng)學(xué)生的思維能力[J].教育與職業(yè),2008(9):34-37.

      [3]王麗霞.課堂上鼓勵性語言的重要性[J].新課程,2011(2):214-218.

      [4]張忠華,周陽.對啟發(fā)式教學(xué)的幾個探索[J].教育學(xué)刊,2009(2):50-52.

      Practice and Exploration on Heuristic Teaching of Course Design Based on Java

      CHEN Xiao-kui

      (Anhui University of Science and Technology College of Science,Huainan Anhui 232007, China)

      In order to improve students’ Java project development level, heuristic teaching of the course design is applied. Combined with the course design based on Java information and management system developed by Anhui University of Science and Technology, the thesis interprets the basic knowledge of the Java to access the database. Progressive mode inspires students to apply the knowledge to complete the project development and heuristic mode inspires students to discuss problems encountered in the project development. MVC theory is introduced in the project to enable students to complete the task by analogy heuristic. Heuristic teaching helps students consolidate basic knowledge of object-oriented thinking and understand framework of product development to improve practical ability.

      Java; Course Design; Heuristic Teaching; Practice Teaching

      2013-12-05

      國家級特色專業(yè)(TS12142);安徽理工大學(xué)重大教學(xué)改革項目(2013zdjy082)。

      陳小奎(1978- ),男,吉林松原人,安徽理工大學(xué)理學(xué)院講師,碩士,從事計算機(jī)教育研究。

      G642;TP273

      A

      1008-178X(2014)01-0129-05

      猜你喜歡
      文本框視圖代碼
      巧用文本框?qū)崿F(xiàn)PPT多圖片排版
      PPT文本框的另類應(yīng)用
      創(chuàng)世代碼
      動漫星空(2018年11期)2018-10-26 02:24:02
      創(chuàng)世代碼
      動漫星空(2018年2期)2018-10-26 02:11:00
      創(chuàng)世代碼
      動漫星空(2018年9期)2018-10-26 01:16:48
      創(chuàng)世代碼
      動漫星空(2018年5期)2018-10-26 01:15:02
      5.3 視圖與投影
      視圖
      Y—20重型運(yùn)輸機(jī)多視圖
      SA2型76毫米車載高炮多視圖
      巴南区| 肇源县| 连城县| 娄烦县| 略阳县| 清丰县| 彭泽县| 平凉市| 普宁市| 斗六市| 长垣县| 华坪县| 蓬安县| 江华| 承德县| 宣城市| 博兴县| 临武县| 德江县| 阿拉尔市| 宁夏| 顺平县| 鱼台县| 阳山县| 西畴县| 乌鲁木齐县| 阳原县| 南昌市| 谷城县| 鲁山县| 南京市| 巴林右旗| 塘沽区| 吴旗县| 林周县| 通许县| 铁岭县| 云林县| 阜平县| 集安市| 拉萨市|