王丹 北京市通州區潞河中學
陳寶杰 北京市匯文實驗中學
《普通高中信息技術課程標準(2017年版)》倡導基于真實情境解決問題的項目式學習方式。基于項目的學習是指學生在教師引導下發現問題,以解決問題為導向開展方案設計、新知學習、實踐探索,具有創新特質的學習活動。“算法與程序實現”單元的教學目標之一正是幫助學生形成運用計算機解決問題這一關鍵能力。那么,如何有效地運用項目式學習法來開展高中“算法與程序實現”單元的教學呢?下面,筆者以“開發飛花令比賽程序”為例,詳細闡述如何將項目式學習與“算法與程序實現”單元進行有效整合的方法。
在利用計算機編程的方式進行問題求解時,通常需要經歷提出問題、分析問題、設計方案、編程調試和解決問題環節。其中,分析問題主要是明確問題的目標和條件等,將問題進行抽象,通過建模的方式界定問題,用數學模型、文字、表格或圖形等不同的形式描述問題。設計方案一般包括根據需求分析進行問題功能分解和算法設計。[1]
項目式學習流程通常包括項目啟動與準備、項目規劃與設計、項目實施與學習、項目交流與評價。項目是以制作一件具體的、有實際應用價值的作品為目的的學習任務。項目啟動與準備階段需要教師提前確定項目方案,學生確定分組分工,師生協商評價標準。項目規劃與設計階段需要學生確定項目主題,規劃設計成果方案。項目實施與學習階段是項目學習的重要階段,學生大部分的知識習得和技巧掌握都在這個過程中完成,同時在該階段學生還要應用所學知識和技能完成最終作品。項目交流與評價則是對項目成果和學習過程進行評價。
經過對比和思考,筆者發現項目式學習流程和用計算機解決問題的過程存在一定的對應關系。在對“算法與程序實現”單元實施項目式學習時可以采用設計單元學習主副線的方式來進行。用計算機解決問題的過程是編程學習的基礎知識之一,可以作為單元學習的知識主線,而項目式學習可以作為單元學習的方法副線。主線為明線,副線為暗線,雙線并行,共同推進學習進程。
在“開發飛花令比賽程序”教學案例中,項目式學習中的“項目規劃與設計”對應“分析問題和分解功能”,“項目實施與學習”對應“設計算法和編程調試”等,具體設計如下圖所示。
考慮到項目的選擇會影響學生的參與度和積極性,教師選取了貼近學生的學習和生活經驗,能引起學生的探究興趣,具有一定難度和創新空間的半開放主題“如何開發飛花令比賽程序”。此外,還組織學生進行了科學分組并填寫小組分工表(如表1),教師帶領學生明確項目任務及成果形式,討論并初步確立小組程序的評價標準。

表1 小組分工表
計劃是項目式學習開展的指向標,影響著項目的推進與成功,因此,項目式學習需要提前制訂好計劃。在本案例中,學生需要根據階段1中教師提出的“開發飛花令比賽程序”主題,討論確定小組的項目主題;然后基于本組的項目主題進行具體的問題分析,如可以從已知條件、求解目標、已知和未知的關系三方面來分析問題;接著利用“小步子、分步驟”的思想,將復雜的問題分解成一個個具有聯系的子問題,再逐個解決,這樣有利于降低問題解決的難度,增強學生解決問題的自信心。[2]
在本階段,教師先采取范例教學法,引導學生經歷分析問題和分解功能的具體過程。然后,采取小組學習和組內頭腦風暴等方式,組織學生在項目活動記錄單的指引下完成計劃,如小組程序方案,主要解決核心問題下的關鍵問題一“如何設計小組程序方案”,具體如下頁表2所示。

表2 各小組的程序方案匯總表
項目實施與學習階段是取得項目成果的重要階段,通常包括活動探究和制作作品。活動探究是學生在解決問題的過程中獲取新知識的過程。制作作品是運用已有的知識技能完成作品的制作,能反映出學生在項目式學習中獲得的知識和掌握的技能。本案例將活動探究和制作作品相融合,邊探究邊制作作品。
首先,教師采取范例教學法,引導學生通過完成算法流程圖拼圖練習來設計算法,再通過對比分析不同的流程圖,學會優化算法的方法。其次,教師引導學生根據作品評價量規,綜合應用順序、選擇、循環三種程序結構及自定義函數等舊知并學習二維列表等新知,編程實現算法,完成范例模仿練習。再次,學生通過小組合作和自主探究等學習方式,根據階段1中討論確立的小組程序評價標準,利用項目活動記錄單、學習網站等學習資源,動手編寫并不斷調試改進小組程序,最終解決核心問題下的兩個關鍵問題“如何設計并優化算法”及“如何編程實現小組程序功能”。
項目交流與評價階段包括成果交流和活動評價。成果交流是對項目學習整個學習過程的總結、體會或經驗的交流、作品的展示等。活動評價是對項目學習過程進行反思的有效途徑,既要對項目成果進行總結性評價,又要對項目學習過程進行形成性評價,還應實行自我評價、組內和組間評價,保證評價的多樣性。
在本案例中,教師先組織指導各小組梳理自己的項目學習情況。例如,小組成員一起討論小組程序的完成情況:已經實現了哪些功能?還有哪些功能沒實現?設計亮點是什么?后續打算對程序做什么改進?此外,請每名組員簡述對項目的學習感想。學生可以結合該項目程序的開發經驗,思考繼續開發什么程序,該程序主要實現什么功能。在討論過程中,組長負責將討論結果整理并填入“項目活動記錄單”。接著,各小組一起交流學習過程和學習感想,展示程序作品。全體學生利用評價表,主要從技術性、趣味性、創新性、友好性四個方面對小組程序進行評價,再結合演講表現、合作情況等對各組進行綜合評價,最終解決核心問題下的關鍵問題四“如何評價學習成果”。
項目式學習是對復雜、真實問題的探究過程,也是精心設計項目作品、規劃和實施項目任務的過程。在開展“算法與程序設計”的教學中,教師要著重注意以下幾點,以保證項目式學習的順利開展。
項目主題應該貼近學生的學習生活。“開發飛花令比賽程序”就是一個基于真實問題的綜合實踐項目,旨在將技術與文化融合,最終形成的項目作品具有實用價值,能真正輔助學生學習古詩詞,學生的學習興趣和成就感都很高。
項目式學習的任務通常具有較強的綜合性,更適合由小組成員通力合作完成,因此適合采用小組學習模式。為避免小組學習流于形式,必須做好科學分組及分工,在開展“開發飛花令比賽程序”項目教學時,教師設計了組長、設計總監、技術總監、測試總監、發言人這五個職務,盡量發揮每個組員的優勢。
項目式學習通常圍繞問題解決開展,不一定按照傳統的知識體系順序學習。在學習的過程中容易出現知識點多且散而雜的問題,教師可以通過自主開發學習網站等方式整合文字、圖片、視頻等不同形式的學習資源,盡量滿足不同學習方式的學生需求,為其個性化發展及合作學習奠定基礎。
項目式學習通常歷時較長,需要定期交流評價。“開發飛花令比賽程序”這個項目在開展過程中,在定方案、創作品等各個階段教師都會組織學生展示交流,并在課后及時進行量化評價。在評價時,不僅要根據方案評價表和小組程序評價標準對各個小組作出評價,還要依據范例學習效果評價表、范例練習評價標準、學習表現評價表,從合作學習、規劃設計、范例練習及小組程序四個方面對每位學生進行綜合評價,及時掌握學生的學習情況并動態調整教學。
項目式學習具備很多優點,但任何一種教學方法都不會十全十美。作為信息技術教師,需要學習并理解多種教學方法,并根據實際情況將它們有機結合在一起,通過多實踐、勤反思、善總結的循環往復過程,最終達到提升教學質量的目的。