黃煒欽
(廈門大學(xué)嘉庚學(xué)院 信息科學(xué)與技術(shù)學(xué)院,福建 漳州 363105)
教育是時代永恒的主題,而教師是教育事業(yè)的重要主體之一,如何高效地傳道授業(yè)解惑,是每一位教師需要自我發(fā)展與精進的一個問題。教育事業(yè)發(fā)展至今,中國的大學(xué)專業(yè)共有13個學(xué)科門類,92個專業(yè)類506個專業(yè)[1]。隨著人工智能的迅猛發(fā)展,工學(xué)下的物聯(lián)網(wǎng)相關(guān)專業(yè)發(fā)展前景廣闊,各高校在該專業(yè)方面的招生人數(shù)也與日俱增[2]。因此,做好物聯(lián)網(wǎng)專業(yè)的教育工作對國家和社會的智能化發(fā)展至關(guān)重要。
在物聯(lián)網(wǎng)專業(yè)課程中,程序設(shè)計類型課程眾多,如C語言程序設(shè)計、Java語言程序設(shè)計以及Android應(yīng)用程序設(shè)計等,不同語言具有不同的語法,看似獨立,實則一通百通,當(dāng)學(xué)好一門程序設(shè)計課程,后續(xù)通過比較學(xué)習(xí),融會貫通,學(xué)好其他程序設(shè)計課程,甚至是全新的語言程序設(shè)計課程,最后能夠勝任軟件及相關(guān)產(chǎn)品的研發(fā)。因此,從專業(yè)角度出發(fā),如何評判一門程序設(shè)計課程教得好不好,一方面主要看學(xué)生是否充分掌握本門課程的專業(yè)知識,另一方面要看教師對這一類專業(yè)課程的學(xué)習(xí)方法是否對學(xué)生起到啟發(fā)和引領(lǐng)作用,學(xué)生是否有能力依據(jù)該學(xué)習(xí)思路展開對新課程相關(guān)知識的學(xué)習(xí),提高專業(yè)素養(yǎng)。因此,好的教學(xué)方法應(yīng)當(dāng)是既能授之以魚,又能授之以漁的。
人們都說“一圖勝千言”[3],這體現(xiàn)了圖相比于文字的巨大優(yōu)勢和價值,這些優(yōu)勢與價值主要體現(xiàn)在以下兩個方面。第一、理解更快。大腦處理視覺內(nèi)容的速度往往比文字內(nèi)容快很多,在教學(xué)中,圖可以讓學(xué)生在更短的時間內(nèi)充分掌握知識點,節(jié)省時間,提高上課效率。第二、有助于記憶,減少疲勞。圖是由形狀、色彩、風(fēng)格、形式等多種因素構(gòu)成的,具有獨立的視覺特征,加上本身的形象性、生動性和特有的心理刺激作用,相比于文字而言,最易識別和記憶,而且能從一定程度上避免單調(diào)的文字帶來的疲勞感。
綜上,本文提出一種“知識圖解”的教學(xué)方式。所謂“知識圖解”是指用圖的方式將知識點進行分解,進而講授,使知識點更為直觀易懂,提高教學(xué)效果和學(xué)生知識的吸收效率,同時提高教師的教學(xué)水平和學(xué)生的學(xué)習(xí)能力。下面以《Android應(yīng)用程序設(shè)計》這一課程為例,針對課程的內(nèi)容和教學(xué)目標(biāo),分別談?wù)勚R圖解在理論教學(xué)、實踐編碼教學(xué)和學(xué)習(xí)過程等方面的應(yīng)用與優(yōu)勢,最后闡述“知識圖解”對教師教學(xué)水平與學(xué)生學(xué)習(xí)能力的提升。
計算機程序是指一組計算機能識別和執(zhí)行的指令運行于電子計算機,滿足人們某種需求的信息化工具[4]。因為運行于計算機,因此其基本原理都要依賴于計算機的數(shù)據(jù)結(jié)構(gòu),而數(shù)據(jù)結(jié)構(gòu)較為抽象難懂,教師如果單純地采用文本方式去傳授這一類知識,則學(xué)生們難以理解和吸收,似懂非懂,教學(xué)效果不盡人意;如果這一類問題能夠結(jié)合圖表,采用“知識圖解”的教學(xué)方式,則對于知識點的講授會明朗許多。下面以《Android應(yīng)用程序設(shè)計》中Activity跳轉(zhuǎn)的知識點為例[5],圖1為該知識點的文本描述,圖2和圖3分別表示新Activity的載入過程與返回上一個Activity過程,其中虛線表示下一個過程的步驟。
圖1 Activity的跳轉(zhuǎn)原理文本描述
不難發(fā)現(xiàn),通過圖2和圖3不僅可以清楚詳細(xì)地展示新Activity的載入與上一個Activity返回基本流程,同時也展示了棧的基本原理—先進后出[6]。學(xué)生可以通過圖2和圖3更快更好地理解Activity跳轉(zhuǎn)原理,而且基于圖像會形成更牢固的記憶。如果能夠借助PowerPoint完成流程的動圖,那將會更好地發(fā)揮“知識圖解”的優(yōu)勢。
圖2 新Activity載入基本流程
圖3 返回上一個Activity基本流程
此外,“知識圖解”還適合于程序設(shè)計中技術(shù)和工具較為繁雜的過程,尤其這些技術(shù)和工具是相互聯(lián)系的。例如在《Android應(yīng)用程序設(shè)計》中,要講解Android客戶端與服務(wù)端的數(shù)據(jù)交互問題,其中涉及到技術(shù)與工具眾多,包括Android客戶端、客戶端的通信框架、通信數(shù)據(jù)格式、服務(wù)端服務(wù)器、服務(wù)端開發(fā)語言以及數(shù)據(jù)庫等,如果單純采用文本描述,如圖4所示,則很難梳理清楚服務(wù)端與客戶端的具體操作思路,編碼操作就難以進行,因此考慮將圖4的知識分解為圖5的交互圖。
圖4 Android客戶端與服務(wù)端交互原理描述
圖5 Android客戶端與服務(wù)端交互圖
圖5將所涉及到的每種技術(shù)與工具視為一個實體,用矩形表示,強調(diào)其獨立性,不同實體之間的線條代表實體之間的聯(lián)系,線條箭頭表示其方向,線條旁邊的文本表示實體之間的數(shù)據(jù)流。矩形位置的擺放可清楚地表示出技術(shù)或工具之間的關(guān)系,比如圖5右側(cè)展示了PHP端與數(shù)據(jù)庫是屬于服務(wù)端的。此外,圖5中的標(biāo)注框?qū)懨鲗夹g(shù)實體的補充說明。圖中也采用不同的顏色對不同的類別以示區(qū)分,更有利于學(xué)生對實體進行分門別類,區(qū)分工具與技術(shù),避免出現(xiàn)兩者混淆的情況。
程序設(shè)計類課程的實踐在于根據(jù)語法編寫代碼,以實現(xiàn)目標(biāo)功能。編碼過程中,首先遇到的問題就是開發(fā)工具的相關(guān)設(shè)置,以在Android Studio[7]開發(fā)軟件中SDK的設(shè)置為例,如果要找到SDK的設(shè)置,一般的講授如下:首先在Android Studio左上角點擊“File”,找到“Setting”,選擇“Appearance& Behavior”下面的“Android SDK”,點擊右邊窗口的“SDK Tools”,最后選擇“Documentation for Android SDK”前面的矩形框。如果采用圖的方式,并在關(guān)鍵步驟采用紅色矩形框進行標(biāo)注,如圖6所示,那么學(xué)生對于該功能的設(shè)置一目了然,設(shè)置的速度也會比較快。
圖6 Android Studio中SDK設(shè)置操作圖
當(dāng)新建完一個程序項目后,需要帶領(lǐng)學(xué)生結(jié)合開發(fā)工具去認(rèn)識整個項目的框架,如果僅僅只是打開窗口,指著某一區(qū)域講解其功能和應(yīng)用,則學(xué)生會因為功能區(qū)域過多或記憶不深刻等問題出現(xiàn)認(rèn)識混亂的情況。如果采用圖的方式去講解,那么就可以明顯改善這類問題。下面以Android項目結(jié)構(gòu)講解為例,如圖7所示。
圖7 項目框架分解圖
在圖7中,可以很清楚地明確這個項目在開發(fā)軟件中的結(jié)構(gòu),不同的區(qū)域具有不同的功能,同一區(qū)域具有不同的文件,該圖對功能區(qū)域的功能描述和簡單的操作都進行了詳細(xì)地注釋,對運行和調(diào)試等重要的功能按鈕也都進行標(biāo)注,非常有利于學(xué)生上手項目。
在實踐的項目中,通常會有很多類型的文件需要分別按照指定的語法格式去編寫,而且這些文件之間存在互相調(diào)用的情況,如果項目規(guī)模較大,則代碼看起來會更加復(fù)雜。因此,可結(jié)合“知識圖解”的教學(xué)方法理清文件的來源與文件之間的聯(lián)系,編碼的時候可以針對重要的方法進行適當(dāng)說明,突出展示與講解。圖8為Activity跳轉(zhuǎn)的具體實例的代碼分解圖。
圖8 代碼分解圖
圖8通過矩形框和含雙向箭頭的虛線將Java代碼、布局文件和文件在項目中的位置進行關(guān)聯(lián),學(xué)生們可以很容易看出代碼中引用來源的位置以及代碼文件之間的聯(lián)系,代碼間的調(diào)用有跡可循。同時,對于代碼中比較重要的方法和參數(shù),采用標(biāo)注的形狀進行說明,這樣比直接提供語法的方法屬性列表更為直觀,學(xué)生們對于該方法的使用就會更加順手。通過這樣的代碼分解圖,學(xué)生能夠快速高效地且扎實地掌握相關(guān)的技術(shù)和知識點,正確編寫代碼,而且會進一步提高代碼的解讀能力和編寫速度。
學(xué)習(xí)過程一般是預(yù)習(xí)、上課和復(fù)習(xí)三個環(huán)節(jié),不論是在哪一環(huán)節(jié),老師與學(xué)生對于相關(guān)的專業(yè)知識都應(yīng)該做到胸有大綱。若要對整節(jié)課或整章節(jié)的內(nèi)容做到了然于胸,一般會采用樹狀圖對知識進行梳理,本文要介紹的是一種更為高效的圖,簡單有效,它是一種實用性強的思維工具[8],在程序設(shè)計課程中,可以用來梳理知識點,以《Android應(yīng)用程序設(shè)計》中的《Android多用戶界面程序設(shè)計》一章為例,其思維導(dǎo)圖如圖9所示。
從圖9中可看出本章共3部分,分別用不同顏色的線加以區(qū)分,更容易在學(xué)生的大腦中強調(diào)其獨立性,每一部分都有子主題,每個子主題還可能有更多子主題。通過該圖,學(xué)生在預(yù)習(xí)時可以規(guī)劃自己的本章學(xué)習(xí)計劃,在上課時可以清楚當(dāng)前處于整個知識體系的位置,理清當(dāng)前所學(xué)與前期所學(xué)知識點的關(guān)聯(lián),避免學(xué)習(xí)過程中“只見樹木,不見森林”的問題。在課后,這些知識主干有助于引導(dǎo)學(xué)生去回憶每個主干對應(yīng)的詳細(xì)內(nèi)容,發(fā)散復(fù)習(xí),達(dá)到良好的復(fù)習(xí)效果,學(xué)生也可以在該圖上根據(jù)自己的認(rèn)知進行知識框架的調(diào)整與豐富,為自己所用。
圖9 章節(jié)知識思維導(dǎo)圖
“知識圖解”對于老師的教學(xué)和學(xué)生的學(xué)習(xí)都具有重要的意義。一個知識點如果要分解為圖的形式,必須要對這個知識點有徹底的掌握,才能夠講清楚整個過程。因此,對于教師而言,必須要認(rèn)真?zhèn)湔n,透徹掌握知識點,并且不斷思考如何才能把復(fù)雜的知識點講明白,掌握深入淺出的教學(xué)技能,讓初學(xué)者能夠盡可能吸收新知識,提高學(xué)習(xí)效率,并且能保持長久的學(xué)習(xí)興趣。因此,在“知識圖解”教學(xué)方法的不斷應(yīng)用中,教師可以不斷優(yōu)化自己的教學(xué)方法,非常有利于提高教師的教學(xué)水平。表1來源于所在學(xué)校教務(wù)系統(tǒng),該表展示了上一學(xué)年的學(xué)生對于《Android應(yīng)用程序設(shè)計》課程的教學(xué)評價,包括教學(xué)方法和教學(xué)效果兩方面的評價,其中第2列數(shù)據(jù)為學(xué)生對作者的教學(xué)評價數(shù)據(jù),第3列數(shù)據(jù)表示任同一課程的其他老師的教學(xué)評價數(shù)據(jù)。從表中數(shù)據(jù)可以看出,非常認(rèn)同的比例均高于任此課程的其他老師,一定程度上表明“知識圖解”教學(xué)方法具有一定的優(yōu)勢。
表1 學(xué)生評教數(shù)據(jù)(教學(xué)方法/教學(xué)效果)
對于學(xué)生,“知識圖解”可以更加直觀地將理論知識和實踐操作展示出來,學(xué)生們能夠更快更好地吸收程序語法知識,更好掌握程序設(shè)計的實踐操作,達(dá)到高效學(xué)習(xí)的效果。除此之外,學(xué)生們可以結(jié)合老師課件的圖解材料,掌握知識的圖解方法,提高自己的學(xué)習(xí)能力。對于這門課的課后作業(yè),讓學(xué)生結(jié)合知識圖解的方式去完成,既可以促進他們在完成過程中的思考與總結(jié),而且可以避免抄襲或者缺乏過程的問題。
本文提出一種應(yīng)用于程序設(shè)計類課程的“知識圖解”教學(xué)方法,并結(jié)合《Android應(yīng)用程序設(shè)計》課程說明該方法在理論和實踐學(xué)習(xí)方面的應(yīng)用與優(yōu)勢。綜上所述,該方法既可以將復(fù)雜抽象的理論知識分解為直觀的圖,提高學(xué)生對于理論知識的吸收效果,又可以在實踐教學(xué)中理清項目文件與代碼之間的聯(lián)系,理清代碼的編寫思路,迅速提高代碼解讀能力和編寫速度。在知識圖解的不斷應(yīng)用中,教師可以不斷深化對知識點的理解和吸收,提高自己的專業(yè)素養(yǎng)和教學(xué)水平,深入淺出地傳道授業(yè)解惑;學(xué)生也可以在高效學(xué)習(xí)的過程中,提高自己的學(xué)習(xí)能力。雖然知識圖解優(yōu)勢較多,但是實施耗時長,課程中并非所有的知識點都需要圖解,也并非所有的圖解都需要細(xì)致,這就需要教師結(jié)合實際的教學(xué)內(nèi)容、學(xué)生學(xué)情與學(xué)時進行充分應(yīng)用。如何充分應(yīng)用“知識圖解”的教學(xué)方法,發(fā)揮其最大的優(yōu)勢,這也是下一步需要深入展開的研究內(nèi)容。