本發(fā)明涉及一種編程教學方法,特別是一種通過與使用者互動的情境式編程教學方法。
背景技術:
時至今日,使用程序語言開發(fā)或修改應用軟件是許多行業(yè)的基本工作。尤其面對即將進入的”機器人制造”時代,編程不再是大學生才需面臨的課題,向下(小學)扎根學習編程已經是許多先進國家教育政策的共識。然而,對于幼小學童或初學者來說,編程學習有很大的阻礙。首先,一般程序語言都會以英文單字或特定字符串作為指令或變量來架構程序,對于母語不是英文的學生來說,同時學習編程及英文單字,甚至沒有對照字義的字符串,挫折感高但接受度低。其次,編程注重邏輯性,而這邏輯性要架構在對應用場景的確切理解上,這對幼小學童又是一道高門坎。此外,許多面向對象的程序語言,編程過程中要考慮到許多的接口,甚至是與串連的硬件互動。這種抽象到實體的應用,即便在多次的實作中,也難很快領悟個中訣竅。因此,幼小學童或初學者的編程教學在運作上,一直存在成效不佳的困擾。
除了傳統(tǒng)藉由教科書或上課學習編程外,近來學習的方式變得更加多元。學生可以上網,觀看老師事先預錄的視頻,該視頻中也會加入計算機屏幕的截圖,讓學生同步了解程序代碼及執(zhí)行結果。如此一來,學習時間可以壓縮,并針對不了解的地方反復觀看學習。更進步的學習方式,是可以隨時隨地學習;也就是藉由下載編程學習app,在平板計算機或手機上學習。這種方式不同于觀看視頻,由于平板計算機或手機的屏幕不大,學習的內容要分成許多細項,在不同的窗口及課程中操作,慢慢累積學習成果。這些編程學習app一般還是針對各種語法及指令應用來分章節(jié),其中也有提供整合型的案例參考。這對有心學 習編程的人來說非常方便,但沒辦法解決以上的三個問題,對幼小學童及初學者的學習并沒有幫助。
情境式學習,顧名思義就是在場域中直接觀察并且在交流及互動中來學習各種實際的操作。在許多的教學領域中,情境式學習的效果非常好??上У氖牵诰幊探虒W這方面并沒有相關的應用及發(fā)明成果。本發(fā)明即是引入情境式學習于編程教學的具體研發(fā)成果。
技術實現要素:
本段文字提取和編譯本發(fā)明的某些特點。其它特點將在后續(xù)段落中被揭露。其目的在于在不脫離本發(fā)明構思的前提下,各種的修改及類似的排列均在本發(fā)明的保護范圍內。
為了解決上述的問題,本發(fā)明提供一種情境式編程教學方法,該方法包含步驟:
a、在電子設備的屏幕上提供交互消息框與虛擬對象,其中所述虛擬對象具有可修改的虛擬對象特征;
b、在所述交互消息框中顯示將要進行編程教學的虛擬對象特征的修改說明;
c、在所述交互消息框顯示所述虛擬對象特征的修改程序代碼;
d、由所述虛擬對象顯示所述虛擬對象特征的修改;及
e、在所述交互消息框顯示所述虛擬對象特征的全部或部分的修改程序代碼供學習者進行進一步修改。
在其中一個實施例中,進一步包含一步驟f:
f、由所述虛擬對象顯示所述虛擬對象特征的進一步修改。
在其中一個實施例中,在步驟a之后包含步驟a1,及在步驟e之后包含步驟f1:
a1、提供實體對象,所述實體對象獨立于所述電子設備之外、與所述電子設備無線連接、由所述電子設備控制,并具有與所述虛擬對象特征對應的實體 對象特征;及
f1、由所述實體對象展示對應所述虛擬對象特征的進一步修改的實體對象特征變動。
在其中一個實施例中,所述電子設備包括筆記本電腦、平板計算機或智能型手機。
在其中一個實施例中,所述虛擬對象包括所述實體對象的單一影像、所述實體對象的連續(xù)影像、單一示意圖像,或連續(xù)示意圖像。
在其中一個實施例中,所述修改說明為所有對應虛擬對象特征的修改程序代碼的文字說明。
在其中一個實施例中,步驟a進一步提供情境導引對象。
在其中一個實施例中,所述情境導引對象隨交互消息框中顯示的信息而有不同的顯示態(tài)樣。
在其中一個實施例中,所述顯示態(tài)樣可為單一示意圖像,或連續(xù)示意圖像。
本發(fā)明的有益效果至少包括:
上述通過情境導引對象與交互消息框的文字變化,讓學習者可以很快理解應用場景,了解編程的邏輯性。交互消息框內還可以讓學習者反復熟悉特定的語法、字碼或參數,讓母語不是英文的學習者可以逐漸熟悉編程所使用的特定英文單字或字符串。最后,程序代碼執(zhí)行的接口被簡化,讓學習者不再害怕由抽象到實體的接口應用。
附圖說明
圖1為一個實施例中的情境式編碼教學方法的流程示意圖;
圖2為第一實施例中使用情境式編碼教學方法的行動應用軟件接口操作示意圖;
圖3為第二實施例中使用情境式編碼教學方法的行動應用軟件接口操作示意圖;
圖4為第三實施例中使用情境式編碼教學方法的行動應用軟件接口操作示 意圖;
圖5為第四實施例中使用情境式編碼教學方法的行動應用軟件接口操作示意圖;
圖6為第五實施例中使用情境式編碼教學方法的行動應用軟件接口操作示意圖;
圖7為第六實施例中使用情境式編碼教學方法的行動應用軟件接口操作示意圖;
圖8為第七實施例中使用情境式編碼教學方法的行動應用軟件接口操作示意圖;
圖9為第八實施例中使用情境式編碼教學方法的行動應用軟件接口操作示意圖;
圖10為第九實施例中使用情境式編碼教學方法的行動應用軟件接口操作示意圖;
圖11為第十實施例中使用情境式編碼教學方法的行動應用軟件接口操作示意圖;
圖12為第十一實施例中使用情境式編碼教學方法的行動應用軟件接口操作示意圖;
圖13為第十二實施例中使用情境式編碼教學方法的行動應用軟件接口操作示意圖;
圖14為第十三實施例中使用情境式編碼教學方法的行動應用軟件接口操作示意圖。
具體實施方式
本發(fā)明將參照下述的實施方式而更具體地描述。
請參閱圖1,該圖為一個實施例中的情境式編程教學方法的流程圖。在對該情境式編程教學方法進行進一步的說明前,要說明的是本發(fā)明并無限制應用的程序語言。然而對于效用來說,面向對象程序語言是的較佳的程序語言。目前 有許多已開發(fā)并廣為世人接受的面向對象程序語言,比如java、objectivec、c#、livecode…等,都是本發(fā)明可以應用的程序語言。因為本發(fā)明的重點之一在于提供”情境式編程教學”,這樣可以使幼小學童或初學者更快接受編程課程內容,并樂于學習。因此,具有自然語法(即程序代碼近于一般文字與口語對話表達,便于人們直覺地理解程序代碼內容)的第四代程序語言,比如livecode,是最好的程序語言。在以下實施例中,所有的教學內容皆以livecode語法為例進行說明。
首先,在一個實施例中,s01,情境式編程教學方法在電子設備的屏幕上提供交互消息框與虛擬對象,而前述的虛擬對象具有可修改的虛擬對象特征。為了協助說明,請見圖2。本發(fā)明可通過在電子設備上安裝上述情境式編碼教學方法的程序實現。這里所謂的電子設備可以是筆記本電腦、智能型手機,或是如圖2所示的平板計算機100。當然,電子設備也可以是一臺專門為編程教育而設計,具有交互式屏幕的自定義硬件。由于是在平板計算機100上運作,前述的情境式編碼教學方法相當于行動應用程序(app)。該行動應用程序執(zhí)行后,在觸控屏幕110上顯示交互消息框111與虛擬對象112。交互消息框111內可以顯示配合教學情境的對話,以及編程教學內容,比如程序代碼。學習者也可以透過觸控屏幕110修改某些被容許修改的程序代碼內容,進行互動學習。
在一個實施例中,虛擬對象112是一個會發(fā)各種顏色光的小球,用來顯示教學程序代碼或者學習者修改后的程序代碼的功用(發(fā)出特定顏色的光)。當然,虛擬對象112不限定只能是發(fā)光小球,在其它的實施例中,虛擬對象112可以是一臺音響,接受不同的程序代碼而撥放不同的歌曲;它也可是一個玩具機器人,接受不同的程序代碼而有不同的動作。應用在不同的課程中,虛擬對象112有不同的形態(tài),本發(fā)明并不限定。然而,虛擬對象112一定要具有可修改的虛擬對象特征,這些虛擬對象特征可以依照不同的程序代碼而變化。比如前述的各種光線、不同的歌曲以及玩具機器人的動作,都是虛擬對象特征。
在圖2中,行動應用程序執(zhí)行后還會在觸控屏幕110上顯示其它的對象,諸如”重新開始”按鍵、”discovery”按鍵、情境導引對象113,及情境導引對象 說明框(圖中為顯示情境導引對象113名字”jack”的名字框)。在本實施例中,這些對象中較為重要的是情境導引對象113,情境導引對象113可以隨交互消息框111中顯示的信息而有不同的顯示態(tài)樣。在本實施例中,情境導引對象113是一個兔子圖像,隨著不同的顯示信息而有不同的動作或表情(顯示態(tài)樣),可以引導學習者融入學習課程的情境中。情境導引對象113也可以是不變的背景(顯示態(tài)樣為單一示意圖像),但這樣的學習效果會差一點。當然,顯示態(tài)樣也可以是連續(xù)示意圖像,或者是具有變化背景音樂的連續(xù)示意圖像,這樣的學習效果最好。
在圖2的交互消息框111中顯示”請點擊開始對話”,引導學習者開始學習編程。在學習者點擊交互消息框111后,畫面轉換成圖3所示。從圖3可以發(fā)現,觸控屏幕110上顯示的畫面主要有兩個變化:情境導引對象113的形狀變化以及交互消息框111中顯示文字變?yōu)椤毙∨笥?,你會變rainbow的顏色嗎?”。前者的變化規(guī)則已在前文說明,此處不再贅述。因為交互消息框111的更新文字,學習者漸漸融入教學情境中。通過對任務的認知,學習者會對接著要學習的編程內容有更進一步的理解。
由此開始,啟動第二個步驟:s02,在交互消息框111中顯示將要進行編程教學的虛擬對象特征的修改說明。此處是提供學習者發(fā)光小球(虛擬對象112)的發(fā)光方式。如此,觸控屏幕110上顯示的畫面進一步變成圖4:交互消息框111中的文字則顯示為“請仔細看我對rainbow說了什么?”。
接著,s03,在交互消息框111顯示該虛擬對象特征的修改程序代碼。請見圖5。交互消息框111顯示了讓發(fā)光小球(虛擬對象112)發(fā)紅光的程序代碼”setthecolorofcontrol“rainbow”tored”。(rainbow發(fā)光小球的對象名稱)同時或稍后,在觸控屏幕110上發(fā)光小球(虛擬對象112)由不發(fā)光轉為發(fā)紅光,也就是,s04通過虛擬對象顯示虛擬對象特征的修改。值得說明的是:第一,因為是用于情境教學,程序代碼本身越簡短越好,以凸顯程序代碼中的主要指令或變量的應用。然而,熟悉編程的技術人員都知道,僅憑單一行程序代碼來控制對象的變化是不可能的。光是觸控屏幕110的畫面本身就需要一組以上的接口 及控制邏輯,何況是接口中組件的控制。因此,本發(fā)明是視一組完整程序代碼為輸入,在觸控屏幕110上顯示對應的動作。換句話說,為了將該行程序代碼轉換為實際的虛擬對象112的操作,在行動應用程序背景中需要許多其它程序代碼運作來處理,這是學習者看不到的。然而這些對應的技巧,即一段輸入文字改變接口中的圖像,屬于常規(guī)技術手段,不屬于本發(fā)明的范疇。第二,前述程序代碼的內容讀起來近似口語用法,這也是本發(fā)明利用自然語法的優(yōu)點。當理解應用場景后,記憶相對的程序代碼,能加速幼小學習者或初學者編程學習。
在完成一段程序代碼的學習后,也要讓學習者動手學習。畫面會通過圖6與圖7的交互消息框111文字導引,進入下一階段。s05,在交互消息框111顯示該虛擬對象特征的全部或部分的修改程序代碼,供學習者進行進一步修改()。請見圖8,行動應用程序會將原程序代碼的部分語法、字碼或參數隱藏,讓學習者輸入正確的語法、字碼或參數來執(zhí)行。學習者可以依照前面教學的方式,將red填入底線位置,也可以自行試試其它的參數,比如blue,看看有沒有不同的變化。須強調的是,隱藏的部分語法、字碼及參數是教學的重點,要學習者記憶或應用的部分,必須配合虛擬對象112的虛擬對象特征。如果將與顏色變化無關的語法隱藏,即便學習者輸入正確,最后得到的結果與情境無關,就不符本實施例的宗旨了。
最后,s06,由虛擬對象112顯示該虛擬對象特征的進一步修改。執(zhí)行時可以點擊新出現的執(zhí)行框(內有do文字者)。若如同圖9般輸入red,發(fā)光小球(虛擬對象112)就會發(fā)紅光;若輸入blue,發(fā)光小球也會發(fā)藍光(事先定義)。但如果輸入的參數沒有定義,比如輸入fly,交互消息框111的文字可以顯示諸如”您輸入錯誤參數,請再輸入一次”;交互消息框111也可不做任何反應,直到正確的參數輸入后,才以對應的虛擬對象特征的修改做結束。其做法可以依照不同的設計有不同的變化。在結束一段學習后,交互消息框111的文字可以如同圖11,顯示”小朋友,有沒有把setthecolorofcontrol“rainbow”tored背起來?”等文字,用以激勵幼小學習者與初學者的學習心態(tài)。
在另一實施例中,上述應用可以延伸到實體對象,也就是通過程序代碼控 制實體對象的變化。這樣的作法,會引發(fā)學習者更多的學習興趣。具體的作法,是在前述步驟s01與步驟s02間加入新的步驟:提供實體對象200,該實體對象200獨立于平板計算機111(電子設備)之外、與平板計算機111(電子設備)無線連接、由平板計算機111(電子設備)控制,并具有與虛擬對象特征對應的實體對象特征。這里的實體對象200,配合發(fā)光小球(虛擬對象112),是一個實體發(fā)光球。實體發(fā)光球可以視為一個iot(internetofthings)應用,通過與平板計算機111無線設定,比如bluetooth或wi-fi,與透過特定程序代碼而受其控制。此處,實體對象特征指的是實體對象200可以改變的顏色,而虛擬對象特征指的是虛擬對象112可以改變的顏色。如前所述,要是僅用觸控屏幕110上單一行的程序代碼,是無法對實體發(fā)光球進行發(fā)光控制的,必須要有很多其它硬件的控制程序配合行動應用程序的背景運作邏輯,才能完成這個工作。這種控制硬件的技巧并非特殊技術,一般熟悉硬件控制的技術人員都能針對特殊硬件架構而設計,此處不再贅述。
當如同前一實施例所描述,完成步驟s02到步驟s05后,學習者就可以先在平板計算機111的觸控屏幕110上完成程序代碼學習及模擬操作。依照本發(fā)明的精神,此時要在實體對象上進行程序代碼的實際應用成果展現。因此,原本的步驟s06要修改為:由實體對象200(實體發(fā)光球)展示對應該虛擬對象特征的進一步修改(發(fā)光小球發(fā)光)的實體對象特征變動(實體發(fā)光球發(fā)光)。如圖12所示,當學習者輸入正確的參數并點擊執(zhí)行框,發(fā)光小球并不會變化,新的變化是實體發(fā)光球發(fā)出紅光。
需要說明的是,首先,虛擬對象112可以是實體對象200的單一影像,也可以是該實體對象200的連續(xù)影像(或一段影片)。不強調對應外觀,虛擬對象112可以是單一示意圖像或是連續(xù)的示意圖像。其次,步驟s02中的修改說明為所有對應虛擬對象特征的修改程序代碼的文字說明。關于這一點,可以圖13與圖14來說明。圖13對應圖3,其修改說明就是將所有可以變化的顏色,通通列舉出來,圖14就是相對應的程序代碼。當然,修改說明不限于單一項目或所有項目,任意列舉開發(fā)者想要學習者學習的項目,也在本發(fā)明的應用之列。最后,交互消 息框111可以讓學習者反復熟悉特定的語法、字碼及參數,讓母語不是英文的學習者可以漸次熟悉編程所使用的特定英文單字或字符串,這是學習編程之外的另一個收獲。
本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(read-onlymemory,rom)或隨機存儲記憶體(randomaccessmemory,ram)等。
以上所述實施例的各技術特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術特征所有可能的組合都進行描述,然而,只要這些技術特征的組合不存在矛盾,都應當認為是本說明書記載的范圍。
以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。
符號說明:
100平板計算機;110觸控屏幕;111交互消息框;112虛擬對象;113情境導引物件;200實體對象。