鄭蘇 馬昊學 韓金博





國務院發布的《關于新時代推進普通高中育人方式改革的指導意見》[1]中明確指出,2022年前全面實施新課程、使用新教材,德智體美勞全面培養體系進一步完善,立德樹人落實機制進一步健全,適應學生全面而有個性發展的教育教學改革深入推進?!镀胀ǜ咧行畔⒓夹g課程標準(2017年版)》[2]是在新課程改革指導下出臺的指導高中信息技術課程實施的課程準則,課標中指出新課程倡導基于項目的學習方式,將知識建構、技能培養與思維發展融入運用數字化工具解決問題和完成任務的過程中。項目化學習有利于學生對知識的深度掌握,基于項目化的高中信息技術教學設計,可以為學生創設真實、復雜的問題情境,驅動學生構建知識,促進學生問題解決能力的發展,可以讓信息技術科核心素養在課堂真實生長[3]。
1 項目化學習的概述
項目化學習又稱項目式學習,是一種建構主義理念下以學生為中心的教學方式,與基于問題的學習、探究性學習一樣,都是一種以問題為驅動,注重持續性的深入探究的學習方式。項目化學習主張學生通過小組協作的方式,以真實情境中的驅動性問題為導向[4],項目化教學開展目前沒有固定的流程,但整體上大致分為項目設計、項目實施、和作品展示三大環節,經歷項目規劃、實施、復盤、反思、成果產出、多元評價等一系列學生自主學習的過程,設計指向具體概念性質的核心知識,促進學生對知識的遷移和深度理解[5]。項目化學習的內涵是學科常態化的教學模式,是育人標準、教學內容,學習方式、評價方式四位一體的系統變革。項目學習是從學習方式切入,切入上層的是育人標準、教學內容,下推的是評價方式,四位一體必須同時推進才能實現真正的項目化學習。
2 信息技術項目化學習設計的思考
核心素養導向的高中信息技術教學設計強調以學生為主體,注重學生的前認知,倡導創設真實的探究環境,教學設計應基于學生的高度參與、深度思維、情感內化進行開發[6]。項目化學習應凸顯探究性與高階思維的特征,對基礎知識和基本技能的包容、整合程度高,能更好地提升教學價值[7]。在新課改實施過程中,項目化學習應用于信息技術教學能夠建立起知識的連貫,將碎片化的知識內容融入項目設計中,讓學生在探究項目的過程中實現對知識內容的理解與掌握。以必修一《數據與計算》中的第二單元算法與程序實現為例,人教版書中給出的案例為“編程控燈利出行”,通過與一線教師進行訪談交流發現,教師在課程實施過程中希望能以一個融貫三大結構的項目案例用于課堂的教學,為此設計基于高鐵售票系統的項目化教學案例,將順序結構、分支結構和循環結構融入項目。
3 基于項目化學習的信息技術教學設計流程
項目化教學設計的核心流程一般包括選定主題,制定計劃、探究實施、展評分享四個大的流程。為便于項目化教學的開展,細化了項目化教學設計流程,具體分為項目概述、對應的課程標準、項目目標、框架問題、項目時間線、評價時間線、教學過程。教學過程又細化為項目實施前、項目啟動、項目實施中、成果展示、項目實施后和評價計劃。
4 項目式學習設計——以“高鐵售票系統”為例
4.1 項目概述
“高鐵售票系統”項目設計以新教材必修一《數據與計算》模塊“算法與程序實現”主題的內容,通過學習Python程序設計基礎的相關知識,了解程序設計的三種基本結構——順序結構、分支結構和循環結構。學生在項目的學習中,通過繪制流程圖、設計算法、編程實現等活動,體驗程序設計的一般過程,熟悉程序基本控制結構的種類和流程[8],以自主探究和小組合作等方式實現高鐵售票系統的賬戶登錄與驗證功能、輸入健康碼判斷能否通行以及自動售票等功能。
4.2 對應的課程標準
新課標在必修課程模塊——《數據與計算》的內容要求中提及掌握一種程序設計語言的基本知識,并能使用程序設計語言實現簡單算法。能夠通過解決實際問題,體驗程序設計的基本流程,感受算法的效率,掌握程序調試與運行的方法。在學業要求中提出依據解決問題的需要,設計和表示簡單算法,通過“高鐵售票系統”的學習,學生能夠達到課標中相關內容要求及學業要求的標準。
4.3 項目目標
本項目目標從信息技術核心素養出發,具體的項目目標如下:
計算思維:針對給定的任務進行需求分析,明確需要解決的關鍵問題;運用基本算法設計解決問題的方案,并能使用編程語言實現。
數字化學習與創新:針對特定的學習任務,運用一定的數字化學習策略管理學習過程與資源,完成學習任務,創作作品。
從項目具體的知識內容出發,具體的項目目標如下:
1) 熟悉程序三種基本結構的執行流程;
2) 掌握程序三種基本結構的程序設計方法;
3) 理解程序設計的一般過程并能描述算法;
4) 能夠使用Python語言進行程序設計。
4.4 問題設計
項目化教學中合理的問題設計是教學實踐的良好開端,問題在項目化教學設計過程中起著引導項目開展的重要作用,通過問題的設計,不僅能啟發學習者探索項目的興趣,還能提升學生對核心知識的應用創新能力并在問題求解過程中發展各方面的綜合能力[9]。項目化教學處于不斷發展中,關于項目化教學中問題設計的討論也在不斷深入。項目化學習中的問題應是具備探究性、復雜性的劣構問題,基于真實生活情境提出的問題往往沒有固定的問題解決方案,需要學習者在項目實施前對問題進行系統分析,理清解決問題所需的知識儲備,通過協作交流在完成項目活動的過程中逐步解決問題。
項目的開展以活動為中心,活動是對整個項目的分解,通過活動的開展來完成整個項目。因此在問題設計的過程中,不僅要有針對項目引導問題的設計,也有對活動引導問題的設計。下表1為高鐵售票系統問題的設計。
4.5 項目時間線
4.6 教學過程
項目的活動設計通過整合項目時間線中活動時間線的內容,將項目分為四個活動開展。項目實施前和項目啟動階段設計活動一依據選定項目,進行學情調查,過小組分工,明確小組成員任務,進行探究與交流程序設計語言相關內容,熟悉軟件界面,并清楚Py?thon語言相對于其他語言的優點。
活動二探究順序結構與分支結構,活動目標為掌握順序結構、分支結構和多分支結構的一般格式及程序設計的方法,能夠編寫比較復雜的分支結構程序,活動二通過三個子任務開展。
任務一:實現登錄功能,利用順序結構和分支結構實現登錄功能。購票系統會根據用戶輸入的賬號和密碼,與原有的賬號和密碼進行匹配,若匹配成功,則輸出成功登錄。否則,輸出登錄失敗,其算法設計流程圖如下圖2所示。
任務二:疫情防控,人人有責,在任務一的基礎之上添加核驗健康碼的功能。如果用戶輸入綠碼,則輸出請通行,否則,輸出不能通行。
任務三:優化登錄驗證,利用多分支結構優化登錄驗證程序功能。根據用戶輸入的賬號和密碼,與原有賬號和密碼進行匹配。若匹配成功,則輸出成功登錄;若賬號名不匹配,則輸出用戶名不存在;若密碼有誤,則輸出密碼錯誤。
活動三探究循環結構,活動目標掌握while循環和for循環的語句格式、執行流程和程序設計的方法,理解循環控制語句break和continue,能夠編寫比較復雜的循環程序,活動三通過三個子任務開展。
任務一:完成賬號鎖定程序,在現實生活中,當進行登錄密碼驗證時,如果連續輸入錯誤超過一定次數后,賬戶會被鎖定。其間只有輸入的賬號和密碼匹配,才能進入系統。在購票系統的登錄程序的基礎上,運用while語句,實現每次登錄有3次試錯機會,如果密碼連續3次輸入錯誤,程序將結束運行,其算法設計流程圖及程序代碼如圖3所示。
任務二:實現自動售票程序,以從銀川到西安為例,要經過吳忠、慶陽、永壽西、禮泉南四個站。假設每個站點的票價都為10 元。運用for 語句、列表和range()函數等知識,嘗試編程自動售票程序,實現以下功能需求:循環輸出地鐵站點,根據用戶輸入的起始站以及終點站,計算輸出票價。如果票價低于20元,按照20元計算。票價高于40元,按照40元計算。
任務三:優化自動售票程序在現實生活中,售票系統的價格是根據站點與站點之間的距離來定價的,因此站點與站點之間的票價是不一樣的。銀川站到吳忠站的票價為29元, 吳忠站到慶陽站的票價為123元,慶陽站到永壽西站的票價為55元,永壽西站到禮泉南站的票價為18元,禮泉南站到西安北站的價格為21元。用用for語句、字典等知識內容,優化自動售票系統。
活動四成果展示與總結反思,屬于項目實施后環節。小組展示設計項目、程序和算法思路等內容,對作品進行小組自評、組間互評,教師評價。學生完成“高鐵售票系統”項目結項反思日志,總結開展項目期間的收獲和體會。教師收集項目過程中的資料和項目成果,從項目的設計和實施的各個環節進行反思總結,為今后繼續開展項目化學習積累經驗,項目整體的活動設計表如表2所示。
項目化教學設計的評價涉及多種形式,高鐵售票系統項目包含形成性評價和總結性評價。關于“高鐵售票系統”的評價設計如表3所示。
5 總結反思
本文以“高鐵售票系統”為例,將必修一數據與計算中算法與程序實現內容以項目式呈現,設計符合學生認知的項目,并將知識點貫穿其中。項目化學習在高中信息技術課程中能夠從身邊真實情景出發,與生活的實際應用緊密聯系,使學生真正感受到學以致用,通過項目產品的制作,使學生體驗做中學。但由于項目化學習所涉及的項目一般需要幾個課時完成,高中信息技術課程存在課時少、課與課之間連貫性差,在項目實施過程中會與預期效果有所差距,解決這個問題需要學校、教師與學生共同努力,將項目學習融入課堂教學,真正做到全面提高學生的核心素養。