劉 瓊,史 諾
(1.楊凌職業(yè)技術(shù)學(xué)院 信息工程分院,陜西 楊凌 712100;2.楊凌職業(yè)技術(shù)學(xué)院 機(jī)電工程分院,陜西 楊凌 712100)
計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問(wèn)題求解、系統(tǒng)設(shè)計(jì)以及人類行為理解等涵蓋計(jì)算機(jī)科學(xué)之廣度的一系列思維活動(dòng),由Wing[1]于2006年3月提出。在當(dāng)前的信息化時(shí)代,計(jì)算思維能力已經(jīng)成為高職教育中計(jì)算機(jī)類專業(yè)學(xué)生培養(yǎng)目標(biāo)的重要內(nèi)容之一[2]。在“Android移動(dòng)應(yīng)用開(kāi)發(fā)”課程的教學(xué)過(guò)程中,我們一直在計(jì)算機(jī)專業(yè)機(jī)房進(jìn)行,采用“做中學(xué)、學(xué)中做”的教學(xué)模式,對(duì)學(xué)生的理論思維和實(shí)驗(yàn)思維能力方面進(jìn)行了較好的灌輸與培養(yǎng),但是在計(jì)算思維能力培養(yǎng)方面卻有所欠缺。為了將這3種思維融合形成“三維一體”的教學(xué)體系,本文進(jìn)行了一定的探索與嘗試。
“Android移動(dòng)應(yīng)用開(kāi)發(fā)”是計(jì)算機(jī)專業(yè)的核心課程,其理想的教學(xué)目標(biāo)是:在課程中培養(yǎng)學(xué)生將數(shù)學(xué)思維和工程思維進(jìn)行互補(bǔ)與融合,利用一定的計(jì)算思維能力去抽象問(wèn)題、建立合理的計(jì)算模型、設(shè)計(jì)算法、制定解決問(wèn)題的方案,歸納求解,并將該過(guò)程推廣至相似問(wèn)題的處理中。傳統(tǒng)教學(xué)是從體系結(jié)構(gòu)、四大組件、數(shù)據(jù)存儲(chǔ)、網(wǎng)絡(luò)編程方面進(jìn)行各環(huán)節(jié)的組織與實(shí)施的,內(nèi)容多且知識(shí)點(diǎn)與技能點(diǎn)較為瑣碎,學(xué)生對(duì)知識(shí)和技能點(diǎn)的掌握程度不高,計(jì)算思維能力鍛煉較少,沒(méi)有達(dá)到培養(yǎng)目標(biāo)要求的效果。
“Android移動(dòng)應(yīng)用開(kāi)發(fā)”屬于理論實(shí)踐一體化的課程,一般安排在專業(yè)機(jī)房中進(jìn)行,教師講述相關(guān)的知識(shí)點(diǎn)并指導(dǎo)學(xué)生進(jìn)行移動(dòng)應(yīng)用項(xiàng)目開(kāi)發(fā),但是在實(shí)踐教學(xué)中發(fā)現(xiàn),由于課程的順利推進(jìn)需要學(xué)生在“數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ)”“C語(yǔ)言”“Java程序設(shè)計(jì)”“Java桌面軟件項(xiàng)目開(kāi)發(fā)”“Java Web應(yīng)用開(kāi)發(fā)”等先修課程中打下良好的基礎(chǔ),而高職學(xué)生的學(xué)習(xí)習(xí)慣相對(duì)較差,因此在課程的學(xué)習(xí)初期就具有畏難心態(tài),導(dǎo)致各個(gè)環(huán)節(jié)中沒(méi)有掌握的知識(shí)點(diǎn)與技能點(diǎn)不斷累積,未達(dá)到應(yīng)有的學(xué)習(xí)效果。
為了培養(yǎng)學(xué)生的計(jì)算思維能力,需要將學(xué)生從繁瑣、復(fù)雜的知識(shí)點(diǎn)與技能點(diǎn)學(xué)習(xí)中解脫出來(lái),使其注意力聚焦于問(wèn)題抽象、算法設(shè)計(jì)、程序?qū)崿F(xiàn)及評(píng)價(jià),我們?cè)趥鹘y(tǒng)教學(xué)內(nèi)容組織實(shí)施之前,增設(shè)基礎(chǔ)訓(xùn)練模塊,目的是鋪設(shè)一條平緩漸進(jìn)的學(xué)習(xí)通道[3-4],促進(jìn)學(xué)生理解計(jì)算科學(xué)的本質(zhì)—抽象化和自動(dòng)化[5]。
基礎(chǔ)訓(xùn)練模塊是以APP Inventor為載體的。APP Inventor是一款由谷歌公司開(kāi)發(fā)的編程軟件,其最大特點(diǎn)是采用圖形化、積木式的模式開(kāi)發(fā)Android應(yīng)用[6],在不需要掌握任何程序設(shè)計(jì)知識(shí)的前提下只需要根據(jù)需求添加服務(wù)選項(xiàng)即可完成應(yīng)用開(kāi)發(fā),即學(xué)習(xí)者在該軟件平臺(tái)可以拋棄復(fù)雜的程式代碼而采用積木式的堆疊法來(lái)進(jìn)行學(xué)習(xí),由于規(guī)避了程序編寫中的眾多知識(shí)點(diǎn)、技能點(diǎn),且學(xué)習(xí)者可以是零基礎(chǔ),因此大大降低了編程的技術(shù)難度,針對(duì)高職學(xué)生的學(xué)習(xí)特點(diǎn)將其作為移動(dòng)應(yīng)用開(kāi)發(fā)課程學(xué)習(xí)的前導(dǎo)部分是合理的選擇。
我們將基礎(chǔ)訓(xùn)練模塊分為引入階段、逆向分析階段、引導(dǎo)階段、獨(dú)立學(xué)習(xí)階段4個(gè)部分,如圖1所示。引入階段主要是對(duì)APP Inventor的基本介紹,讓學(xué)生明白該軟件和后續(xù)課程學(xué)習(xí)之間的關(guān)系;逆向分析階段是將典型的移動(dòng)應(yīng)用產(chǎn)品進(jìn)行拆解與分析,促進(jìn)學(xué)生進(jìn)行計(jì)算思維的習(xí)得和養(yǎng)成;引導(dǎo)階段是教師設(shè)定需求,與學(xué)生共同完成應(yīng)用產(chǎn)品的開(kāi)發(fā),培養(yǎng)學(xué)生的實(shí)踐能力;獨(dú)立學(xué)習(xí)階段是學(xué)生根據(jù)自己的興趣自擬題目,獨(dú)立進(jìn)行設(shè)計(jì)與學(xué)習(xí),培養(yǎng)需求分析、產(chǎn)品開(kāi)發(fā)的能力。總體而言,學(xué)生經(jīng)歷的是“知概念、跟著學(xué)、一起做、獨(dú)立干”4個(gè)步驟,其關(guān)注點(diǎn)始終聚焦于計(jì)算思維。
構(gòu)建合理的教學(xué)項(xiàng)目是實(shí)施過(guò)程中的關(guān)鍵環(huán)節(jié),我們主要根據(jù)以下3個(gè)原則進(jìn)行項(xiàng)目設(shè)計(jì):生活化、典型化、程序化[7]。生活化原則主要是指教學(xué)項(xiàng)目應(yīng)該來(lái)源于日常生活,這樣可以消除學(xué)生的陌生感,使學(xué)生在實(shí)際生活中能夠聯(lián)想與擴(kuò)展,潛移默化地提高計(jì)算思維能力;典型化原則是指搜集、分析大量的教學(xué)素材,進(jìn)行化簡(jiǎn)、整合后,形成最能體現(xiàn)計(jì)算思維特點(diǎn)的教學(xué)項(xiàng)目;程序化是指在教學(xué)項(xiàng)目中滲透算法的設(shè)計(jì)、算法的程序化等內(nèi)容,與后續(xù)課程中較為枯燥、抽象的程序語(yǔ)法有效地銜接起來(lái)。
通過(guò)篩選、重組,并結(jié)合學(xué)生的實(shí)際情況,在逆向分析階段確定了6個(gè)教學(xué)項(xiàng)目,在引導(dǎo)階段設(shè)定了3個(gè)合作項(xiàng)目,在獨(dú)立學(xué)習(xí)階段指定了3個(gè)訓(xùn)練項(xiàng)目,通過(guò)APP Inventor的實(shí)際操作訓(xùn)練讓學(xué)生掌握算法、模塊、并行、索引技術(shù)、回溯、預(yù)置和緩存、多服務(wù)器系統(tǒng)的性能模型、失敗的無(wú)關(guān)性和設(shè)計(jì)的冗余性等知識(shí)點(diǎn)與技能點(diǎn)。
圖1 平緩漸進(jìn)學(xué)習(xí)階段的設(shè)置
圖2 學(xué)生利用APP Inventor創(chuàng)建的小游戲
APP Inventor的教學(xué),共計(jì)安排18課時(shí),并在課余時(shí)間開(kāi)放機(jī)房提供給學(xué)生進(jìn)行練習(xí),基礎(chǔ)訓(xùn)練模塊進(jìn)行完后,大部分學(xué)生掌握了一定的技能,可以應(yīng)用APP Inventor開(kāi)發(fā)小型的移動(dòng)應(yīng)用,如圖2所示,為學(xué)生創(chuàng)建的“打地鼠”小游戲。
以APP Inventor為載體的基礎(chǔ)訓(xùn)練模塊進(jìn)行完成后,按照傳統(tǒng)的教學(xué)內(nèi)容與模式講授“Android移動(dòng)應(yīng)用開(kāi)發(fā)”,學(xué)生普遍反映教學(xué)內(nèi)容比較容易接受,由于具有了APP Inventor的學(xué)習(xí)基礎(chǔ),因此對(duì)程序設(shè)計(jì)語(yǔ)言、基本算法等抽象內(nèi)容能夠較好地認(rèn)知,通過(guò)課后訓(xùn)練可以觸類旁通,教學(xué)效果較好。
在“Android移動(dòng)應(yīng)用開(kāi)發(fā)”課程教學(xué)中,增加以APP Inventor為載體的基礎(chǔ)訓(xùn)練模塊,促進(jìn)學(xué)生科學(xué)理解并建立計(jì)算思維,“知概念、跟著學(xué)、一起做、獨(dú)立干”的探究性學(xué)習(xí)活動(dòng)引導(dǎo)學(xué)生將計(jì)算思維與理論思維、實(shí)驗(yàn)思維相融合,初步具備了發(fā)現(xiàn)問(wèn)題、并利用計(jì)算思維的方法解決問(wèn)題的能力,為高職學(xué)生計(jì)算思維的培養(yǎng)進(jìn)行了有益的探索與嘗試。