林溫陽
(福鼎市第六中學,福建 福鼎 355200)
《普通高中信息技術課程標準(2017 年版2020 年修訂)》(以下簡稱“新課標”)將計算思維列入核心素養(yǎng)。編程教育、STEAM 教育和人工智能教育成為培養(yǎng)學生計算思維的重要途徑(任友群,2019)。蘋果之父喬布斯(Steve Jobs,1955~2011)認為每個人都應該學習編程,因為它教會你如何思考。Python 語言是迄今最接近自然語言的一種輕量型高級編程語言,非常適合中學生編程學習使用。國內外研究表明:學習編程有利于知識遷移、認知推理和思維提升;有利于解決問題能力的培養(yǎng)和社交協作行為的習得;有利于塑造提升自我效能感(Self-efficacy),激發(fā)學生學習內生驅動力。長期以來,高中信息技術編程教學受內容編排及教學方式的影響,課堂教學重知識輕素養(yǎng)、重線性輕融合,難以讓學生的學習走向深處,使用晦澀難懂的文本編程語言解決高度抽象的數學問題來教授編程的現象仍較普遍,這并不適應當前編程教育新形勢。為了打破這一現狀,筆者嘗試開展Python 編程微項目學習的探索實踐,為學生提供一套演繹推理、解決問題的思維框架。
實用主義教育學的代表人物之一克伯屈(W.H.Kilpatrick,1918)最先提出項目的概念與構思。后來神經病學教授巴羅斯(H.S.Barrows,1969)創(chuàng)立了項目式學習理論(Project-based Learning,簡稱PBL)。它強調“以學為中心”,注重學習者主體的實踐性、綜合性和參與性。項目式學習教育模式從此風靡全球。目前,全國各地中小學正如火如荼地開展項目式教學探索與嘗試。微項目學習(Micro Project-based Learning,簡稱MPBL)作為一種更加高效靈活且實用的教學方法,它是根據課程標準,將學科教學內容課時化、項目化、情境化,讓學生獲得具體完整的核心概念和解決問題的關鍵能力。
傳統的問題解決教學模式只注重結果、注重答案,而微項目學習更加注重過程與方法、注重思維與情感。它克服了傳統教學跨度大、評價難、參與度低等難題。學生積極自主地學習,跨越不同學科的界限,有機結合理論與實踐,注重項目成果的產出……作為項目式學習的簡化模型,微項目學習以課時為單位解構學科知識體系,將課程總目標細分到每一堂課。它緊扣學生的學習基點,設計真實的問題情境,將學生置于微項目學習場中,增加學生學習的參與度;采用小組合作學習方式,培養(yǎng)學生的溝通協作能力;有機整合教學內容與微項目任務,培育學生的元認知能力。微項目學習是項目式學習的發(fā)展和延伸,主張理論與實踐相結合,依托微項目的任務合作和成果反饋,促進學生自主建構,聚焦學生深度學習[1]。
皮亞杰(J.Piaget,1896~1980)關于建構主義學習理論的觀點闡述是:兒童的認知發(fā)展絕非依靠知識傳遞灌輸,而是其自主建構內化的過程。微項目學習以建構主義理論為指導,強調學生自我行為導向學習能力,倡導師生共同決策,關注學生的學習過程。通常情況下,跨學科式項目學習持續(xù)時間較長,且對學生綜合素質要求高,在有限的一堂課時間內很難有效開展。為了讓學生獲得知識、鍛煉技能、訓練思維和提升素養(yǎng),在常規(guī)課堂教學中可以將項目式學習微型化,即將單位課時的核心知識情境化,項目活動清單化,學習任務問題化,持續(xù)激活學生的探索欲望。
杜威(J.Dewey,1859~1952)提出“做中學”理論,認為學習是一個“學”和“做”交互迭代的過程,強調教育對象(客體)的主觀能動性和社會適應性。鑒于此,在微項目學習活動中應做到:(1)與現實生活相聯系。社會實踐中蘊藏著豐富的教學資源,微項目學習需要大膽創(chuàng)新,精心提煉教學素材,開發(fā)適于課堂應用的微項目,讓學習不再單調。(2)以實踐活動為載體。在異步交互學習活動中,生活教育是學習的最佳途徑之一(陶行知,1918)。微項目學習應為學習者提供充足的活動機會和自由的創(chuàng)作空間,促使其把所學知識用于實踐,在實踐中體會知識的價值。(3)關注學生的個性多樣化發(fā)展需要。
前蘇聯著名心理學家維果茨基(L.Vygotsky,1896~1934)與列昂捷夫(A.Leontyev,1903~1979)提出了活動理論(Activity Theory)。他們認為人是在活動中形成個體意識,主張將個體活動納入社會活動中。學習活動是在真實的生活情境中達成學習目標的核心要素,是教學這一有機整體的基本單位,它符合教育生態(tài)學目標價值取向。微項目學習任務群是核心,活動過程、操作方法和交互形式等都是圍繞學習任務群而展開。其中,構成微項目學習活動的基本要素有學習目標、活動主題、步驟方法、活動資源、過程監(jiān)管、成果評價等。
組織實施微項目學習,首先,結合目標分析、學情分析和內容分析,確定微項目主題和學習目標,設計評價量規(guī);其次,設置驅動性項目任務群和問題串,創(chuàng)設真實有效的教學情境;再次,講解微項目學習中具體涉及的基礎知識和基本方法,并提供支撐學習的腳手架;最后,針對微項目學習的過程和結果,依據評價量規(guī)進行點評、總結與分享。下面,以Python 編程教學微項目學習活動設計為例詳加說明(如表1 所示)

表1 Python 編程教學微項目學習活動案例
學習的本質是解決問題,并在不斷地解決問題中訓練思維進階。組織實施微項目學習時,應做好以下工作:(1)設定微項目學習目標。在學科大概念統領下,全面剖析教材知識體系,整合教學內容,確定單元和課時的核心知識和關鍵能力,這是微項目設計的出發(fā)點和歸宿點。(2)分層設計微項目任務。依據課程標準、教材要求和學情分析,教師選擇提供一組多個基于真實問題、適宜合作探究、契合學習主題的微項目任務,支持學生根據自己的興趣愛好選取。(3)確定驅動性問題串。提出一些富有挑戰(zhàn)性又貼近生活實際的真實問題,驅動學生在微項目活動中不斷探究,反復修繕作品,讓學生的學習更加積極主動、更有意義。(4)提供學習資源和認知工具,讓學生事先掌握常量、變量、數據類型、運算符、表達式、函數和三種程序設計結構等Python 語言基礎知識,確保每個小組選定的微項目符合預設的學習目標,并能順利完成當堂學習任務。
在微項目確定之后,教師根據問題實際、知識邏輯和學生認知等,對微項目進行整體規(guī)劃,確定微項目所涉及的核心知識和關鍵能力。前者要求微項目涉及內容要覆蓋單元課時知識點,為學生提供一系列多維度學習活動體驗。例如,選擇單分支、雙分支、多分支或嵌套分支結構實現條件判斷;選擇for 語句、while 語句實現循環(huán)控制;以及在循環(huán)中break、continue、exit、pass 的區(qū)別等。后者要確保微項目的能力要求符合微項目學習總體框架和基本思路,能整合微項目涉及的基本問題,激發(fā)學生學習興趣,培養(yǎng)學生的批判性、創(chuàng)造性高階思維[2]。例如,編寫Python 程序模擬擲骰子,將2 粒骰子連續(xù)拋擲50 次,記錄出現的點數及其頻次。為此設計微項目學習任務群,如表2 所示。

表2 擲骰子微項目學習任務群設計
在微項目學習中,學生以小組為單位,在教師組織下開展自主合作探究學習。他們在組長的帶領下,清楚自己所扮演的角色、承擔的任務以及即將完成的任務;對照評價量規(guī),積極參與深度學習;與同伴一道進行任務分解、責任分工和協同互助,共同完成微項目學習成果的生成與迭代。期間,教師可以向學生講解示范基礎知識與基本技能,或者借助Toontalk、Blockly 等可視化編程工具將計算思維外顯化表征,或者應用跨學科融合設計發(fā)展計算思維,或者采用小組協同編程方式,進行團隊角色合理分工[3]。但是,教師不宜過多地參與學生學習新知,應當促進學生投入“定向(Own it)、內化(Internalize it)、強化(Consolidate it)、掌握(Learn it)、分享(Share it)”的生本學習設計框架(李英蓓,2017)。課堂組織實施微項目學習,為了讓課堂教學更加精彩,需要多重發(fā)力:(1)解讀課標、挖掘教材是關鍵;(2)更新理念、項目選擇是基礎;(3)問題解決、思維創(chuàng)新是重點;(4)有序組織、學法指導是保障;(5)學習評價、激勵發(fā)展是根本。如前述設計開發(fā)“模擬擲骰子”Python編程微項目,目標是創(chuàng)建模擬擲骰子的Python 程序;問題是如何產生隨機數;任務是當接收用戶鍵入字符時,使用random 模塊生成一個1~6 之間的隨機數。Python 部分源碼如圖1 所示。

圖1 模擬擲骰子Python 部分源碼
精彩的課堂總結可以幫助學生梳理歸納所學的理論和技術,建構聯系緊密、結構清晰的知識體系,發(fā)現知識點的內在聯系和規(guī)律。核心素養(yǎng)視角下的微項目學習是讓學生通過對富有挑戰(zhàn)性任務的持續(xù)探究,對核心知識的復盤、再思考和再建構,完成微項目學習任務和作品的制作與展示。前述學生完成了“模擬擲骰子”Python 代碼編寫,在組內、組間、全班分享自己在微項目學習活動中的體會感受,交流自己在編寫程序代碼中遇到比較復雜的難以理解的問題,如:函數模型、邏輯結構、算法設計等,而后又是如何嘗試做到細化分解難題、各個突破,最終解決問題的。這些基于問題解決的知識應用統整都是有益的學習經驗分享。
學習成果展評是微項目學習中不可或缺的重要環(huán)節(jié)。它可以讓學生更加積極主動地投入學習,還可以讓學生從學習新知走向協同創(chuàng)新之路。例如,在“模擬擲骰子”的Python 編程教學中,利用了微項目學習教學法,學生以小組形式進行了初步的程序編寫,課結束時讓學生將自身作品做班級展示,并對項目成品進行自評與互評。值得一提的是,在微項目學習活動之初,就應該事先設計好學習成果形式和學習評價量規(guī)。同時要注意突破學科本位的藩籬,讓學生的學習走向深入。
綜上所述,高中信息技術課堂實施微項目學習,需要以有序規(guī)劃和執(zhí)行微項目學習步驟,讓學生找到適合自己的知識基礎和發(fā)展需求的微項目為依托。同時,教師要施予必要的學法指導,讓學生順利進行理論與實踐學習。最后,教師需要組織學生進行微項目學習成果展示和評價,讓學生進行復盤、討論和修繕,增強學生的成就感和主動性,提高課堂教學質量。開展微項目學習活動,沉浸式編程體驗讓學生的分解抽象、模式識別和算法描述等編程思維品質得到了顯著提升[4]。微項目學習體現出明顯優(yōu)勢:(1)依標據本遴選的情境素材承載著提高學生認知和訓練學生思維的功能。(2)任務群驅動,問題串主線貫穿課堂有意義的學習全過程。(3)建構模型,培養(yǎng)綜合認知能力,訓練學生高階思維。(4)結合實踐設計的微項目緊扣核心知識,符合學生認知水平。微項目學習在中小學課堂得到了較廣泛的應用,但也出現項目內容淺層零散、忽略育人目標等諸多問題。期待后續(xù)以人工智能教育應用研究為契機,進一步探索基于微項目學習的學生計算思維培養(yǎng)路徑。