丁文文(淮北師范大學(xué) 數(shù)學(xué)科學(xué)學(xué)院,安徽 淮北 235000)
思維導(dǎo)圖在JAVA教學(xué)中的應(yīng)用
丁文文
(淮北師范大學(xué) 數(shù)學(xué)科學(xué)學(xué)院,安徽 淮北 235000)
Java課程知識(shí)點(diǎn)多且抽象,理論與實(shí)踐性都很強(qiáng).為提高Java程序設(shè)計(jì)課程的教學(xué)效果,調(diào)動(dòng)學(xué)生的積極性,引入多姿多彩且組織性強(qiáng)的思維導(dǎo)圖到Java程序設(shè)計(jì)教學(xué)中.從教學(xué)實(shí)踐經(jīng)驗(yàn)中,基于思維導(dǎo)圖策略,取得良好的教學(xué)效果,不僅提高Java程序設(shè)計(jì)課程教學(xué)質(zhì)量,而且有效地培養(yǎng)學(xué)生的編程思維能力.利用思維導(dǎo)圖善于總結(jié)知識(shí)點(diǎn)內(nèi)在聯(lián)系的特點(diǎn),幫助學(xué)生優(yōu)化認(rèn)知結(jié)構(gòu),激發(fā)學(xué)生的學(xué)習(xí)興趣.
Java程序設(shè)計(jì);思維導(dǎo)圖;教學(xué)實(shí)踐
“Java語(yǔ)言程序設(shè)計(jì)”是高校計(jì)算機(jī)專業(yè)的必修課,也是軟件工程師必須學(xué)會(huì)應(yīng)用的課程.Java語(yǔ)言具有面向?qū)ο筇匦裕瑢?shí)踐性強(qiáng).由于Java語(yǔ)言的實(shí)踐性強(qiáng)和開發(fā)環(huán)境的復(fù)雜性,怎樣教好 Java便成計(jì)算機(jī)教學(xué)中一個(gè)值得探討與研究的熱點(diǎn)[1].在傳統(tǒng)的教學(xué)實(shí)施過(guò)程中,教師通常先介紹教材中各個(gè)知識(shí)點(diǎn),然后通過(guò)課后習(xí)題和一些實(shí)驗(yàn)來(lái)鞏固和加深學(xué)生對(duì)于面向?qū)ο笳Z(yǔ)言的理解.這種按步就班的教學(xué)方式無(wú)法體現(xiàn)Java語(yǔ)言的強(qiáng)大功能,導(dǎo)致學(xué)生學(xué)習(xí)目標(biāo)不明確,不能讓學(xué)生直觀地感受到語(yǔ)言的功能和作用[2].“項(xiàng)目驅(qū)動(dòng)”教學(xué)法按照軟件工程思想把某一工程項(xiàng)目展開并貫穿于整個(gè)教學(xué),讓學(xué)生在一個(gè)個(gè)典型的編程“項(xiàng)目”的驅(qū)動(dòng)下建構(gòu)真正屬于自己的知識(shí)與技能,達(dá)到編程思維的能力培養(yǎng).然而選擇恰當(dāng)?shù)捻?xiàng)目是此教學(xué)法成功的重點(diǎn)[3].
為有效地解決這些問(wèn)題,需要注意教師的“教”和學(xué)生的“學(xué)”,兩者本質(zhì)上是互動(dòng)的.“教”要理清思路,方法得當(dāng),運(yùn)用多元智能,拓寬學(xué)生思維,激發(fā)學(xué)生反思,喚起學(xué)生的學(xué)習(xí)潛能.“學(xué)”是興趣驅(qū)動(dòng)方法,多種感官并用,不僅要學(xué)習(xí)知識(shí)的細(xì)節(jié),整體把握課程結(jié)構(gòu),更重要的是要有針對(duì)性去學(xué).在教學(xué)實(shí)踐中,希望通過(guò)引入思維導(dǎo)圖來(lái)達(dá)到教與學(xué)的效果[4].本研究探討如何將思維導(dǎo)圖融入到“Java語(yǔ)言程序設(shè)計(jì)”課程教學(xué)實(shí)踐,使其作為知識(shí)管理和技術(shù)輔助手段,利于教師展示知識(shí)點(diǎn),利于學(xué)生整合形成知識(shí)結(jié)構(gòu),最終提高教學(xué)效率,為程序設(shè)計(jì)課程改革提供參考意見[5].
1.1 思維導(dǎo)圖
簡(jiǎn)單地說(shuō),思維導(dǎo)圖是一種高效率地表達(dá)思維軌跡的圖形思維工具.思維導(dǎo)圖把握全局,抓住事物的關(guān)鍵,通過(guò)聯(lián)想和想象找到事物之間的聯(lián)系.思維導(dǎo)圖是由英國(guó)著名心理學(xué)家、教育專家東尼.博贊(Tony buzan)在70世紀(jì)根據(jù)大腦的工作原理發(fā)明[6].思維導(dǎo)圖基于人類大腦的自然思考方式,將思維形象化,是放射性思考的表達(dá).思維導(dǎo)圖可以把復(fù)雜的信息畫出來(lái),使復(fù)雜的問(wèn)題變得非常簡(jiǎn)單,它可以幫助我們找到思想、聯(lián)系、看清本質(zhì),迅速?gòu)膹?fù)雜的信息中找到關(guān)鍵.思維導(dǎo)圖順應(yīng)左腦天然思維方式,各種觀點(diǎn)在圖表中清晰地體現(xiàn),同時(shí),中心主題、色彩與圖形的結(jié)合運(yùn)用刺激視覺(jué)器官,實(shí)現(xiàn)視覺(jué)的學(xué)習(xí)、記憶的強(qiáng)化和深化.
1.2 思維導(dǎo)圖的特點(diǎn)
思維導(dǎo)圖遵循一套簡(jiǎn)單、基本、自然、易被大腦接受的規(guī)則,運(yùn)用放射性線條和圖形來(lái)模擬人腦的思維過(guò)程中的邏輯思維,并用不同的顏色和特殊符號(hào),對(duì)圖形上的同關(guān)注度的內(nèi)容去標(biāo)識(shí).托尼巴贊認(rèn)為,思維導(dǎo)圖必須具備以下4個(gè)基本特征[6]:
(1)一幅思維導(dǎo)圖只有一個(gè)主題.主題放在圖形的中央.
(2)確定主題的主干.主題的主干作為分支從中央向四周放射.比較不重要的話題也以分支形式表現(xiàn)出來(lái),附在較高層次的分支上.
(3)尋找關(guān)鍵詞和關(guān)鍵圖形.無(wú)論是直接與主題相聯(lián)的一級(jí)分支,還是與一級(jí)分支相連的下級(jí)分支,都是由關(guān)鍵詞和關(guān)鍵圖形組成的.
(4)各分支形成一個(gè)連接的節(jié)點(diǎn)結(jié)構(gòu).因此思維導(dǎo)圖在表現(xiàn)形式上是樹狀結(jié)構(gòu)的.分支形成連接節(jié)點(diǎn)結(jié)構(gòu).
在本文中,采用MindManager專業(yè)思維導(dǎo)圖工具[7]來(lái)作圖.
Java是一門面向?qū)ο蟮恼Z(yǔ)言,計(jì)算機(jī)專業(yè)開設(shè)Java程序設(shè)計(jì)課程基本上分為兩種情況:(1)將Java語(yǔ)言作為學(xué)生學(xué)習(xí)的第一種程序設(shè)計(jì)語(yǔ)言,面臨的最大問(wèn)題是涉及內(nèi)容太多甚至太雜,分散重點(diǎn)和學(xué)習(xí)精力.(2)將Java語(yǔ)言作為C程序設(shè)計(jì)語(yǔ)言[8]的后續(xù)語(yǔ)言來(lái)學(xué)習(xí),面臨的最大問(wèn)題是如何將學(xué)生的程序設(shè)計(jì)思維從面向過(guò)程向面向?qū)ο筠D(zhuǎn)變,這需要一個(gè)循序漸進(jìn)的逐步轉(zhuǎn)變的過(guò)程.筆者根據(jù)多年的程序設(shè)計(jì)教學(xué)經(jīng)驗(yàn),認(rèn)為:面向?qū)ο笠部梢哉f(shuō)是從宏觀方面思考問(wèn)題(森林),而面向過(guò)程可以說(shuō)是從細(xì)節(jié)處思考問(wèn)題(樹木).直接接觸面向?qū)ο蟮乃枷肱c方法,再訓(xùn)練程序設(shè)計(jì)的方法與技巧,就好像是先見森林,后見樹木.這個(gè)也等于建筑學(xué)里面,先設(shè)計(jì)整個(gè)建筑物的框架,然后再施工的道理是一樣的.要想達(dá)到好的教學(xué)效果,在授課中采用思維導(dǎo)圖,側(cè)重于4方面:
(1)在教學(xué)設(shè)計(jì)中采用思維導(dǎo)圖,必要時(shí)用思維導(dǎo)圖勾畫全書和書中各章節(jié).
(2)針對(duì)Java語(yǔ)言實(shí)踐性強(qiáng)、學(xué)生沒(méi)有實(shí)際的開發(fā)經(jīng)驗(yàn)等問(wèn)題,在實(shí)驗(yàn)環(huán)節(jié)使用思維導(dǎo)圖快速、有效地指導(dǎo)學(xué)生安裝Java軟件開發(fā)工具包(Java Development Kit,JDK),設(shè)置Java運(yùn)行環(huán)境變量,理解安裝路徑與環(huán)境變量之間的關(guān)系,理清Java虛擬機(jī)的執(zhí)行流程等.
(3)針對(duì)Java課程知識(shí)點(diǎn)多這個(gè)環(huán)節(jié),在授課計(jì)劃中對(duì)數(shù)據(jù)類型、控制流程語(yǔ)句和結(jié)構(gòu)化程序設(shè)計(jì)等程序基礎(chǔ)知識(shí),利用思維導(dǎo)圖引導(dǎo)學(xué)生根據(jù)實(shí)際應(yīng)用需求來(lái)選擇數(shù)據(jù)類型和執(zhí)行流程.
(4)利用思維導(dǎo)圖加強(qiáng)面向?qū)ο笏季S培養(yǎng).先根據(jù)思維導(dǎo)圖建立系統(tǒng)與全局的觀念,按照面向?qū)ο蟮乃枷牒头椒▉?lái)分析問(wèn)題域,設(shè)計(jì)對(duì)象模型.
2.1 教學(xué)設(shè)計(jì)中采用思維導(dǎo)圖
傳統(tǒng)教師用板書來(lái)概括,簡(jiǎn)單地為學(xué)生提供課堂知識(shí)點(diǎn).大多數(shù)學(xué)生不能跟上老師的想法,降低教學(xué)效果.科學(xué)有效的備課方法,不僅對(duì)教材內(nèi)容進(jìn)行細(xì)化,也要結(jié)合教材內(nèi)容和最新的研究理論和方法,引導(dǎo)學(xué)生主動(dòng)學(xué)習(xí).利用思維導(dǎo)圖進(jìn)行備課,容易掌握知識(shí)系統(tǒng)的框架和結(jié)構(gòu).通過(guò)圖1的思維導(dǎo)圖,對(duì)Java程序設(shè)計(jì)課程的內(nèi)容和目標(biāo)進(jìn)行詳細(xì)的規(guī)劃,明確學(xué)生學(xué)習(xí)目標(biāo)和任務(wù).教師可以把零散的知識(shí)點(diǎn)在思維導(dǎo)圖上全面、系統(tǒng)地聯(lián)系起來(lái).不僅對(duì)新知識(shí)點(diǎn)容易擴(kuò)展,而且對(duì)舊的知識(shí)點(diǎn)容易復(fù)習(xí).在教師使用思維導(dǎo)圖備完一章內(nèi)容后,就可以利用它為學(xué)生對(duì)每一章內(nèi)容進(jìn)行復(fù)習(xí),不僅是簡(jiǎn)單復(fù)習(xí)教學(xué)中的知識(shí)點(diǎn),且短時(shí)間內(nèi)讓學(xué)生回憶上過(guò)的每一堂課.
圖1 Java程序設(shè)計(jì)課程思維導(dǎo)圖
圖2 實(shí)際需求思維導(dǎo)圖
程序流程概念簡(jiǎn)單,使用靈活,想要掌握好并不容易.在引導(dǎo)學(xué)生使用哪種程序流程時(shí),可以利用思維導(dǎo)圖讓學(xué)生自己判斷,然后加以設(shè)計(jì).例如,編寫一個(gè)程序,當(dāng)輸入某年某月某日,判斷這一天是這一年的第幾天.首先在思維導(dǎo)圖上畫出輸入和輸出,對(duì)于不正確的年月日會(huì)產(chǎn)生異常,直到輸入符合規(guī)則的年月日來(lái).比如,當(dāng)輸入2月份,年為閏年時(shí),月的天數(shù)就不能超過(guò)29;然后根據(jù)輸入的月份來(lái)對(duì)總共的天數(shù)進(jìn)行求和,這其中既涉及到循環(huán)結(jié)構(gòu),又涉及到選擇分支結(jié)構(gòu).循環(huán)是選擇for還是while,分支是選擇if還是switch,都要學(xué)生根據(jù)思維導(dǎo)圖給出判讀.整個(gè)過(guò)程如圖2所示.
2.2 實(shí)驗(yàn)環(huán)節(jié)中采用思維導(dǎo)圖
Java是一門實(shí)踐性很強(qiáng)的專業(yè)課程.在實(shí)驗(yàn)環(huán)節(jié),通過(guò)上機(jī)實(shí)驗(yàn)來(lái)驗(yàn)證書本和課堂教學(xué)內(nèi)容,理解Java語(yǔ)言的基本結(jié)構(gòu)和程序設(shè)計(jì)方法.但是學(xué)生往往局限在把書本上的程序往Java編輯環(huán)境中敲寫一遍后運(yùn)行,根本不去進(jìn)一步思索程序最終運(yùn)行結(jié)果得出的緣由,導(dǎo)致雖然實(shí)驗(yàn)課程結(jié)束,遇到實(shí)際問(wèn)題還是束手無(wú)策.在實(shí)踐環(huán)節(jié)中,采用思維導(dǎo)圖,如圖3所示,盡快讓學(xué)生熟悉Java運(yùn)行環(huán)境配置、理順代碼中蘊(yùn)含的思想、遇到問(wèn)題能熟練地調(diào)試程序發(fā)現(xiàn)錯(cuò)誤,從而提高學(xué)生的分析問(wèn)題、解決問(wèn)題的能力和動(dòng)手能力.對(duì)于在實(shí)際編程中需要遵循而又容易忽略的規(guī)則,比如,Java源程序可以包含多個(gè)類,但其中只能有一個(gè)public class,并且這個(gè)class的類名要和文件名保持一致,利用思維導(dǎo)圖,進(jìn)行歸納總結(jié),幫助學(xué)生養(yǎng)成良好的編程習(xí)慣.
圖3 Java環(huán)境配置的思維導(dǎo)圖
2.3 利用思維導(dǎo)圖加強(qiáng)面向?qū)ο笏季S培養(yǎng)
面向?qū)ο笏季S的培養(yǎng),可以利用層次化的思維導(dǎo)圖,促使教師充分把握課堂情境,尋找與學(xué)生交流的突破口.比如讓學(xué)生清楚面向過(guò)程思想是面向著具體的每一個(gè)步驟和過(guò)程,我們都要親力親為參與進(jìn)去,面向?qū)ο笫乾F(xiàn)實(shí)世界模型的自然延伸,它將世界萬(wàn)物看成對(duì)象,從而可以將復(fù)雜的事情簡(jiǎn)單化,將我們從執(zhí)行者變成指揮者.思維導(dǎo)圖獨(dú)特的分支結(jié)構(gòu)有利于學(xué)生深入到問(wèn)題的底層,比如,理解面向?qū)ο缶幊痰某橄笮?、封裝性、繼承性和多態(tài)性等.這樣教師就可以自然地將探究的內(nèi)容向深度介紹,挖掘?qū)W生的個(gè)體潛能.類和對(duì)象的思維導(dǎo)圖如圖4所示.
圖4 類和對(duì)象的思維導(dǎo)圖
2.4 利用思維導(dǎo)圖鞏固Java基礎(chǔ)知識(shí)
對(duì)于程序設(shè)計(jì)語(yǔ)言初學(xué)者,筆者在授課計(jì)劃中對(duì)Java語(yǔ)法部分分配較多的課時(shí),語(yǔ)法學(xué)習(xí)是任何計(jì)算機(jī)語(yǔ)言的必經(jīng)階段,連語(yǔ)法都不熟悉,怎么談程序設(shè)計(jì)?基于思維導(dǎo)圖,在教學(xué)中采用以下手段,盡快讓學(xué)生熟悉Java語(yǔ)法和相關(guān)基本知識(shí)及工具.
(1)基于思維導(dǎo)圖對(duì)Java的基本語(yǔ)法有一個(gè)整體認(rèn)識(shí),對(duì)int、float、double、char等數(shù)據(jù)類型能夠靈活分配給各個(gè)對(duì)象,熟練掌握f(shuō)or、while、swith case等基本流程控制語(yǔ)言.
(2)采用思維導(dǎo)圖強(qiáng)化數(shù)據(jù)在內(nèi)存中的表示、引用數(shù)據(jù)類型的概念、遞歸定義與遞歸算法、類的組合等知識(shí)點(diǎn).
(3)重視學(xué)生學(xué)習(xí)使用Java API文檔.Java API文檔是Java的基本類庫(kù),是有經(jīng)驗(yàn)的程序開發(fā)人員已經(jīng)寫好的可以直接使用的常用的程序.根據(jù)多年的開發(fā)經(jīng)歷和教學(xué)實(shí)踐來(lái)看,學(xué)生應(yīng)該對(duì)基本類庫(kù)有個(gè)整體了解,這就等于站在巨人的肩膀上來(lái)學(xué)習(xí),自然上手和掌握都要快很多.這里,并不是讓學(xué)生熟練掌握每個(gè)類有哪些屬性和方法,而是要學(xué)生知道每個(gè)包由哪些方面的類構(gòu)成的,這些類的功能是什么.當(dāng)遇到實(shí)際問(wèn)題的時(shí)候,能夠知道哪個(gè)類或者哪幾個(gè)類的組合可以解決這個(gè)實(shí)際問(wèn)題.教學(xué)實(shí)踐中,采用思維導(dǎo)圖,示范其功效,讓學(xué)生根據(jù)Java API文檔,畫出每個(gè)類的思維導(dǎo)圖,如圖5所示.盡快讓學(xué)生熟悉Java語(yǔ)法,能較熟練地編寫程序.
圖5 日期類的思維導(dǎo)圖
在Java教學(xué)中,使用思維導(dǎo)圖不僅能幫助學(xué)生建立良好的認(rèn)知結(jié)構(gòu),挖掘知識(shí)點(diǎn)之間的關(guān)系,深入了解知識(shí)體系的構(gòu)建,而且能有效地培養(yǎng)學(xué)生的自主學(xué)習(xí)能力和思維能力,激發(fā)學(xué)生的學(xué)習(xí)興趣.利用思維導(dǎo)圖在Java編程輔助教學(xué)注入新的思路,提供新的工具和策略,是一種有效的教學(xué)和積極的方式,不僅可以促進(jìn)教師教學(xué),還能促進(jìn)學(xué)生學(xué)習(xí),值得推廣[9].
[1]張麗君.Java語(yǔ)言程序設(shè)計(jì)課程教學(xué)改革探索[J].中國(guó)管理信息化,2017(3):208-209.
[2]姚明,彭志平,李啟銳,等.Java課內(nèi)實(shí)踐教學(xué)改革[J].計(jì)算機(jī)教育,2016(6):151-154.
[3]張璞.“案例驅(qū)動(dòng)+項(xiàng)目導(dǎo)向”的Java程序設(shè)計(jì)課程教學(xué)模式研究[J].計(jì)算機(jī)教育,2017(2):58-61.
[4]劉榮玄.概念圖與思維導(dǎo)圖輔助教學(xué)的研究與實(shí)踐[J].教育現(xiàn)代化,2017(2):119-123.
[5]LI C L,YANG L P,WANG W.Application of mind mapping to improve the teaching effect of java program design course [C]//Hsiang-Chuan Liu.Computing,Control,Information and Education Engineering 2015.Guilin,P.R.China:CRC Press,2015:451-454.
[6]林文東,宋芹芹.我國(guó)思維導(dǎo)圖十年研究概述[J].中國(guó)教育技術(shù)裝備,2015(6):109-110.
[7]伊向超,胡彩蓮.思維導(dǎo)圖MindMapper在課堂教學(xué)中的應(yīng)用探究:以“教學(xué)系統(tǒng)設(shè)計(jì)”為例[J].中國(guó)教育信息化,2010 (7):59-61.
[8]劉亮.“C語(yǔ)言程序設(shè)計(jì)”知識(shí)構(gòu)建的思維導(dǎo)圖方式[J].信息與電腦(理論版),2015(12):35-36.
[9]胡強(qiáng),謝超,賈璐.思維導(dǎo)圖在師范生教學(xué)設(shè)計(jì)能力培養(yǎng)中的應(yīng)用[J].合肥師范學(xué)院學(xué)報(bào),2010(6):67-70.
Applied Research of Mind Mapping in JAVA Teaching
DING Wenwen
(School of Mathematical Sciences,Huaibei Normal University,235000,Huaibei,Anhui,China)
Java programming course possesses many knowledge points,which is abstract,theoretical and prac?tical.In order to improve the teaching effect of Java programming course and stimulate the enthusiasm of the students,the colorful and organized mind map is introduced into the teaching of Java programming.From the teaching practice,the good teaching effect has been obtained based on mind mapping strategy,It can not only improve the quality of teaching of Java programming course,but also help students to optimize cognitive struc?ture,effectively cultivate students′autonomous learning ability and programming thinking ability,and stimu?late students′interest in learning.
Java programming course;mind mapping;teaching practice
TP 3122
C
2095-0691(2017)02-0087-05
2017-03-10
安徽省高校自然科學(xué)研究重點(diǎn)項(xiàng)目(KJ2016A625,KJ2017A376,KJ2017A377)
丁文文(1976— ),女,安徽滁州人,博士,講師,研究方向?yàn)橹悄苄畔⑻幚?,機(jī)器學(xué)習(xí).