周泰麒
【內容摘要】手機是一把雙刃劍,很多家長對于學生使用手機感到畏懼,通過調查問卷,發現學生認識到手機除了娛樂,還是可以做一些有利于學習的操作。APP Inventor的模塊化程式正好符合了這方面的需求,它的簡便性,易模仿,交互性以及個性化特征能讓學生充分的利用手機在手機編程的世界里探索,深潛,暢游。同時也為手機的合理利用開拓了一條嶄新的道路。
【關鍵詞】APP Inventor 手機 編程 模仿 螺旋式學習
成績下降、近視普遍、性格孤僻、聯網游戲……一提到手機,家長和老師的腦海中就會冒出很多問題。談“機”色變,中小學生使用手機一直是一個家長、老師、學生爭論的話題,使用手機是利大于弊還是弊大于利也是各執一詞。針對中學生手機的使用,我們學校信息組在2017年底制作了一份比較詳細的調查問卷。全校從初一到高一的大部分學生,共1159人參加了這次不記名活動。
調查數據顯示:“有手機的同學”占了80.33%。在“你最近經常用的手機功能”中,“學習”位于倒數第二位,雖然選擇“玩游戲”選項人數在倒數第一位,但也占了400位名額。值得注意的是在“你會不會因為手機使用不當與家長產生過沖突?”調查中,“有時有以及經常有”的人數總數為157人,占到了16.87%。在“你有過因為在手機上花了過多時間,而恨自己自控能力差的想法嗎?”問題中,“從來沒有”的占了42.86%,也就是有一半以上的學生有過“手機造成自己自控能力差的”想法。“你認為使用手機對你的學習產生影響的會是利大于弊的”占到56.82%。
不可否認,雖然家長老師中的絕大多數反對學生使用手機,但是手機是現代人生活不可或缺的必須物品,是連接多媒體與網絡的載體。大信息時代的手機不僅可以讓學生提前了解并步入未來世界,同時也可以為生活中的各種事務帶來便利。那么如何讓學生把手機的時間和精力多用點在刀刃上呢?
一、愛屋及烏,讓學生愛上學習編程
經常看到兩句口號:“真正讓每個學生的頭抬起來”和“老師,請你把身體蹲下來”,就是說要讓全體學生充滿自信,要讓教師放低姿態,在人格上與學生保持平等。但是,常年來教師通常是作為“傳道授業解惑者”的身份出現,而學生們是如此經常地被告知:教師比他們懂得多,厲害得多。程序設計也是一樣,一直被學生以高高在上的姿態仰望著。
App Inventor這個谷歌開發的在線編程系統,拋棄了復雜的程式代碼,使用積木式的堆疊法來完成安卓程式,它就是學生學習編程的“啟蒙老師”。只要使用基本元件例如按鈕、文字輸入輸出即可,像玩積木一樣簡單有趣。將手機與電腦聯接,剛編寫的程序就會出現在您的手機上了。它讓學生很快的掌握基礎的編程方法,并上手使用。它不像我們手機、電腦里的其他程序那樣是一個運作機制不可理解的黑箱系統。App Inventor制作應用程序可以像畫一幅畫或吃一頓飯那樣容易,讓程序設計成為開放式的系統。學生只需在原有程序的基礎上對其做小修小改,就能主動地,富有創造性地編寫出另一個全新的程序。當我們能夠實實在在地,很簡便地為程式增添自己具體想要的功能時,學生腦海中對編寫程序所固有的復雜,深奧,難懂的傳統形象被顛覆了,第一次知道編程也能這么方便,這么有趣。學生對編程從拒絕到愛上就這么簡單。
二、潛移默化,把學生從模仿者轉變為創造者
大清代著名學者紀曉嵐,他從不寫書,只是編書,他認為所有的思想古人都已有了,你只要整理匯編出來就行了。我學習別人的,但最終卻是為了變成自己的。對于普通程序員來說,最大的挫折來自于要輸入代碼以及計算機彈出的各種令人費解的錯誤消息。這種挫折阻礙了很多初學者,讓他們來不及體會解決問題的快樂和那些有趣的邏輯性問題。要成為一名出色的程序員,可能需要幾年的時間。而等到那個時候,你的設想你的靈感早就胎死腹中了。App Inventor可以讓學生從簡單的模仿制作開始,慢慢向功能強大的應用程序進發,任何人都可以創建應用程序。它并不需要你具有多年的編程經驗,所有人都可以通過一些已有的實例來創建自己的應用程序。事實證明,App Inventor大大降低了為安卓手機和設備開發應用的門檻。即便是對于孩子,通過模仿積木塊式的程序結構都可以成功地完成自己的第一個小程序。App Inventor更增加了探索和發現的樂趣:當你掌握了程序的搭建結構,就可以把自己的想法很快的應用到新的程序中去,甚至可以充分的嘗試連接各種傳感器,把生活中你想解決的問題放到編程中來分析來處理。這樣就從模仿悄然轉變成了創新,轉變成了創造。
模仿不是簡單地照搬,模仿是一種綜合,是一種揚棄。有位哲人說:“這個世界上沒有發現,只有找到,因為你發現的東西早已存在那里,你只不過是找到它罷了。”。我學習別人的,但最終卻是為了變成自己的。就好像陽光照耀著樹木,雖然陽光影響著樹木,但是樹木還是以樹木的方式生長一樣。
三、循序漸進,構建學生個性化的應用
用什么樣的方法,才能在最短時間內,最大限度地獲得知識呢?不同的學者有不同的看法和體會。有一種學習方法叫做“螺旋上升的學習法”,就是用一系列的循環知識單元,來代替平鋪直敘的知識積累和闡述。“螺旋上升”式學習,是整體大于各部分總和的循環,需要以前一循環為基礎,而且又使前面的基礎得到豐富和補充。
比如讓學生自己編個“知識問答”的程序中,如何更好的了解需求,分析需求,滿足條件,直到一步步最后完善功能,開發創新。這些都是信息技術老師應該重點指導的方向。當學生拿到一個程序需求的時候,第一步,要把功能與實際界面結合起來,“知識問答”的編程需求是:屏幕初始化的時候首先出現第一個題目的題干,使用者在文本輸入框內輸入正確答案,點擊提交按鈕,即刻出現反饋文本:“正確”或者“錯誤”。然后再點“下一題”按鈕進入第二題的問答。考慮到學生的理解狀況,在一開始并沒有直接引入陌生的列表概念,首先讓學生用最方便理解的方式嘗試編寫程序,學生第一個想到的就是在初始化的時候出現第一個題目,然后在“提交”按鈕上判斷用戶輸入答案和正確答案是否相同,相同則顯示正確,反之為錯誤。
這個代碼每個學生都能看懂,涉及到了“提交按鈕”以及“下一題按鈕”,大部分同學認為是一個可行的方案。但是,這時候問題就出現了,“提交按鈕”在第二題出現后該怎么處理?能重復插入同一個按鈕嗎?顯然不行,通過自我嘗試,學生了解到現有知識的瓶頸,這時候適時可以引出列表的概念。跟學生解釋,如果說單個變量可以比喻成一個水杯的話,那么列表就是一個旅館,每個房間里都能存放物件,這樣一來,就完美得解決了多個題目、答案的同時存儲和調用。通過把列表與原來程序塊里的題目文本進行替換,一個新的可以運行下去的程序就誕生了。
當然,普通水平的學生到此時已經學到了本節課的內容,但因為程序設計課程往往學生之間的差距會比較大,所以如何考慮學習能力強的學生能夠“吃飽”,是每堂課必須考慮的問題。此時我就在園區易加互動平臺上讓學生去考慮還能怎樣完善自己的程序。當學生已經完成了前面的既定目標以后,就能繼續研究下一節課的內容,在“按鈕的屬性”,“題目的得分”以及“重置按鈕”的設置上開始新的探索。
經過一階段“螺旋式學習”,使基本編程知識得到掌握,模塊化使用得到加強, 疑難問題得到解釋,設想得到實現和完善。同時還了解了與所學內容有關的知識領域,領略了所學知識的概貌。在新一輪的循環學習中,又會遇到新的概念、新的問題。再以此為新的起點,進一步循環。
四、各抒己見,讓手機成為學生學習的幫手
手機與學習終究不應該是對立的,就像電腦和學習的關系一樣,他們都只是一個工具。只要你能充分了解學生的需求,能把學生感興趣的點以及學習的需求做相應的結合,可以說是在寓教于樂中將編程的各種概念潛移默化的滲透到模塊化編程的過程中,在玩中學,在學中玩,將平時的生活難題,學習難題用手機編程來嘗試解決。這樣就能更好的整理學習的思路,調整學習的方向,糾正學習中的錯誤,引導學生利用現代化的設備去完成枯燥的學習任務,去探索自己感興趣的未來的方向。有很多對游戲感興趣的學生自己嘗試用APPInventor編寫出了“貪吃蛇”、“家務分配器”、“石頭剪刀布”、“走迷宮”等好玩的手機游戲。
古人說云:“臨淵羨魚,不如歸家織網”。我想說:“娛樂游戲,不如自己編程”。只要你將自己與手機的關系理清楚,不但不會亂,反而會讓你的生活充滿更多有序的層次,為你的未來鋪設一條沿途都是美麗風景的信息高速公路!
(作者單位:蘇州工業園區星海實驗中學)