公務(wù)員期刊網(wǎng) 論文中心 正文

層層遞進學(xué)生建構(gòu)項目式程序設(shè)計

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了層層遞進學(xué)生建構(gòu)項目式程序設(shè)計范文,希望能給你帶來靈感和參考,敬請閱讀。

層層遞進學(xué)生建構(gòu)項目式程序設(shè)計

摘要:以AppInventor設(shè)計電子相冊為例,對層層遞進引導(dǎo)學(xué)生建構(gòu)項目程序設(shè)計展開分析。根據(jù)《中小學(xué)信息技術(shù)指導(dǎo)綱要》的課程標準,結(jié)合AppInventor的教學(xué)特點構(gòu)建了任務(wù)分解、逐個突破、不斷完善的項目式教學(xué)模式。分析了項目式教學(xué)模式的基本思路,并結(jié)合實例介紹了具體的應(yīng)用策略,總結(jié)了該教學(xué)模式的研究成效,發(fā)現(xiàn)通過層層遞進的教學(xué)模式能夠引導(dǎo)學(xué)生發(fā)現(xiàn)程序設(shè)計的樂趣,提升學(xué)生的邏輯思維能力。

關(guān)鍵詞:層層遞進;項目式;程序設(shè)計;AppInventor;電子相冊

1AppInventor應(yīng)用現(xiàn)狀

自20世紀50年代匯編語言誕生以來,程序設(shè)計語言的發(fā)展就伴隨著計算機硬件的發(fā)展而不斷提升和變化,目前已經(jīng)誕生了幾百種高級語言。雖然程序設(shè)計的核心思想沒有變化,但方式已經(jīng)拓展成為了可視化、模塊化、圖形化的編寫。目前,移動終端市場的操作系統(tǒng)主要為IOS和Android,而安卓系統(tǒng)憑借其開放性的優(yōu)勢已經(jīng)占據(jù)了越來越多的市場份額。其中的AppInventor以其可視化、模塊化和簡便化等特征讓缺少編程經(jīng)驗的青少年可以輕松進入安卓的編程世界。AppInventor在實現(xiàn)功能較為復(fù)雜的作品時,對于學(xué)生編程思維和編程能力的要求較高。因此,需在實際教學(xué)中嘗試把大型作品進行分解,把具體的代碼模塊學(xué)習(xí)融入到每個分項目中去,在保持作品完整性的同時降低學(xué)習(xí)難度,增加程序編寫的操作性和理解性。

2AppInventor項目式作品開發(fā)的基本思路

教師利用AppInventor程序設(shè)計的便捷性和開放性來讓學(xué)生通過模仿、調(diào)試、分享、改進、創(chuàng)新、完善等步驟逐步設(shè)計作品,培養(yǎng)了學(xué)生學(xué)習(xí)程序設(shè)計的興趣和能力。一般程序設(shè)計的步驟主要包括分析問題、設(shè)計算法、編寫程序、運行程序、分析結(jié)果。教師可在學(xué)生學(xué)習(xí)AppInventor程序設(shè)計的過程中重點強調(diào)需求分析、界面設(shè)計、模塊連接、調(diào)試運行等步驟,對于程序語言編輯和算法思路的設(shè)計可以先不做過高要求,同時還要注意將語句學(xué)習(xí)融入到作品不斷升級完善的過程中去。

3層層遞進引導(dǎo)學(xué)生建構(gòu)項目式程序設(shè)計在AppInventor設(shè)計電子相冊中的應(yīng)用

層層遞進引導(dǎo)學(xué)生建構(gòu)項目式程序設(shè)計需要在教學(xué)實踐過程中提前設(shè)計好教學(xué)方案和詳細操作步驟,要根據(jù)不同的學(xué)習(xí)主題和內(nèi)容進行靈活變動,以達到教學(xué)目標。

3.1搭建基本框架,完成電子相冊初級版本

電子相冊的初級版本是點擊按鈕顯示一張與其所對應(yīng)的照片,如果能夠在顯示照片的同時出現(xiàn)歡迎語,則整個界面會更加友好。根據(jù)這一思路,完成電子相冊App1.0版本需要按鈕組件、圖像組件和標簽組件,并調(diào)用“當按鈕被點擊”與“顯示圖片”的代碼。在開始程序設(shè)計前,需要完成需求分析,并通過教師與學(xué)生的討論來完成相冊流程圖。流程圖是實現(xiàn)程序設(shè)計的基本依據(jù),流程圖的質(zhì)量直接決定了程序的質(zhì)量,需要學(xué)生認真完成。完成流程圖之后,可以開始程序界面的設(shè)計,這時,可以讓學(xué)生發(fā)揮創(chuàng)意,設(shè)計出不同的相冊界面。完成組件的布局后,要分別設(shè)置其特有的屬性,可通過組件屬性面板并按照App的實際需求來進行設(shè)置與修改,如圖1所示。設(shè)置好組件的屬性后,進入邏輯設(shè)計環(huán)節(jié)。在電子相冊1.0版本中,主要是實現(xiàn)點擊按鈕顯示圖片這一功能??蓡螕暨壿嬙O(shè)計按鈕切換到程序設(shè)計視圖進行代碼編寫,邏輯代碼如圖2所示。完成美麗校園App1.0版本的設(shè)計后,可以在模擬器中完成調(diào)試和修改,有了這個基礎(chǔ)版本的電子相冊,學(xué)生可以在此基礎(chǔ)上不斷升級,讓電子相冊功能更強大,或者是設(shè)置獨具特色的相冊。

3.2加入翻頁按鈕,讓電子相冊活動起來

通過點擊單個按鈕來顯示相應(yīng)圖片雖然比較直觀,但如果圖片數(shù)量較多,則需要布置同樣數(shù)量的按鈕,這既不利于布局,又不利于代碼的學(xué)習(xí)和提高。因此,可以參考將圖片瀏覽軟件中的翻頁功能加入進來,以完成電子相冊2.0版本的制作。在開始設(shè)計之前,同樣需要繪制流程圖。由于2.0版本加入了翻頁功能,相應(yīng)的界面頁發(fā)生了變動,組件屬性可以參考圖3。翻頁功能是相冊2.0版本的關(guān)鍵,可以引導(dǎo)學(xué)生通過理解頁碼加減來理解翻頁。要實現(xiàn)加減就需要引入全局變量、取變量值和合并文本等控件,具體的邏輯設(shè)計可以參考圖4。實現(xiàn)翻頁的邏輯代碼不止一種,可以提示學(xué)生嘗試用不同的代碼來實現(xiàn),比如文本、列表等,關(guān)鍵是引入可以表示頁碼的代碼,實現(xiàn)頁碼的變換。隨后,可以在模擬器上完成調(diào)試和修改,加上了翻頁功能的電子相冊會變得更加完善。

3.3添加自動瀏覽,完善電子相冊整體功能

增加了翻頁功能后,用戶可以通過點擊上下頁按鈕來瀏覽圖片,如果此時想要點擊按鈕來實現(xiàn)自動瀏覽圖片的功能,就要引入新的控件,這對于程序設(shè)計又提出了新的挑戰(zhàn)。要想實現(xiàn)自動瀏覽功能,就需要在界面設(shè)計中添加非可視組件計時器,利用計時器組件的自動計時功能來實現(xiàn)順序播放。要想實現(xiàn)自動瀏覽需要解決兩個問題,一是怎樣讓變量按照順序依次變換,二是當圖片播放到最后一張時怎么重頭開始播放。要實現(xiàn)這兩個要點并不困難,前者可以利用相冊2.0版本中的語句,只是現(xiàn)在需要將此語句連接到計時器中去,而后者則可以增加如果控件,讓程序運行到最后一張時執(zhí)行回到第一張的語句。至此,電子相冊已經(jīng)完成了三個不同的版本,后續(xù)還可以在前面的基礎(chǔ)上增加不同的功能,比如直接跳轉(zhuǎn)至某一頁的照片、添加背景音樂、展示多個圖片,等等。同樣的主題會隨著功能的不斷變換和完善而制作出不同的電子相冊,而要想實現(xiàn)不同的功能自然會運用到不同的控件和語句。隨著學(xué)習(xí)的不斷深入,學(xué)生在制作出功能各異的電子相冊的同時也增強了邏輯思維和編程能力。

4AppInventor項目式教學(xué)的研究成效

由于計算機程序設(shè)計需要較強的邏輯思維能力、語言表達能力和英語理解能力,大學(xué)生在學(xué)習(xí)過程中尚存在較大難度,對中小學(xué)生而言更是難上加難,而且傳統(tǒng)的先講解理論再實踐操作的教學(xué)方法也無法取得較好的教學(xué)效果。但幸運的是,現(xiàn)在的編程軟件在不斷更新變化,給程序設(shè)計教學(xué)帶來了新的教學(xué)思路,能夠與層層遞進項目式教學(xué)模式相結(jié)合,使學(xué)生在學(xué)習(xí)程序設(shè)計時更具有操作性和探究性,能夠聯(lián)系生活實際,進而培養(yǎng)學(xué)生解決實際問題的能力。

4.1以項目為主體畫出思維導(dǎo)圖,培養(yǎng)任務(wù)分解能力

學(xué)生在解決綜合性問題時,往往會手足無措,因此,教師要幫助學(xué)生提高任務(wù)分解的能力,把一個大項目分解成若干個小項目。以電子相冊為例,可利用思維導(dǎo)圖的形式嘗試把項目的完成步驟分解為流程圖、界面設(shè)計、組件設(shè)置、邏輯設(shè)計等幾大塊,然后再把大塊內(nèi)容細化,如圖5所示。完成任務(wù)分解圖后,嘗試按照詳圖一步步完成每個分項目,然后將分項目組合起來,完成整個項目的制作。按照“整體-局部-整體”的完成思路,不僅可以提高學(xué)生完成項目的能力,而且可以讓學(xué)生思考整體和局部之間的關(guān)系,提高學(xué)生從全局考慮問題的能力。

4.2以控件設(shè)計為載體,培養(yǎng)學(xué)生的編程能力

程序設(shè)計是通過特定計算機語言解決具體問題的過程。在進行程序設(shè)計的過程中有一個重要的環(huán)節(jié),就是將問題通過算法的形式表述出來。在沒有可視化的控件作為設(shè)計載體之前,算法的理解和表達給學(xué)生的學(xué)習(xí)帶來了很大困難,而現(xiàn)在借助AppInventor的直觀設(shè)計環(huán)境,學(xué)生可以從簡單的程序開始,先不斷添加新的控件和功能,然后再通過理解控件之間的邏輯關(guān)系來逐步提高程序設(shè)計能力。同樣是實現(xiàn)圖片展示功能,方法是多種多樣的,比如直接設(shè)定語句,或先設(shè)置列表再選擇,或用隨機數(shù)來實現(xiàn)。

4.3不斷完善和創(chuàng)新項目,培養(yǎng)學(xué)生的創(chuàng)新能力

從相冊1.0版本更新到相冊3.0版本的過程中涉及了不同的設(shè)計思路,應(yīng)用了不同的控件和語句,使學(xué)生思考如何在同一主題的情況下實現(xiàn)不同的功能。在教師和學(xué)生、學(xué)生和學(xué)生的交流過程中,學(xué)生的創(chuàng)新能力得到了鍛煉。按照這樣的教學(xué)任務(wù)設(shè)計思路,還可以做出同一主題、不同設(shè)計思路的特色作品,比如畫圖板App、計算器App、找不同游戲App,等等,每一個App都可以按照從基礎(chǔ)功能到綜合功能的思路來進行制作,讓學(xué)生在不斷豐富完善App功能的過程中提升程序設(shè)計能力。

5反思

程序設(shè)計的過程是先將現(xiàn)實中的問題用算法描述出來,然后再將算法轉(zhuǎn)為相關(guān)的程序設(shè)計語言,最后再通過計算機執(zhí)行相關(guān)語句來實現(xiàn)。利用可視化的軟件來編輯程序會更接近學(xué)生在生活中的思維方式。為了進一步降低編程的難度,引導(dǎo)學(xué)生完成程序設(shè)計,在實際教學(xué)中設(shè)計了層層遞進的項目式教學(xué)方法,并將其運用到了AppInventor程序設(shè)計的過程中,讓學(xué)生在學(xué)習(xí)的過程中能夠體會到編程所帶來的樂趣。但在教學(xué)過程中也暴露出了不少問題,比如怎樣更好地提升學(xué)生團隊合作的能力,怎樣將模塊化編輯和代碼編輯緊密聯(lián)系起來,怎樣提升學(xué)生對于程序設(shè)計的理解,等等。在后續(xù)的教學(xué)中,將繼續(xù)以層層遞進的項目式教學(xué)法為主線不斷更新和完善教學(xué)過程,增強各個項目的延續(xù)性,培養(yǎng)學(xué)生的邏輯思考能力。

作者:張遹東 單位:杭州師范大學(xué)東城實驗學(xué)校