許迎春
(山西省太原市迎澤區第三實驗小學校,山西 太原 030012)
中國為了讓學生適應未來社會的發展,在《新一代人工智能發展規劃》提出“實施全民智能教育項目,在中小學階段設置人工智能相關課程,逐步推廣編程教育”。現在全國各地有條件的地區都在大力推廣編程教育。太原市迎澤區也在中小學階段全面開設了編程課程。信息技術學科核心素養包括信息意識、計算思維、數字化學習與信息社會責任。隨著信息技術學科核心素養的提出,在信息技術課堂中,教師既要傳授學生信息技術學科的基礎知識與操作技能,更要在學習過程中培養學生的計算思維等核心素養。在小學階段開展圖形化編程教學能夠很好地發展學生的計算思維,提高學生運用計算機科學領域的思想、策略、方法、技術等解決真實生活問題的能力。而在程序設計中,流程圖是幫助學生理解算法的工具之一。規范、合理的流程圖,使算法設計能夠邏輯清晰,使編程更加直觀高效。
流程圖使用一些標準符號代表某些類型的動作,如決策用菱形框表示;具體活動用方框表示。一個流程圖包括3 個部分:①表示相應操作的框;②帶箭頭的流程線;③框內外必要的文字說明。但比這些符號規定更重要的是要清楚地表達各種操作的順序。
編程教育是信息技術課程標準拓展性教學內容的主要組成部分。編程教學是圍繞程序設計開展的教學活動,在小學通常采用“慧編程”、“Mind+”、Scratch 等編程軟件,進行圖形化編程教學,構成程序的命令和參數要通過積木形狀的模塊來實現。編程教學的目標,旨在發展學生計算思維能力和解決問題的能力,提升學生的創新創造能力。
項目化教學是師生通過共同實施一個完整的項目工作而進行的教學活動。其實施的流程分為五個階段:教師提出任務,學生討論;學生制定計劃,教師審查并給予指導;學生按照計劃分組及明確分工合作完成項目;學生自我評估,教師評價項目;記錄歸檔,應用實踐。
小學編程課程采用項目化教學最顯著的特點,是由以教師為中心的課堂轉變為以學生為中心,由以課本為中心轉變為以“項目”為中心。在課堂上以完成項目任務來貫穿,能夠讓學生主動地動腦思考,動手操作,避免整堂課聽著教師照本宣科地活動,這種教學方式普遍受到學生的歡迎。項目化教學在小學編程課程中的運用是對傳統教學方式的改革,這對教師的綜合教學內容把握能力提出了更高的要求。
建構主義的核心是學習不僅是老師傳授知識的過程,更是學生吸收知識的過程。學生通過自主學習或小組合作學習,積極主動地采取行動,充分利用身邊的學習資源進行信息處理和意義建構。
第一,建構主義要求在情境中的教學。而項目式教學也要求學生基于生活中真實情境中的問題或項目來開展教學活動。第二,建構主義要求學生學習的過程是自主探究的過程。而項目式學習中,學生以小組形式自主地設計項目作品,從規劃、實施到評估、歸檔,都是學生小組內或小組間的活動,教學的全過程是完全自主的探究過程。
雖然項目化的教學方式激發了學生學習的主動性,但是項目本身比單一的教學內容體量大,學生在規劃項目初期就會出現思維混亂、無從下手、東一榔頭洗衣棒槌的現象。因此在教學中引入流程圖,能夠幫助學生梳理項目設計思路,將腦海里的知識內容整合、銜接。運用流程圖進行項目規劃設計之后,學生的編程思路明顯清晰起來,編程效率得到進一步提高。
下面以“識記英語單詞小游戲”為例,介紹流程圖在編程課程項目化教學中的具體應用。
該步驟由教師綜合考量教學內容、教學目標,聯系學生學習生活實際,提出一個可行的項目任務:制作一個識記英語單詞的小游戲。要求必須有人機交互的問答部分。接下來教師列舉一些實例,可以針對典型實例,用流程圖來表示它的算法操作過程。這樣可以給學生接下來規劃小組的項目時提供參考案例。除了讓學生明確項目任務,在這個步驟中教師還需要讓學生明白最終作品的評價標準和整個項目過程的評價標準。
在這個步驟中,學生首先自行分組,小組內討論要設計什么樣的“識記英語單詞小游戲”。組內要討論采用哪些角色、每個角色要執行什么樣的操作。然后要統一意見,將編程的算法用流程圖的形式畫出來。此時不要求學生畫出的流程圖是精確的,只是用流程圖來梳理大家初步制定的項目計劃。之后要將初步畫好的流程圖草圖給指導教師查閱。教師會從整個算法的目標是不是符合項目任務、算法的復雜度是否適中、可能會出現的問題對小組給出的流程圖草稿提出建議。學生根據教師的建議對流程圖進行修改后,教師肯定后才能進行下一步的項目實施階段。下面是兩個優秀小組的流程圖:
從上面的流程圖教師可以清楚地知道學生要設計什么樣的編程作品,程序的算法是怎樣執行的。在規劃項目計劃這個步驟中流程圖的作用是非常關鍵的,只有學生設計出相對合理的流程圖,才能確保接下來的腳本設計能夠順利實現。這個合格的流程圖是學生們進行積極討論,考慮多方面因素,去除不需要、不合理的部分,又要保留小組特色,最終達成共識的結果。得來確實不易。
這時有了明確的流程圖,學生就要根據流程圖進行腳本設計。圖形化編程的好處是不需要寫代碼,而是采用拖動相應的指令積木,然后將積木組合在一起,就和壘積木一樣。這樣直觀形象的編程方法符合小學生的認知水平和操作能力。在腳本設計的過程中,有時學生會發現無法實現流程圖要求的操作,需要進行修改;有時發現流程圖描述的算法不夠細致,需要進一步細化;有時發現編出的腳本偏離了流程圖的方向,需要進行糾正等等。這些都是正常現象,在編腳本的過程中,就是要看一看流程圖、編一編腳本、執行一下結果,再改一改流程圖、改一改腳本、執行一下結果,這是個循環往復的過程,直到腳本的執行結果符合任務要求為止。流程圖在這里就好像貫穿文章的線索,將所有的事件都串聯起來。
在這個步驟中,首先要由小組代表來展示他們的整個項目的規劃過程,通過流程圖來闡述作品的算法操作,然后展示最終的游戲結果。同組的其他同學來介紹作品的優勢與劣勢,需要改進的地方,以及自己在整個項目的規劃和實施過程中有哪些收獲。這樣的一種流程圖闡述加作品展示的過程,使得其它學生能夠更加清晰地明白這個小組的作品執行過程以及最終的結果。
這時其它小組學生根據展示小組的闡述,來對作品進行評價。指出他們作品的特點,或者提出改進建議。教師也要對流程圖和作品的不足之處給出改進建議。該小組根據大家給出的建議或意見,對本組作品進行進一步的完善。在這個師生、生生的評價反饋過程中,是大家在小組以外一個更大范圍的不同意見的碰撞,學生能清楚地知道自己小組的作品在他人眼中是什么樣子的,從而有一個準確的定位。通過傾聽他人的意見,也會明確作品的修改方向。
在這個步驟中,學生要將小組的流程圖、最終作品以及在制作過程中的記錄的表格等進行整理。教師要對學生小組的項目實施過程進行總評記錄。將優秀小組的項目作品和有借鑒意義的作品進行保存歸檔。學生在項目總結的過程中,會進一步認識本次項目中有哪些成功的經驗和失敗的教訓,為下一個項目的開展打下一個好的基礎。
總之流程圖在小學編程項目化教學中的應用,既使得教學的邏輯更加清晰,也使得學生能夠順利地進行項目的實施。但在實際的教學中要充分考慮小學生的認知和接受能力,他們只能接受簡單的流程圖,嵌套層數較多的流程圖并不適合這個階段的學生學習,復雜的流程圖難以閱讀也難以設計,只會增加學生學習學習難度和畏難情緒。教師對流程圖的教學應遵循循序漸進的原則。從算法簡單的順序結構流程圖,到有選擇結構的,再到循環結構的,從只有一個結構的算法再到有兩個、三個結構的算法。教師從易到難、從簡到繁的教學,并根據學生的實際接受能力進行實時教學難度的調整,才能真正促進小學生邏輯思維能力的發展,增強他們運用編程的方法解決生活實際問題的意識和自信心。