利用GUI編程提高學(xué)生編程興趣及其實(shí)施方案
發(fā)布時(shí)間:2018-06-21 來(lái)源: 感悟愛(ài)情 點(diǎn)擊:
摘 要 論述利用GUI編程提高學(xué)生編程興趣的必要性,討論GUI編程在提高學(xué)生編程興趣中的重要作用,并以MATLAB語(yǔ)言為例,詳細(xì)給出通過(guò)GUI編程提高學(xué)生編程興趣的具體的實(shí)施方案。
關(guān)鍵詞 GUI編程;MATLAB;編程能力
中圖分類(lèi)號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1671-489X(2016)24-0136-03
1 引言
隨著數(shù)字時(shí)代[1]、物聯(lián)網(wǎng)世界的到來(lái)[2],大數(shù)據(jù)[3]、云計(jì)算[4]、人工智能[5]等技術(shù)正在發(fā)揮越來(lái)越重要的作用。這些技術(shù)的實(shí)現(xiàn)都依靠一個(gè)共同的手段——編程。編寫(xiě)程序的能力是大學(xué)生職業(yè)發(fā)展最重要的能力之一,尤其是對(duì)于理工科學(xué)生來(lái)說(shuō)更是如此。如今人們的衣食住行等都離不開(kāi)手機(jī)和電腦,手機(jī)和電腦的功能正是通過(guò)安裝在其上的應(yīng)用程序來(lái)實(shí)現(xiàn)的。此外隨著機(jī)器人技術(shù)的逐步發(fā)展,將來(lái)一些常見(jiàn)的、重復(fù)性的工作將逐漸被機(jī)器人所取代,而機(jī)器人的控制正是通過(guò)編程來(lái)進(jìn)行。未來(lái),隨著機(jī)器人的不斷普及,可以預(yù)見(jiàn)到,編程將成為人們普遍需要具備的能力之一[6]。
編程能力的重要性不言而喻,但是學(xué)好編程卻不是一件容易的事情。不少大學(xué)生一提到編程就頭痛,一上編程課就雙眼迷茫、腦袋昏沉、呵欠不斷,就是提不起興趣來(lái)。其最主要的原因在于:學(xué)生普遍覺(jué)得編程太過(guò)抽象和單調(diào),由于大多數(shù)教師覺(jué)得對(duì)于學(xué)生來(lái)說(shuō),GUI(Graphical User Interface,圖形用戶(hù)界面)編程太難,上課時(shí)盡量避免講授,學(xué)生一般只能接觸到控制臺(tái)程序的編寫(xiě),只能通過(guò)冰冷的屏幕查看結(jié)果,而不會(huì)自己編寫(xiě)界面實(shí)現(xiàn)友好的人機(jī)交互,提高編程的成就感,從而激發(fā)學(xué)習(xí)的興趣。為此,本文將重點(diǎn)討論GUI編程在提高學(xué)生編程興趣中的重要作用,以及介紹在MATLAB中GUI編程的具體實(shí)施方案。
2 GUI編程在提高學(xué)生編程興趣中的重要作用
常規(guī)的編程教學(xué)中,教師在講授編程時(shí)總是先講授該編程語(yǔ)言中的各種數(shù)據(jù)類(lèi)型的定義、流程控制語(yǔ)句的用法、函數(shù)的編寫(xiě)、類(lèi)的實(shí)現(xiàn)等,最后再講授一些實(shí)際的例子,告訴學(xué)生怎么運(yùn)用該編程語(yǔ)言解決實(shí)際問(wèn)題。這一比較傳統(tǒng)的教學(xué)過(guò)程,雖然比較符合由易到難的教學(xué)規(guī)律,但是往往與程序員實(shí)際的編程步驟不一致。一個(gè)資深的程序員在編寫(xiě)一個(gè)面向?qū)嶋H應(yīng)用的軟件時(shí),往往是從軟件的前端界面、后臺(tái)負(fù)責(zé)功能實(shí)現(xiàn)的源碼、前端界面與后臺(tái)的連接等三方面來(lái)考慮。如果學(xué)生不能夠站在一個(gè)程序員的角度來(lái)理解軟件編寫(xiě)的具體實(shí)現(xiàn)過(guò)程,對(duì)于在未來(lái)工作中編程能力的提高、與其他程序的相互協(xié)作以及職業(yè)的發(fā)展將極為不利。
因此,在編程教學(xué)中,在課程的開(kāi)始階段就應(yīng)當(dāng)以一個(gè)簡(jiǎn)單而實(shí)際的例子向?qū)W生展示前端界面設(shè)計(jì)、后臺(tái)源碼編寫(xiě)等兩個(gè)步驟的具體實(shí)現(xiàn),使學(xué)生對(duì)如何編寫(xiě)一個(gè)具體的軟件建立清晰的思路。在接下來(lái)的授課中,再按照上述的2個(gè)步驟具體講授這2個(gè)部分的具體編程實(shí)現(xiàn)。通過(guò)這樣的方式,使學(xué)生明白在編程課程上到底要學(xué)些什么,到底要達(dá)到什么樣的目標(biāo)。學(xué)生只有明白了要做什么,用什么來(lái)實(shí)現(xiàn)這些目標(biāo),才能夠激發(fā)起學(xué)習(xí)的熱情和興趣。如果一上來(lái)就開(kāi)始講授各種編程的語(yǔ)法和命令,學(xué)生往往充滿(mǎn)疑惑,不知道為什么要學(xué)這些語(yǔ)法和命令,也不知道這些語(yǔ)法和命令在具體的軟件實(shí)現(xiàn)過(guò)程中到底有什么用,從而缺乏學(xué)習(xí)的動(dòng)力和毅力,甚至剛開(kāi)始就放棄編程的學(xué)習(xí)。
3 通過(guò)GUI編程激發(fā)學(xué)生編程興趣的具體實(shí)施方案
接下來(lái),將以利用MATLAB語(yǔ)言編寫(xiě)一個(gè)多功能的計(jì)算器為例,描述通過(guò)GUI編程激發(fā)學(xué)生學(xué)習(xí)興趣的具體實(shí)施方案。首先,在教學(xué)開(kāi)始時(shí)需向?qū)W生表明,本次教學(xué)的主要目的是通過(guò)MATLAB中的GUI編程實(shí)現(xiàn)一個(gè)多功能計(jì)算器。該計(jì)算器與常用的計(jì)算器的界面相似,但是除了常用的計(jì)算器所具有的功能外,還可以具有繪制函數(shù)圖形的功能,以此激發(fā)學(xué)生的好奇心,吸引學(xué)生的注意力。然后向?qū)W生提出問(wèn)題:要實(shí)現(xiàn)這個(gè)多功能的計(jì)算器需要哪些步驟呢?通過(guò)與學(xué)生的問(wèn)答互動(dòng),引導(dǎo)學(xué)生意識(shí)到要實(shí)現(xiàn)這樣一個(gè)多功能計(jì)算器,主要步驟包括:1)前端界面設(shè)計(jì);2)后端源碼實(shí)現(xiàn)。隨后按照下述方式分別給出兩個(gè)步驟的具體實(shí)現(xiàn)過(guò)程。
前端界面的設(shè)計(jì) 在MATLAB207a的命令窗口中輸入命令guide,按回車(chē)后將彈出圖1所示對(duì)話(huà)框。
在主菜單欄中共有兩個(gè)選項(xiàng):Create New GUI,創(chuàng)建新的GUI;Open Existing GUI,打開(kāi)已經(jīng)存在的GUI。這里選擇創(chuàng)建新的GUI,在該菜單欄下有4個(gè)子菜單。由于需要?jiǎng)?chuàng)建一個(gè)多功能的計(jì)算器,所以選擇Blank GUI(Default),
空白的GUI(默認(rèn))。點(diǎn)擊OK后則彈出圖2。在圖2中主要包含內(nèi)置控件區(qū)、界面布局區(qū)。
從內(nèi)置控件區(qū)選擇需要的控件,拖放到界面布局區(qū),可以完成前端界面端的布局,如圖3所示。該界面的設(shè)計(jì)思路是:最上面的白色矩形區(qū)域是繪圖區(qū)域,綠色區(qū)域是計(jì)算結(jié)果展示區(qū)域,在兩個(gè)窗口的下方則是功能按鍵區(qū)。
后臺(tái)源碼的編寫(xiě) 多功能計(jì)算器的原理是當(dāng)按下某個(gè)功能按鈕后則執(zhí)行對(duì)應(yīng)的功能。在前面的步驟中已經(jīng)繪制出界面中的各個(gè)功能按鈕,剩下的工作則是通過(guò)后臺(tái)源碼的編寫(xiě)實(shí)現(xiàn)每個(gè)按鍵的功能。
MATLAB中通過(guò)每個(gè)控件的回調(diào)函數(shù)來(lái)實(shí)現(xiàn)每個(gè)按鍵的具體功能。先選中需要實(shí)現(xiàn)其功能的按鈕,然后點(diǎn)擊右鍵,選擇View Callbacks選項(xiàng)中的callbakc則跳轉(zhuǎn)到該按鍵的回調(diào)函數(shù)的編寫(xiě)處。在此處編寫(xiě)相應(yīng)的代碼,實(shí)現(xiàn)該按鍵的功能。重復(fù)此步驟,完成所有按鍵的回調(diào)函數(shù)的編寫(xiě)。點(diǎn)擊運(yùn)行按鈕后則會(huì)彈出多功能計(jì)算器的操作界面。
在該計(jì)算器可以繪制一些簡(jiǎn)單函數(shù)的圖形。在圖4中同時(shí)繪制出正弦函數(shù)和余弦函數(shù)的圖象。同時(shí),該多功能計(jì)算器還具有一般計(jì)算器所具有的常見(jiàn)功能。
最后總結(jié)通過(guò)GUI編程實(shí)現(xiàn)一個(gè)多功能計(jì)算器的過(guò)程,并向?qū)W生拋出問(wèn)題:前端界面編寫(xiě)和后臺(tái)源碼實(shí)現(xiàn)需要具有哪些編程知識(shí)呢?通過(guò)與學(xué)生之間的提問(wèn)和回答,引導(dǎo)學(xué)生明白:在編程的學(xué)習(xí)中要重點(diǎn)搞清楚該語(yǔ)言中的數(shù)據(jù)類(lèi)型,實(shí)現(xiàn)流程的控制的基本方法,軟件的每個(gè)功能都是通過(guò)對(duì)應(yīng)的函數(shù)來(lái)實(shí)現(xiàn)的;等等。這樣學(xué)生自然就明白在隨后的、深入的編程學(xué)習(xí)中要重點(diǎn)學(xué)習(xí)該語(yǔ)言中基本的數(shù)據(jù)類(lèi)型、流程控制語(yǔ)句的用法以及函數(shù)的實(shí)現(xiàn)等內(nèi)容,就明確了學(xué)習(xí)的目的,做到有的放矢,激發(fā)學(xué)習(xí)的熱情。
4 總結(jié)
本文首先重點(diǎn)討論了利用GUI編程提高學(xué)生編程興趣的必要性。隨著物聯(lián)網(wǎng)技術(shù)、大數(shù)據(jù)技術(shù)、云計(jì)算技術(shù)以及人工智能技術(shù)的迅猛發(fā)展,可以預(yù)見(jiàn)到編程能力在人們的日常生活以及工作中將越來(lái)越重要,編程能力將成為大學(xué)生尤其是理工科大學(xué)生需要掌握的一種核心能力。利用GUI編程可以提升剛開(kāi)始接觸編程的學(xué)生的興趣,明確學(xué)習(xí)編程的目的和具體步驟,增強(qiáng)學(xué)習(xí)的信心。此外,本文以MATLAB語(yǔ)言為例,給出通過(guò)GUI編程激發(fā)學(xué)生學(xué)習(xí)興趣的具體方案。通過(guò)GUI編程實(shí)現(xiàn)一個(gè)多功能計(jì)算器,從而起到拋磚引玉的目的,激發(fā)學(xué)習(xí)編程的熱情。
參考文獻(xiàn)
[1]于穎,解月光.數(shù)字智慧:數(shù)字時(shí)代學(xué)生必備素養(yǎng)[J].電化教育研究,2016(3):13-19.
[2]田野,袁博,李廷力.物聯(lián)網(wǎng)海量異構(gòu)數(shù)據(jù)存儲(chǔ)與共享策略研究[J].電子學(xué)報(bào),2016,44(2):247-257.
[3]郭兵,李強(qiáng),段旭良,等.個(gè)人數(shù)據(jù)銀行:一種基于銀行架構(gòu)的個(gè)人大數(shù)據(jù)資產(chǎn)管理與增值服務(wù)的新模式[J].計(jì)算機(jī)學(xué)報(bào),2016(39):1-19.
[4]黃少榮.云計(jì)算時(shí)代技術(shù)技能型IT人才培養(yǎng)模式研究[J].計(jì)算機(jī)教育,2015(6):12-15.
[5]陳愛(ài)斌,蔡自興,李建軍.林業(yè)院校人工智能課程教學(xué)的思考[J].計(jì)算機(jī)教育,2016(10):80-82.
[6]丁衛(wèi)平,陳建平,管致錦,等.以程序設(shè)計(jì)課程群實(shí)踐教學(xué)改革為契機(jī),培養(yǎng)地方普通本科院校學(xué)生編程創(chuàng)新能力[J].計(jì)算機(jī)教育,2009(20):10-13.
相關(guān)熱詞搜索:編程 實(shí)施方案 提高學(xué)生 興趣 利用
熱點(diǎn)文章閱讀