《普通高中信息技術課程標準(2017年版2020年修訂)解讀》中指出,普通高中信息技術學科核心素養:信息意識、計算思維、數字化學習與創新和信息社會責任。計算思維,作為其中較為關鍵的內容,是高中信息技術課程改革教育的最大亮點,并逐漸受到教育領域的重視與關注。在高中信息技術課程教學中,如果一個學生具備了運算能力,那么他的綜合能力和綜合素質也會有同步提高,教師通過算法和程序設計的教授,能夠提高學生的計算思維能力。所以,教師要從計算思維這個地方進行培養和訓練學生,讓學生的信息技術能力和創新思維能力全方位得到訓練和鞏固,從而夯實學生的計算思維基礎,讓學生的計算思維水平得以提升。
一、高中信息課教學中訓練學生計算思維的意義
計算思維是指運用計算機科學領域的思想方法,在問題解決過程中涉及的抽象、分解、建模、算法設計等思維活動。具備計算思維的學生,能對問題進行抽象、分解、建模,并通過設計算法形成解決方案;能嘗試模擬、仿真、驗證解決問題的過程,反思、優化解決問題的方案,并將其遷移運用于解決其他問題。 教師在高中信息課的教學過程中,不斷地強化學生的計算思維訓練,讓學生逐步學會發現問題、分析問題、解決問題的應用科學的計算思維方法,幫助他們能更好地適應信息化的學習和生活。
二、計算思維訓練在高中信息技術課教學中的現狀
(一)教師對計算思維認識不足。新課標是近幾年開始實施的,教育部門也陸續對教師進行有關的新課標的各種培訓,但是教師對計算思維的認識并不是很充分,雖然知道有效提升學生的學習效能,促進學生個人信息技術素養的發展,是可以通過訓練學生的計算思維達到的,但是教師在接受新課標課程的培訓過程中,并沒有學習到很具體的教學方法,來培養和訓練學生計算思維的能力,部分教師還是沿用以前的教學方法,沒有在實際教學過程中把訓練學生的計算思維放在首位,以致于學生對計算思維的認識不足,從而也無法有效地提高其計算思維能力。
(二)學生計算思維能力較弱。信息技術在大部分地區是非中考和高考科目,所以信息技術教學的重要性很容易被教師和學校所忽略,致使大部分學生對初中所學的程序語言掌握得不扎實,信息技術基礎知識掌握能力較弱,僅屬于學業水平考合格水平,因此學生的計算思維能力較為薄弱。
(三)教育教材延續性差。在小學、初中和高中三個不同階段的教學中,我們發現所使用的教材會出現部分內容相同,而教學順序不同,沒有做到很好地承接、延續以及步步遞進。實際上,信息技術教學跟其他基礎學科的教學是一樣的,在教學過程中,教師是需要不斷地去強化學生對基礎知識的學習和掌握,螺旋上升。但是,如果教材出現版本不一,教學內容的銜接出現了問題,學生在這種情況下的學科學習,即使學習多年,也是很難形成系統性的知識架構和計算思維架構。
三、高中信息技術課程教學中的計算思維訓練方法
(一)轉變教學理念、科學設計,滲透計算思維。我們的教學理念要有所改變,備課時要把重點放在對新課標、新教材和新教法的研究上,只有對新課程理念的把握和理解,明確新課標的意圖和要求,新的教學理念才會很好地運用到我們程序設計的課堂中,我們把書本內容重新按需整合起來,通過大單元教學,設計出相應的項目活動。把訓練計算思維滲透到課堂活動的每一項任務、每一個環節,讓學生充分認識到形成計算思維的重要性,真正做到計算思維的全面培養。
(二)以興趣為中心,優化課堂教學,把培養計算思維落到實處。作為信息技術教師,要學會從學生的興趣入手,在備課時需要花更多的時間來研究教材和鉆研教法,要了解面對的學生,他們的興趣點有哪些,在項目活動的設計上,要盡量貼近學生的興趣點來進行案例設計,努力讓課堂的氣氛變得活躍,提高學生課堂的參與度,逐步讓學生感受到編程的邏輯也能如此迷人,從而更加愿意積極、主動參與到課堂的教學中去。
(三)利用算法和流程圖加強計算思維的訓練。設計算法是程序設計的核心,而流程圖則是以圖形的形式展示算法的執行過程。學生通過對流程圖的閱讀,能夠加深他們對算法的理解,同時對他們的邏輯思維能力、計算思維能力以及解題的嚴謹性也得到鍛煉。所以我們教師要教會學生制作流程圖的方法,借助流程圖來指導課堂教學。一方面,簡潔明了的流程圖把問題解決的思路清楚地展示出來,使到學生寫代碼時的思路更加清晰; 另一方面,圖形化的流程圖,可以將復雜的過程可視化,更容易幫助學生發現程序邏輯上的漏洞和錯誤,及早地對程序進行完善。
四、枚舉法教學實踐案例
本案例來自教科版必修一《4.1算法及其特征》:四位同學A、B、C、D參加面試,其中一位是冠軍。A說:“不是我。”B說:“是C。”C說:“是D。”D說:“C說的不對。”其中三人說真話一人說假話。你能猜出誰是冠軍嗎?怎樣通過程序來解決此問題?
(一)分析問題。先給同學們講一講算法思想,把所有可能出現的答案羅列出來,利用計算機運算速度快、精確度高的特點,該保留的保留,不合適的丟棄,是最簡單直接的枚舉法。通過逐一判斷,驗證出哪些情況滿足問題的條件,從而得到問題的答案。接著可以讓學生根據題設(已知條件),即四位同學說的話,完成表格(填√或?菖),明確求解目標,找出誰是冠軍。利用枚舉法,逐一假設A、B、C、D是冠軍,判斷是否正確。
(二)設計解決方案。其實從上表,學生已經可以找到冠軍的人選了,但是怎樣將自然語言轉換為計算機程序來解決這個問題呢?我們可以先講解“與”“或”等邏輯運算符的運算規則,如A說:“不是我。”可以表示為?i!='A',其中i為枚舉的冠軍選手編號。再讓學生自主寫出題設中的其他邏輯表達式。如i=='C'、i=='D'、i!='D'?等。例題解法的一般結構為循環+判斷,可以提示同學們在枚舉算法的編程中,1.確定枚舉對象和枚舉范圍,驗證題目的成立條件;2.再借助循環句、條件句等進行相應的程序設計,達到解題目的。我們可以讓學生寫出流程圖,把解決問題的思路厘清。
(三)遷移應用。枚舉算法在生活中有著比較廣泛的應用場景,適合解決求解答案數量有限,并且可能的答案是能按照某種規則列舉出來的問題。例如,用枚舉法解決 “韓信點兵”“雞兔同籠”等數學問題。作為知識的擴展,老師會在新課內容完成后,針對相關知識點給出一些練習題,讓學有余力的學生去做,他們可以參考新課的例題,通過模仿,完成拓展練習,在一定程度上增強學生的體驗感和感知力。
責任編輯 邱 麗