前言:想要寫(xiě)出一篇引人入勝的文章?我們特意為您整理了層層遞進(jìn)學(xué)生建構(gòu)項(xiàng)目式程序設(shè)計(jì)范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。
摘要:以AppInventor設(shè)計(jì)電子相冊(cè)為例,對(duì)層層遞進(jìn)引導(dǎo)學(xué)生建構(gòu)項(xiàng)目式程序設(shè)計(jì)展開(kāi)分析。根據(jù)《中小學(xué)信息技術(shù)指導(dǎo)綱要》的課程標(biāo)準(zhǔn),結(jié)合AppInventor的教學(xué)特點(diǎn)構(gòu)建了任務(wù)分解、逐個(gè)突破、不斷完善的項(xiàng)目式教學(xué)模式。分析了項(xiàng)目式教學(xué)模式的基本思路,并結(jié)合實(shí)例介紹了具體的應(yīng)用策略,總結(jié)了該教學(xué)模式的研究成效,發(fā)現(xiàn)通過(guò)層層遞進(jìn)的教學(xué)模式能夠引導(dǎo)學(xué)生發(fā)現(xiàn)程序設(shè)計(jì)的樂(lè)趣,提升學(xué)生的邏輯思維能力。
關(guān)鍵詞:層層遞進(jìn);項(xiàng)目式;程序設(shè)計(jì);AppInventor;電子相冊(cè)
1AppInventor應(yīng)用現(xiàn)狀
自20世紀(jì)50年代匯編語(yǔ)言誕生以來(lái),程序設(shè)計(jì)語(yǔ)言的發(fā)展就伴隨著計(jì)算機(jī)硬件的發(fā)展而不斷提升和變化,目前已經(jīng)誕生了幾百種高級(jí)語(yǔ)言。雖然程序設(shè)計(jì)的核心思想沒(méi)有變化,但方式已經(jīng)拓展成為了可視化、模塊化、圖形化的編寫(xiě)。目前,移動(dòng)終端市場(chǎng)的操作系統(tǒng)主要為IOS和Android,而安卓系統(tǒng)憑借其開(kāi)放性的優(yōu)勢(shì)已經(jīng)占據(jù)了越來(lái)越多的市場(chǎng)份額。其中的AppInventor以其可視化、模塊化和簡(jiǎn)便化等特征讓缺少編程經(jīng)驗(yàn)的青少年可以輕松進(jìn)入安卓的編程世界。AppInventor在實(shí)現(xiàn)功能較為復(fù)雜的作品時(shí),對(duì)于學(xué)生編程思維和編程能力的要求較高。因此,需在實(shí)際教學(xué)中嘗試把大型作品進(jìn)行分解,把具體的代碼模塊學(xué)習(xí)融入到每個(gè)分項(xiàng)目中去,在保持作品完整性的同時(shí)降低學(xué)習(xí)難度,增加程序編寫(xiě)的操作性和理解性。
2AppInventor項(xiàng)目式作品開(kāi)發(fā)的基本思路
教師利用AppInventor程序設(shè)計(jì)的便捷性和開(kāi)放性來(lái)讓學(xué)生通過(guò)模仿、調(diào)試、分享、改進(jìn)、創(chuàng)新、完善等步驟逐步設(shè)計(jì)作品,培養(yǎng)了學(xué)生學(xué)習(xí)程序設(shè)計(jì)的興趣和能力。一般程序設(shè)計(jì)的步驟主要包括分析問(wèn)題、設(shè)計(jì)算法、編寫(xiě)程序、運(yùn)行程序、分析結(jié)果。教師可在學(xué)生學(xué)習(xí)AppInventor程序設(shè)計(jì)的過(guò)程中重點(diǎn)強(qiáng)調(diào)需求分析、界面設(shè)計(jì)、模塊連接、調(diào)試運(yùn)行等步驟,對(duì)于程序語(yǔ)言編輯和算法思路的設(shè)計(jì)可以先不做過(guò)高要求,同時(shí)還要注意將語(yǔ)句學(xué)習(xí)融入到作品不斷升級(jí)完善的過(guò)程中去。
3層層遞進(jìn)引導(dǎo)學(xué)生建構(gòu)項(xiàng)目式程序設(shè)計(jì)在AppInventor設(shè)計(jì)電子相冊(cè)中的應(yīng)用
層層遞進(jìn)引導(dǎo)學(xué)生建構(gòu)項(xiàng)目式程序設(shè)計(jì)需要在教學(xué)實(shí)踐過(guò)程中提前設(shè)計(jì)好教學(xué)方案和詳細(xì)操作步驟,要根據(jù)不同的學(xué)習(xí)主題和內(nèi)容進(jìn)行靈活變動(dòng),以達(dá)到教學(xué)目標(biāo)。
3.1搭建基本框架,完成電子相冊(cè)初級(jí)版本
電子相冊(cè)的初級(jí)版本是點(diǎn)擊按鈕顯示一張與其所對(duì)應(yīng)的照片,如果能夠在顯示照片的同時(shí)出現(xiàn)歡迎語(yǔ),則整個(gè)界面會(huì)更加友好。根據(jù)這一思路,完成電子相冊(cè)App1.0版本需要按鈕組件、圖像組件和標(biāo)簽組件,并調(diào)用“當(dāng)按鈕被點(diǎn)擊”與“顯示圖片”的代碼。在開(kāi)始程序設(shè)計(jì)前,需要完成需求分析,并通過(guò)教師與學(xué)生的討論來(lái)完成相冊(cè)流程圖。流程圖是實(shí)現(xiàn)程序設(shè)計(jì)的基本依據(jù),流程圖的質(zhì)量直接決定了程序的質(zhì)量,需要學(xué)生認(rèn)真完成。完成流程圖之后,可以開(kāi)始程序界面的設(shè)計(jì),這時(shí),可以讓學(xué)生發(fā)揮創(chuàng)意,設(shè)計(jì)出不同的相冊(cè)界面。完成組件的布局后,要分別設(shè)置其特有的屬性,可通過(guò)組件屬性面板并按照App的實(shí)際需求來(lái)進(jìn)行設(shè)置與修改,如圖1所示。設(shè)置好組件的屬性后,進(jìn)入邏輯設(shè)計(jì)環(huán)節(jié)。在電子相冊(cè)1.0版本中,主要是實(shí)現(xiàn)點(diǎn)擊按鈕顯示圖片這一功能。可單擊邏輯設(shè)計(jì)按鈕切換到程序設(shè)計(jì)視圖進(jìn)行代碼編寫(xiě),邏輯代碼如圖2所示。完成美麗校園App1.0版本的設(shè)計(jì)后,可以在模擬器中完成調(diào)試和修改,有了這個(gè)基礎(chǔ)版本的電子相冊(cè),學(xué)生可以在此基礎(chǔ)上不斷升級(jí),讓電子相冊(cè)功能更強(qiáng)大,或者是設(shè)置獨(dú)具特色的相冊(cè)。
3.2加入翻頁(yè)按鈕,讓電子相冊(cè)活動(dòng)起來(lái)
通過(guò)點(diǎn)擊單個(gè)按鈕來(lái)顯示相應(yīng)圖片雖然比較直觀,但如果圖片數(shù)量較多,則需要布置同樣數(shù)量的按鈕,這既不利于布局,又不利于代碼的學(xué)習(xí)和提高。因此,可以參考將圖片瀏覽軟件中的翻頁(yè)功能加入進(jìn)來(lái),以完成電子相冊(cè)2.0版本的制作。在開(kāi)始設(shè)計(jì)之前,同樣需要繪制流程圖。由于2.0版本加入了翻頁(yè)功能,相應(yīng)的界面頁(yè)發(fā)生了變動(dòng),組件屬性可以參考圖3。翻頁(yè)功能是相冊(cè)2.0版本的關(guān)鍵,可以引導(dǎo)學(xué)生通過(guò)理解頁(yè)碼加減來(lái)理解翻頁(yè)。要實(shí)現(xiàn)加減就需要引入全局變量、取變量值和合并文本等控件,具體的邏輯設(shè)計(jì)可以參考圖4。實(shí)現(xiàn)翻頁(yè)的邏輯代碼不止一種,可以提示學(xué)生嘗試用不同的代碼來(lái)實(shí)現(xiàn),比如文本、列表等,關(guān)鍵是引入可以表示頁(yè)碼的代碼,實(shí)現(xiàn)頁(yè)碼的變換。隨后,可以在模擬器上完成調(diào)試和修改,加上了翻頁(yè)功能的電子相冊(cè)會(huì)變得更加完善。
3.3添加自動(dòng)瀏覽,完善電子相冊(cè)整體功能
增加了翻頁(yè)功能后,用戶可以通過(guò)點(diǎn)擊上下頁(yè)按鈕來(lái)瀏覽圖片,如果此時(shí)想要點(diǎn)擊按鈕來(lái)實(shí)現(xiàn)自動(dòng)瀏覽圖片的功能,就要引入新的控件,這對(duì)于程序設(shè)計(jì)又提出了新的挑戰(zhàn)。要想實(shí)現(xiàn)自動(dòng)瀏覽功能,就需要在界面設(shè)計(jì)中添加非可視組件計(jì)時(shí)器,利用計(jì)時(shí)器組件的自動(dòng)計(jì)時(shí)功能來(lái)實(shí)現(xiàn)順序播放。要想實(shí)現(xiàn)自動(dòng)瀏覽需要解決兩個(gè)問(wèn)題,一是怎樣讓變量按照順序依次變換,二是當(dāng)圖片播放到最后一張時(shí)怎么重頭開(kāi)始播放。要實(shí)現(xiàn)這兩個(gè)要點(diǎn)并不困難,前者可以利用相冊(cè)2.0版本中的語(yǔ)句,只是現(xiàn)在需要將此語(yǔ)句連接到計(jì)時(shí)器中去,而后者則可以增加如果控件,讓程序運(yùn)行到最后一張時(shí)執(zhí)行回到第一張的語(yǔ)句。至此,電子相冊(cè)已經(jīng)完成了三個(gè)不同的版本,后續(xù)還可以在前面的基礎(chǔ)上增加不同的功能,比如直接跳轉(zhuǎn)至某一頁(yè)的照片、添加背景音樂(lè)、展示多個(gè)圖片,等等。同樣的主題會(huì)隨著功能的不斷變換和完善而制作出不同的電子相冊(cè),而要想實(shí)現(xiàn)不同的功能自然會(huì)運(yùn)用到不同的控件和語(yǔ)句。隨著學(xué)習(xí)的不斷深入,學(xué)生在制作出功能各異的電子相冊(cè)的同時(shí)也增強(qiáng)了邏輯思維和編程能力。
4AppInventor項(xiàng)目式教學(xué)的研究成效
由于計(jì)算機(jī)程序設(shè)計(jì)需要較強(qiáng)的邏輯思維能力、語(yǔ)言表達(dá)能力和英語(yǔ)理解能力,大學(xué)生在學(xué)習(xí)過(guò)程中尚存在較大難度,對(duì)中小學(xué)生而言更是難上加難,而且傳統(tǒng)的先講解理論再實(shí)踐操作的教學(xué)方法也無(wú)法取得較好的教學(xué)效果。但幸運(yùn)的是,現(xiàn)在的編程軟件在不斷更新變化,給程序設(shè)計(jì)教學(xué)帶來(lái)了新的教學(xué)思路,能夠與層層遞進(jìn)項(xiàng)目式教學(xué)模式相結(jié)合,使學(xué)生在學(xué)習(xí)程序設(shè)計(jì)時(shí)更具有操作性和探究性,能夠聯(lián)系生活實(shí)際,進(jìn)而培養(yǎng)學(xué)生解決實(shí)際問(wèn)題的能力。
4.1以項(xiàng)目為主體畫(huà)出思維導(dǎo)圖,培養(yǎng)任務(wù)分解能力
學(xué)生在解決綜合性問(wèn)題時(shí),往往會(huì)手足無(wú)措,因此,教師要幫助學(xué)生提高任務(wù)分解的能力,把一個(gè)大項(xiàng)目分解成若干個(gè)小項(xiàng)目。以電子相冊(cè)為例,可利用思維導(dǎo)圖的形式嘗試把項(xiàng)目的完成步驟分解為流程圖、界面設(shè)計(jì)、組件設(shè)置、邏輯設(shè)計(jì)等幾大塊,然后再把大塊內(nèi)容細(xì)化,如圖5所示。完成任務(wù)分解圖后,嘗試按照詳圖一步步完成每個(gè)分項(xiàng)目,然后將分項(xiàng)目組合起來(lái),完成整個(gè)項(xiàng)目的制作。按照“整體-局部-整體”的完成思路,不僅可以提高學(xué)生完成項(xiàng)目的能力,而且可以讓學(xué)生思考整體和局部之間的關(guān)系,提高學(xué)生從全局考慮問(wèn)題的能力。
4.2以控件設(shè)計(jì)為載體,培養(yǎng)學(xué)生的編程能力
程序設(shè)計(jì)是通過(guò)特定計(jì)算機(jī)語(yǔ)言解決具體問(wèn)題的過(guò)程。在進(jìn)行程序設(shè)計(jì)的過(guò)程中有一個(gè)重要的環(huán)節(jié),就是將問(wèn)題通過(guò)算法的形式表述出來(lái)。在沒(méi)有可視化的控件作為設(shè)計(jì)載體之前,算法的理解和表達(dá)給學(xué)生的學(xué)習(xí)帶來(lái)了很大困難,而現(xiàn)在借助AppInventor的直觀設(shè)計(jì)環(huán)境,學(xué)生可以從簡(jiǎn)單的程序開(kāi)始,先不斷添加新的控件和功能,然后再通過(guò)理解控件之間的邏輯關(guān)系來(lái)逐步提高程序設(shè)計(jì)能力。同樣是實(shí)現(xiàn)圖片展示功能,方法是多種多樣的,比如直接設(shè)定語(yǔ)句,或先設(shè)置列表再選擇,或用隨機(jī)數(shù)來(lái)實(shí)現(xiàn)。
4.3不斷完善和創(chuàng)新項(xiàng)目,培養(yǎng)學(xué)生的創(chuàng)新能力
從相冊(cè)1.0版本更新到相冊(cè)3.0版本的過(guò)程中涉及了不同的設(shè)計(jì)思路,應(yīng)用了不同的控件和語(yǔ)句,使學(xué)生思考如何在同一主題的情況下實(shí)現(xiàn)不同的功能。在教師和學(xué)生、學(xué)生和學(xué)生的交流過(guò)程中,學(xué)生的創(chuàng)新能力得到了鍛煉。按照這樣的教學(xué)任務(wù)設(shè)計(jì)思路,還可以做出同一主題、不同設(shè)計(jì)思路的特色作品,比如畫(huà)圖板App、計(jì)算器App、找不同游戲App,等等,每一個(gè)App都可以按照從基礎(chǔ)功能到綜合功能的思路來(lái)進(jìn)行制作,讓學(xué)生在不斷豐富完善App功能的過(guò)程中提升程序設(shè)計(jì)能力。
5反思
程序設(shè)計(jì)的過(guò)程是先將現(xiàn)實(shí)中的問(wèn)題用算法描述出來(lái),然后再將算法轉(zhuǎn)為相關(guān)的程序設(shè)計(jì)語(yǔ)言,最后再通過(guò)計(jì)算機(jī)執(zhí)行相關(guān)語(yǔ)句來(lái)實(shí)現(xiàn)。利用可視化的軟件來(lái)編輯程序會(huì)更接近學(xué)生在生活中的思維方式。為了進(jìn)一步降低編程的難度,引導(dǎo)學(xué)生完成程序設(shè)計(jì),在實(shí)際教學(xué)中設(shè)計(jì)了層層遞進(jìn)的項(xiàng)目式教學(xué)方法,并將其運(yùn)用到了AppInventor程序設(shè)計(jì)的過(guò)程中,讓學(xué)生在學(xué)習(xí)的過(guò)程中能夠體會(huì)到編程所帶來(lái)的樂(lè)趣。但在教學(xué)過(guò)程中也暴露出了不少問(wèn)題,比如怎樣更好地提升學(xué)生團(tuán)隊(duì)合作的能力,怎樣將模塊化編輯和代碼編輯緊密聯(lián)系起來(lái),怎樣提升學(xué)生對(duì)于程序設(shè)計(jì)的理解,等等。在后續(xù)的教學(xué)中,將繼續(xù)以層層遞進(jìn)的項(xiàng)目式教學(xué)法為主線不斷更新和完善教學(xué)過(guò)程,增強(qiáng)各個(gè)項(xiàng)目的延續(xù)性,培養(yǎng)學(xué)生的邏輯思考能力。
作者:張遹東 單位:杭州師范大學(xué)東城實(shí)驗(yàn)學(xué)校