候繼倉 馬紅

泰山出版社初中信息技術教材(2018版)首次引入Python編程教學,使用項目式學習來組織課堂教學。教師在教學實施過程中,易存在目標不清、步驟混亂、作品評價和技術總結混淆等問題。下面以項目學習的過程來闡述編程教學實踐。
項目確立,明確教學內容
項目式學習目標通過師生完成項目任務來實現。在任務分析的基礎上,教師必須考慮學生的知識結構和操作技能,設計一個或多個有利于培養學生創新精神和團隊精神的項目任務。在設計項目任務時,可以請學生參與,以提高項目任務的可行性。
(1)項目的確立要滿足以下要求:①從知識點出發來設計項目,明確如何解決問題。②給學生提供自主探索的機會,引導學生自由探索。
(2)分析教材內容做到靶向準確。“用選擇結構程序做出判斷”在整個編程教學中起著承上啟下的作用,既是前一個微項目“數據處理過程”的延伸,也為后面“循環結構程序”的學習提供知識儲備。if選擇結構也是程序語言的重要組成部分。初中生接觸到了更多的學科知識,已有明顯的文理之分,對學科劃分有了一定的了解。初中生也有自己的人生目標,對未來職業有了模糊的認識,學習上有了一定的傾向性。因此,教材確定了課題為《體驗選擇,規劃人生》,將Python編程與人生規劃做了整合,讓學生通過項目實施過程體驗選擇的重要性。
(3)項目選題面向實際應用。根據教材分析,確定本課以“生涯規劃、職業選擇”為主題,貫穿整節課。通過真實的數據讓學生在探究興趣、性格、能力與職業的關系過程中,比對自身特點,選擇合適的職業,明確努力的方向。通過程序設計來了解生涯規劃相關知識,通過程序實現來對照自身需求,既完成了知識的學習,又實現了德育的培養。
(4)教學目標層次分明。基于教學知識點,確定教學目標如下:①能夠根據實際問題的需要,主動尋求高效的數據處理方法。②嘗試用if選擇結構來做出判斷,實現編程。③鍛煉學生的邏輯思維能力,提升學生解決問題的能力,激發學生的創造力和想象力,增強學生的團隊合作意識。其中,學習的重點為if選擇結構的正確使用,學習的難點為用條件表達式構造條件。
項目規劃,設計教學過程
項目規劃是根據項目任務和目標,由學生搜集資料,確定項目實施的步驟和流程,以及作品的呈現形式,并與教師討論,由項目小組寫出計劃報告。依據項目確立的任務,對《體驗選擇,規劃人生》進行了以下項目規劃:①項目過程:依據項目目標,按照興趣、性格、能力等探究方向,劃分三個平行任務(如下頁表所示),將這三個任務分給三個小組分別進行合作探究。②項目目標:由小組成員根據項目特點進行合理分工,設計完成項目實施的方法與目標。
項目實施,在學習中解決問題
項目實施貫穿整個課堂,學生首先明確在小組中的分工,按照確定的步驟和流程操作。學生初次學習Python編程會面臨編寫程序代碼不規范、不嚴謹(符號的全角半角轉換、單雙引號的缺失、代碼的縮進等),全英文界面的錯誤提示信息看不懂等困境,導致程序無法運行下去,學生會恐慌、煩躁,產生強烈的挫敗感。因此,按以下兩個步驟來實施項目。
(1)根據條件做出判斷,編程實現輸入個性特征(興趣、性格或能力),輸出職業建議。讓學生自主學習提出問題,教師順勢呈現本節課的重難點,再用串并聯電路圖、算法流程圖進行演示,學生會很容易用邏輯關系表達式構造條件進行判斷,用if語句來選擇的結構流程,突破本項目的重難點,并最終體驗到完成作品時的成就感。
(2)根據多個條件逐步判斷,整合小組成員智慧,做出比較完整的程序作品,完成任務。通過所學知識的同化、遷移、探究,進而理解和相通,讓學生在實踐中發現問題、討論問題、解決問題,真正變被動學習為主動學習。在完成任務的過程中,根據實際情況和所遇問題創新性地調整方案。用程序的方式把問題歸類,換個角度看問題,鍛煉學生的邏輯思維能力,培養學生用計算機處理問題的思維方式。
通過遞進式的思維發展,引導學生把握住編程教育的本質,認同編程的核心價值,這對于學生未來的發展及其在未來真正創造價值非常有意義。
通過項目交流評價反饋總結學習成果
項目任務完成后,項目實施者對形成的項目成果進行展示,并根據項目作品的完成情況來評價學生的學習效果。項目評價分為技術總結和作品評價兩部分,突出對于技術的評價。學生先對自己在小組中的參與程度、合作表現和項目實施成果進行自我評價,再由教師對項目作品進行檢查和評估。師生共同討論和評價,對項目中出現的問題進行反思,找出產生問題的原因,并提出修改方案,有些內容可以延伸為下一個項目任務的初始調查。通過評價,進一步檢測、鞏固、掌握相關知識,學生由此能夠脫離編程語言,更純粹地思考如何讓計算機解決問題,培育學生的計算思維。
蒼山點題
編程教育的最終目的是培訓學生的計算思維。北京教育學院教授于曉雅博士說:“編程教育絕不是在培養碼農,而是培養學生的程序設計能力,而這其中最重要的就是流程,在呈現邏輯思維的過程中訓練思維方式,并最終解決生活中的實際問題。”
第一篇文章,從算法與程序的關聯思索與實踐,從淺入深出和深入淺出兩種不同的角度,運用了兩種方式:一是,從易到難,從自然語言到算法框圖、程序代碼的思維逐步提高,逐步成熟;二是,從難分解,根據程序反向應用算法框圖,給出實例印證的體驗,清晰把握。兩者方向不同,用途不同,都可以靈活應用。
第二篇文章,從項目學習的過程,展現給我們一堂極有計算思維深度的編程教學。通過項目學習,學生在活動中逐步體驗選擇結構的邏輯原理、技術操作,學習用程序解決實際問題;同時,學生在編程體驗中融合了“生涯規劃教育”,分析了自己的個性特征,了解了自己的優勢,嘗試規劃未來的學習與生活,極具意義。
由此可見,算法與程序設計的教學天地非常遼闊,期待大家自由馳騁,展現出自己編程教學的靚麗身姿!