楊俊凱
(福建省漳州市第三中學(xué),福建漳州 363000)
計(jì)算思維是信息技術(shù)素養(yǎng)的重要構(gòu)成部分,而編程教學(xué)是培養(yǎng)學(xué)生計(jì)算思維的主要平臺。在編程教學(xué)中實(shí)施微項(xiàng)目學(xué)習(xí),能夠激發(fā)學(xué)生的自主意識和自我效能感,更好地促進(jìn)生生合作與互動,以此實(shí)現(xiàn)對編程知識技能的深度學(xué)習(xí)。因此,教師應(yīng)該明晰微項(xiàng)目學(xué)習(xí)的開展價(jià)值,立足高中信息技術(shù)Python 編程教學(xué)內(nèi)容和實(shí)際學(xué)情,做好微項(xiàng)目的設(shè)計(jì)和教學(xué)組織工作,帶領(lǐng)學(xué)生圍繞微項(xiàng)目的主線,通過自主、合作探究的形式參與編程知識學(xué)習(xí)和技能訓(xùn)練,從而高效落實(shí)教學(xué)目標(biāo)。
Python 是一種面向?qū)ο蟮慕忉屝陀?jì)算機(jī)程序設(shè)計(jì)語言,課程中涉及數(shù)學(xué)、英語等跨學(xué)科知識技能,給學(xué)生帶來抽象思考的壓力。部分學(xué)生對代碼式編程存在畏懼心理,學(xué)習(xí)態(tài)度不夠積極主動。微項(xiàng)目學(xué)習(xí)是項(xiàng)目式學(xué)習(xí)的簡化模型,其理論依據(jù)之一是構(gòu)建主義理論,強(qiáng)調(diào)教學(xué)內(nèi)容生活化、知識呈現(xiàn)情境化,高度契合學(xué)生的認(rèn)知發(fā)展規(guī)律和行為特征。在高中信息技術(shù)Python 編程教學(xué)中實(shí)施微項(xiàng)目學(xué)習(xí),能夠激發(fā)學(xué)生的編程探索興趣,比如教師可以從知識呈現(xiàn)情境化的角度出發(fā),在發(fā)布微項(xiàng)目的階段,通過情境創(chuàng)設(shè)的方式引入貼合生活實(shí)際的微項(xiàng)目背景資料,化抽象為具體,使學(xué)生對編程課產(chǎn)生親切感和熟悉感,從而積極自主地投入編程微項(xiàng)目學(xué)習(xí)和探索[1]。
傳統(tǒng)的Python 編程教學(xué)模式側(cè)重于學(xué)生學(xué)習(xí)的結(jié)果和答案,部分教師甚至?xí)⒕幊陶Z言直接出示給學(xué)生,省略了學(xué)生自主發(fā)散計(jì)算思維的過程,這種重線性、輕融合的教學(xué)手段很容易導(dǎo)致學(xué)生對編程知識一知半解,思維品質(zhì)和綜合能力也得不到有效鍛煉,僅停留在淺表學(xué)習(xí)的層面。微項(xiàng)目學(xué)習(xí)高度重視過程與方法、思維與情感,強(qiáng)調(diào)引導(dǎo)學(xué)生運(yùn)用已有的知識技能,自主解決實(shí)際的編程問題。在新時(shí)期的信息技術(shù)Python 編程教學(xué)中引入微項(xiàng)目學(xué)習(xí),有助于學(xué)生獲取核心概念知識和解決問題的能力。比如教師可以根據(jù)編程課的教學(xué)要點(diǎn)給學(xué)生編制微項(xiàng)目活動的清單,在清單中詳細(xì)地列出實(shí)際問題、學(xué)習(xí)的基本步驟和方法等,指導(dǎo)學(xué)生按照清單的指引,自主制定解決問題的路線和策略,使其經(jīng)歷思考、推理、構(gòu)建和內(nèi)化的過程,從而促進(jìn)編程微項(xiàng)目學(xué)習(xí)成果的產(chǎn)出,培養(yǎng)學(xué)生的元認(rèn)知和深度學(xué)習(xí)能力。
Python 編程是一門注重實(shí)踐和創(chuàng)新的學(xué)科。以往的集體授課和講練結(jié)合教學(xué)模式始終都在教師的把控和牽引之下,不僅壓減了學(xué)生之間的互動交流機(jī)會,也縮窄了創(chuàng)新的空間,致使學(xué)生編程技能的發(fā)展受到限制。微項(xiàng)目學(xué)習(xí)依托于做中學(xué)理論和活動理論,前者關(guān)注實(shí)踐性學(xué)習(xí)以及學(xué)生的個性化、多樣化發(fā)展,后者主張把學(xué)生的個體活動納入社會活動中,產(chǎn)生溝通、交互等學(xué)習(xí)行為。在信息技術(shù)Python 編程教學(xué)中應(yīng)用微項(xiàng)目學(xué)習(xí),是培養(yǎng)學(xué)生合作探究意識和實(shí)踐創(chuàng)新精神的主要途徑。比如教師可以給學(xué)生設(shè)計(jì)開放式的編程微項(xiàng)目,組織學(xué)生以同伴群組為單位,融通理論與實(shí)踐,匯集每個成員的優(yōu)勢智能和創(chuàng)造性思想,協(xié)作完成對微項(xiàng)目方案的研討和實(shí)施,從而提高全體學(xué)生的學(xué)習(xí)參與度,構(gòu)建指向合作與實(shí)踐的編程課堂。
在高中信息技術(shù)Python 編程教學(xué)中實(shí)施微項(xiàng)目學(xué)習(xí),科學(xué)選定微項(xiàng)目主題是至關(guān)重要的步驟,每節(jié)編程課的教學(xué)內(nèi)容都比較龐雜,教師必須緊扣重點(diǎn)和難點(diǎn)內(nèi)容做好微項(xiàng)目的選題工作,才能鋪平后續(xù)教學(xué)的道路。微項(xiàng)目學(xué)習(xí)的本質(zhì)是解決問題,在課堂上的應(yīng)用強(qiáng)調(diào)課時(shí)化、層次化。教師在確定微項(xiàng)目主題時(shí),應(yīng)該在學(xué)科大概念的統(tǒng)領(lǐng)之下,對教材和學(xué)情展開深入、精細(xì)的分析,結(jié)合教材內(nèi)容以及學(xué)生的編程基礎(chǔ)、認(rèn)知情況設(shè)定微項(xiàng)目學(xué)習(xí)目標(biāo)。所設(shè)定的目標(biāo)必須層層遞進(jìn)、由淺及深,具有一定的層次和梯度。如果單元學(xué)習(xí)內(nèi)容比較多,教師應(yīng)盡量拆分出多個微項(xiàng)目主題,確保每個微項(xiàng)目都能在一課時(shí)之內(nèi)獨(dú)立完成,從而實(shí)現(xiàn)對微項(xiàng)目主題的有效選定。如在關(guān)于Python 編程的入門教學(xué)中,教材內(nèi)容主要包括什么是Python、認(rèn)識海龜編輯器、第一個Python 程序三個專題。雖然部分學(xué)生接觸過積木式編程,但是大多數(shù)學(xué)生對代碼式編程比較陌生。教師在掌握教材要點(diǎn)和整體學(xué)情之后,就可以根據(jù)教材專題確定三個微項(xiàng)目主題:(1)學(xué)會Python 的啟動方法,了解Python的界面。(2)編寫出自己的第一個Python 程序,能夠?qū)Τ绦蛑谐霈F(xiàn)的錯誤進(jìn)行簡單的調(diào)試。(3)利用Python 語言解決一些小的問題,包括設(shè)置單行注釋和多行注釋,使用縮進(jìn)來表示代碼塊等等。三個主題之間相互聯(lián)系、由易到難。這樣通過主題的挈領(lǐng),就形成微項(xiàng)目學(xué)習(xí)的基本路線[2]。
微項(xiàng)目學(xué)習(xí)強(qiáng)調(diào)過程,對前期的方案設(shè)計(jì)有著較高的要求,教師把方案制定得越全面、越細(xì)致,學(xué)生就能得到越豐富的學(xué)習(xí)活動體驗(yàn)。因此,在選定微項(xiàng)目主題之后,教師應(yīng)該根據(jù)Python 課程的核心知識和關(guān)鍵技能,設(shè)計(jì)更加細(xì)化的微項(xiàng)目方案。方案內(nèi)容必須符合學(xué)生的認(rèn)知,同時(shí)與微項(xiàng)目學(xué)習(xí)的總體框架和基本思路相適應(yīng),加強(qiáng)理論學(xué)習(xí)和實(shí)踐訓(xùn)練的結(jié)合,主要包括項(xiàng)目任務(wù)、項(xiàng)目問題、項(xiàng)目資源三個部分,并編制對應(yīng)的導(dǎo)學(xué)案,將項(xiàng)目資源保存在網(wǎng)絡(luò)教學(xué)平臺中,從而使微項(xiàng)目學(xué)習(xí)的規(guī)劃工作更加完備。首先,在設(shè)計(jì)微項(xiàng)目方案中的學(xué)習(xí)任務(wù)時(shí),教師應(yīng)該依據(jù)學(xué)習(xí)主題和學(xué)生的技能水平,設(shè)計(jì)基于真實(shí)問題、適宜發(fā)展合作探究的任務(wù)群,每個單獨(dú)的任務(wù)中手動操作的內(nèi)容盡量多一些,同時(shí)要支持學(xué)生根據(jù)自己的愛好進(jìn)行選取。其次,從微項(xiàng)目問題的設(shè)計(jì)來說,教師應(yīng)該從學(xué)生的知識結(jié)構(gòu)以及思維訓(xùn)練需求出發(fā),設(shè)計(jì)具有驅(qū)動性的問題串,所有問題都以立足生活實(shí)際為基準(zhǔn),難度劃分成初級、中級、高級三個層次。其中初級問題應(yīng)注重整合學(xué)生的新舊知識經(jīng)驗(yàn),利用舊知識引出Python 新課題,緩解學(xué)生接納新知的壓力;中、高級問題可以適度地融入一些挑戰(zhàn)成分,以問題的解決和思維的創(chuàng)新為重點(diǎn),以此驅(qū)動學(xué)生不斷地探究和打磨編程作品。最后,從微項(xiàng)目的資源準(zhǔn)備來說,教師應(yīng)該使用網(wǎng)絡(luò)教學(xué)平臺,事先給學(xué)生提供學(xué)習(xí)資源和認(rèn)知工具,圍繞Python 課程的常量、變量、數(shù)據(jù)類型、運(yùn)算符等基礎(chǔ)知識,提供編程思維導(dǎo)圖和重點(diǎn)內(nèi)容流程圖。這部分方案需要學(xué)生在課前自學(xué)完成,把握微項(xiàng)目學(xué)習(xí)的知識體系結(jié)構(gòu),從而給課堂探究留出更加充足的時(shí)間和空間[3]。
任務(wù)發(fā)布是Python 編程微項(xiàng)目學(xué)習(xí)的重要環(huán)節(jié),雖然通過課前自學(xué),學(xué)生對編程語言基礎(chǔ)知識建立了大致的了解,但是還停留在理論學(xué)習(xí)的層面,很難自主進(jìn)入微項(xiàng)目任務(wù)的探究狀態(tài),教師在發(fā)布任務(wù)時(shí)必須做好激趣工作,才能助推學(xué)生從理論學(xué)習(xí)走向?qū)嵅儆?xùn)練[4]。情境創(chuàng)設(shè)法能夠滿足微項(xiàng)目任務(wù)的發(fā)布需求,教師應(yīng)該根據(jù)任務(wù)的內(nèi)容,緊扣學(xué)生的思維規(guī)律和興趣愛好,創(chuàng)設(shè)趣味化情境,并且情境中要融合生活元素、影像材料和導(dǎo)學(xué)問題,給學(xué)生的視覺和思維帶來多重外部刺激,使其對微項(xiàng)目任務(wù)產(chǎn)生探索和解決的動機(jī)。如在關(guān)于創(chuàng)建和使用類的Python 編程教學(xué)中,教師預(yù)備發(fā)布的微項(xiàng)目任務(wù),是開發(fā)模擬擲骰子的Python 程序,那么在情境創(chuàng)設(shè)階段,教師就可以播放擲骰子的游戲視頻資料,引導(dǎo)學(xué)生圍繞情境展開主動的思考和交流,先預(yù)熱課堂氣氛,再向?qū)W生揭示微項(xiàng)目任務(wù),組織學(xué)生聯(lián)系情境資料,討論擲骰子程序的基本功能和編寫方法。這樣在趣味情境的帶動下,學(xué)生就明晰微項(xiàng)目任務(wù)的內(nèi)容和主要目標(biāo),迫不及待地想要參與程序開發(fā)。
每個學(xué)生的編程技能、計(jì)算思維和學(xué)習(xí)風(fēng)格存在差異性,小組合作更利于匯集團(tuán)隊(duì)的力量。因此,在正式實(shí)施微項(xiàng)目探究時(shí),教師應(yīng)該積極地組織學(xué)生開展小組式學(xué)習(xí),以Python編程任務(wù)群或子任務(wù)為核心,面向全體學(xué)生,按照編程基礎(chǔ)、學(xué)習(xí)態(tài)度、技術(shù)特長等要素,對學(xué)習(xí)小組進(jìn)行合理地構(gòu)建,每組由學(xué)生推選或教師委任一名組長,組長基本的素質(zhì)要求是編程能力、領(lǐng)導(dǎo)能力強(qiáng),具有比較外向的性格。在完成小組構(gòu)建工作之后,教師讓各組的組長帶領(lǐng)組員,對微項(xiàng)目任務(wù)進(jìn)行細(xì)化分解,明確解決任務(wù)需要經(jīng)歷的步驟和流程,并列出對應(yīng)的綱要和圖表。接下來,教師借助微項(xiàng)目方案的學(xué)習(xí)支架,鼓勵各組學(xué)生參照步驟綱要或流程圖表,按照每名組員的優(yōu)勢特長進(jìn)行微項(xiàng)目任務(wù)探究的角色分工,使每個學(xué)生都對自己所承擔(dān)的任務(wù)做到心中有數(shù),并擁有發(fā)揮能力的機(jī)會,從而達(dá)到合理分工的目的。接下來,教師可通過實(shí)操示范的方式,給學(xué)生講解微項(xiàng)目探究的基本技能和注意事項(xiàng),同時(shí)結(jié)合任務(wù)的內(nèi)容,利用Toontalk、Blockly 等可視化編程工具,給學(xué)生呈現(xiàn)程序功能模塊要素的外顯表征,幫助學(xué)生梳理微項(xiàng)目實(shí)踐的思路,再將課堂空間開放給學(xué)生,使其有章可循地合作開展編程微項(xiàng)目探究[5]。
在學(xué)生合作探究解決Python 編程微項(xiàng)目的過程中,項(xiàng)目任務(wù)是主線,各組學(xué)生是主體,教師的有序組織和探究指導(dǎo)是保障。由于微項(xiàng)目學(xué)習(xí)涉及Python 語言新知和多種技能,學(xué)生勢必會遇到一些認(rèn)知和方法方面的困難,教師如果講得太透,學(xué)生就會喪失獨(dú)立思考的機(jī)會;教師如果完全不輔助,微項(xiàng)目學(xué)習(xí)可能會卡在某一點(diǎn)難以繼續(xù)推進(jìn)[6]。因此,在組織和指導(dǎo)階段,教師應(yīng)該重視提升學(xué)生的主體地位,把握好講授的度和量,針對微項(xiàng)目探究中出現(xiàn)的疑難和困惑,盡量組織學(xué)生之間通過交流和互動加以解決,教師不過多地參與學(xué)生學(xué)習(xí)新知,而是遵循定向、內(nèi)化、強(qiáng)化、掌握、分享的生本學(xué)習(xí)框架,給予學(xué)生必要的點(diǎn)撥和建議,至于如何構(gòu)建和實(shí)現(xiàn),仍舊交由學(xué)生集思廣益、合作完成。比如學(xué)生在設(shè)計(jì)算法時(shí)陷入困境,教師可以出示單分支、雙分支、多分支或嵌套分支的結(jié)構(gòu)圖,引導(dǎo)學(xué)生合作分析、判斷算法條件,探討算法中的變量、常量、表達(dá)式、數(shù)據(jù)類型、賦值語言、算術(shù)運(yùn)算符等,提出對應(yīng)的算法設(shè)想,組內(nèi)通過深度交流形成統(tǒng)一意見,經(jīng)過設(shè)計(jì)算法、編寫程序、調(diào)試運(yùn)行程序,最終解決算法設(shè)計(jì)的疑難問題。這樣通過教師的適度指導(dǎo)和學(xué)生的密切互動,學(xué)生就能夠感受到學(xué)、做、討論的交互迭代過程,從而形成合作探究和釋疑的能力,提高Python 編程微項(xiàng)目學(xué)習(xí)的實(shí)施進(jìn)度。
在高中信息技術(shù)Python 編程教學(xué)中應(yīng)用微項(xiàng)目學(xué)習(xí),成果展評是不可或缺的一步。有效的展評能夠幫助學(xué)生歸納微項(xiàng)目中的理論和技術(shù),形成結(jié)構(gòu)緊致而清晰的編程知識體系,同時(shí)也可以打開經(jīng)驗(yàn)分享的窗口,助推學(xué)生從學(xué)習(xí)新知走向協(xié)同創(chuàng)新的道路。因此,教師應(yīng)該做好編程微項(xiàng)目學(xué)習(xí)的梳理和總結(jié)工作,帶領(lǐng)學(xué)生開展成果展示和評價(jià)兩項(xiàng)活動。首先,從成果展示來說,在學(xué)生完成Python 程序設(shè)計(jì)項(xiàng)目之后,教師讓各組輪流演示程序試運(yùn)行,一邊演示一邊陳述本組的算法設(shè)計(jì)思路、邏輯結(jié)構(gòu)、用到的函數(shù)模型以及編寫代碼過程中遇到的復(fù)雜問題和破解方法,使組與組之間的成果和經(jīng)驗(yàn)得以分享。在此期間,教師引導(dǎo)各組總結(jié)微項(xiàng)目學(xué)習(xí)中的共性問題,通過集體討論實(shí)現(xiàn)對課程要點(diǎn)的復(fù)盤、再思考和再構(gòu)建,加深對編程知識和技術(shù)的印象。其次,從成果評價(jià)來說,教師應(yīng)該讓各組根據(jù)微項(xiàng)目任務(wù)的評價(jià)量規(guī),初步評選出Python程序運(yùn)行最流暢、算法設(shè)計(jì)最準(zhǔn)確的小組,然后評出對程序代碼獲取、新增、刪除、個數(shù)操作最熟練的小組,最后鼓勵各組開展組內(nèi)自評,每個組員反思自己是否高質(zhì)量完成所負(fù)責(zé)的任務(wù),相互探討程序作品的優(yōu)化方法,包括替換更恰當(dāng)?shù)谋磉_(dá)式、增加新的功能模塊等等,這樣通過完善微項(xiàng)目展評,學(xué)生就獲得更完整的Python 編程學(xué)習(xí)經(jīng)驗(yàn)。
綜上所述,高中信息技術(shù)Python 編程教學(xué)中實(shí)施微項(xiàng)目學(xué)習(xí),能夠有效激發(fā)學(xué)生對編程課的探索興趣,促進(jìn)學(xué)生獲取課程的核心概念和解決問題的能力,使其逐步形成合作探究意識與實(shí)踐創(chuàng)新精神。教師應(yīng)該立足Python 課程的教材和學(xué)情,整合知識與技能,選定微項(xiàng)目主題、設(shè)計(jì)細(xì)致的教學(xué)方案,采用創(chuàng)設(shè)趣味化情境的方式,發(fā)布微項(xiàng)目任務(wù),做好探究過程的點(diǎn)撥和指導(dǎo)工作,組織學(xué)生交流、互動,同時(shí)落實(shí)探究成果的展示和評價(jià),從而突破Python 教學(xué)難點(diǎn),達(dá)成微項(xiàng)目學(xué)習(xí)的有益嘗試。