胡承豐

浙江省新高考已經進行了四年,技術科目的蓬勃發展吸引了眾多考生。技術課程實踐性強,突出動手能力和創新精神的培養,其中“算法與程序設計”模塊對學生的抽象思維和邏輯思維能力要求較高。因此,作為技術學科重頭戲的“算法與程序設計”模塊,往往令技術選考生們望而生畏。
“算法與程序設計”不同于以往的任何一門課程,它代表著一種全新的思維模式,沒有任何基礎的高中生學習起來有一定難度。如何幫助他們突破程序學習的壁壘,除了常規的習慣養成,還需要具有創新的教學方法與策略。筆者經過長期的探索與實踐認為,在程序教學中借助Raptor可視化程序設計環境,從結構算法顯性化、方法形式多元化和習慣養成三個維度的教學策略入手,可以幫助技術選考生突破程序學習的難點,高質高效地提升他們的算法與程序設計能力。在程序教學中,使用Raptor輔助教學的具體教學方法與策略,如下圖所示。
● 結構算法顯性化,突破思維屏障
Raptor軟件繪制流程圖克服了傳統流程圖無法直觀體驗算法運行實現效果的缺陷,將程序結構算法動態、直觀、真實地展現在了學生的面前,幫助學生繞過思維的屏障,使他們能邊看邊思考,真正地理解程序的控制結構和算法思想,更輕松地學習程序設計。在具體教學過程中,筆者通過Raptor幫助學生理解程序的三種基本控制結構和各種基礎算法。
1.利用Raptor幫助學生理解程序的三種基本控制結構
理論和實踐證明,無論多復雜的算法均可通過順序、分支和循環這三種基本控制結構構造出來,它們是程序設計中的基本框架。對基本框架的理解,有助于學生對程序結構的整體把握,為后續學習打下堅實的基礎。
2.利用Raptor幫助學生理解各種基礎算法
如果說語法和結構是程序的肉體和骨架,那么算法就是程序設計的靈魂,算法思想與問題求解的思路是程序設計的重點。Raptor將復雜的算法結構動態展示,讓學生了解算法的來龍去脈,理解算法的本質,把握程序設計的精髓。
● 方法形式多元化,激發學習興趣
程序學習相對其他科目來說,不僅難度大,而且略顯枯燥、乏味,如果教師不注重學生學習興趣的培養,很容易讓學生產生畏難情緒,不利于該課程的開展和學生的持續發展。因此,在使用Raptor輔助教學的過程中,筆者根據高中學生的學習特點和身心發展規律,以豐富多彩的教學內容和靈活多樣的教學形式,激發和培養學生的學習興趣。
1.挖空留白,降低學習難度,激發成就感
程序設計初學者普遍存在沒思路、不知從何下手的問題,此時如果不加引導,學生無法獲得成功的體驗,很容易自暴自棄。在最初使用Raptor設計流程圖或者遇到有一定難度的項目時,可以適當降低要求,不要求學生完成整個的流程圖,對關鍵部分采用挖空留白的方式,排除一切干擾因素,有效降低學生的認知負荷,達到讓學生“會思考”的目的。這樣做既達到了教學目標,又能讓學生體驗成功的樂趣,激發學生的成就感。
2.設置分層任務,滿足不同層次學生的需求,促進個性化發展
學生對程序的認知和理解存在著思維的差異性與層次性,在使用Raptor輔助教學的過程中,筆者將問題細化,分級呈現,方便學生自主選擇學習任務,進而循序漸進地分層學習。基礎任務面向全體學生,而拓展作業難度相對大一些(既是對所講內容的補充和提高,又是對部分學習水平較高的學生的能力的提升、知識的拓展與引領)。合理的分層任務讓所有學生都能得到相應的提高,同時也促進個性化發展。
3.著眼算法多樣性和算法優化,體驗算法魅力
在使用Raptor的過程中,可以引導、鼓勵學生獨立思考,提倡算法多樣化和算法優化,讓學生感受算法特有的思維魅力,進一步內化學習動機,激發學習興趣。優化算法是一個逐步領悟、自我體驗、自我選擇的過程,是學生自我完善的過程。學生在展示交流、討論的過程中,受到啟發,產生對自己的算法進行改造的強烈愿望。
4.精選課堂范例,增強趣味性,活躍課堂氣氛
在實施教學的過程中增強教學的趣味性,能更好地調動學生的多種感官參與學習,優化教學過程,營造良好的學習氛圍,使學生的思維變得活躍、思路變得開闊,是構建高效課堂的重要手段。在使用Raptor輔助教學的過程中,可以通過精選課堂范例,增強課堂趣味性,活躍課堂氣氛,讓學生在輕松愉快的環境中感受程序學習的樂趣。
● 習慣養成,強化程序思維
學習程序設計的目的不僅僅是讓學生學會寫幾段代碼,或掌握那些解決問題的工具,更重要的是培養學生的程序思維,訓練解決問題的思維方式,有效提升解決問題的能力。
在程序學習過程中,使用Raptor制作流程圖,可以幫助學生養成先理解思考,再規劃,最后實施的習慣,其實也就是程序思維的培養,程序思維的培養能讓學生在處理問題時效率更高。
“算法與程序設計”是高中生頗為頭疼的內容。在教學中可以通過Raptor可視化程序設計環境的輔助,從上述三個維度出發,將結構算法顯性化,幫助學生突破思維屏障,通過多元化的方式方法,激發并保持學生的學習興趣,使之逐步養成良好的程序思維習慣,最終讓學生具有良好的程序實現能力,促進學生信息技術核心素養的提升。