高俊
一、程序設計
程序設計大體分為:分析問題、確定問題、設計算法、編程、調試測試、編寫程序文檔這6個步驟。分析問題是對事件本身的分析,找出解決問題的規律,選擇解題的方法等;設計算法是將一個大問題分解為若干個具體的子問題逐一解決;人類通過編程使計算機按照規定的計算方式對某一問題計算,最終得到相應的結果。編寫程序文檔即是程序的說明書,方便他人理解程序。
二、計算思維簡述
周以真認為,計算思維是運用計算機科學的基本概念進行問題求解、系統設計,一級人類行為理解的涵蓋計算機科學之廣度的一系列思維活動。計算思維的本質是抽象和自動化,如同所有人都具備“讀、寫、算”能力一樣,計算思維是必須具備的思維能力。程序設計主要是基于語言級的問題求解,從抽象程度以及理解難度上講,學習語言級的問題求解方法是最適宜、最容易理解計算思維。計算思維可以劃分為四個重要組成部分:算法思維,使用自然語言和流程圖描述問題解決方案;分解,將復雜的問題分解為不同的小問題以求解;抽象,結合分析實際問題抽取共同特征建立問題模型;評價,知道算法的多樣性有意識的設計和篩選算法優化問題解決方案。
三、小學信息技術課程序設計與計算思維
《密碼探秘》是一堂小學六年級的程序設計課。
《密碼探秘》教學目標及重難點
教學目標
1:學生通過使用自然語言描述微信紅包發送密碼驗證判斷,明確密碼驗證工作流程;
2:通過使用“如果-那么-否則”關聯詞,串聯密碼驗證的核心步驟,了解分支結構,掌握判斷命令的使用;
3:通過設計多個密碼及提高密碼的安全級別,鞏固判斷命令的使用并提高學生信息安全意識。理解程序設計在實際生活中的應用。
重點:通過使用“如果-那么-否則”關聯詞,串聯密碼驗證的核心步驟,了解分支結構,掌握判斷命令的使用。
難點:通過設計多個密碼及提高密碼的安全級別,鞏固判斷命令的使用并提高學生信息安全意識。理解程序設計在實際生活中的應用。
在預設的課程“目標2”是算法思維和程序設計的重點內容,同時也體現了計算思維。如果按照傳統的課程設計思路里新知授課,教師會直接告訴學生分支結構的特征與使用方法,但是這樣會導致學生失去思考的機會。
作為一個微信紅包的發送者,學生肯定更關心身份的驗證。思維和語言有著密切的關系。當教師要求學生通過使用自然語言描述密碼驗證時,學生的關注點集中在此過程,驗證通過會怎樣?失敗會怎樣?從計算思維的角度來看,教師設定“目標1”,在課程的開始階段引導學生用自然語言描述了密碼驗證的過程,明確了思考的重點、梳理了驗證的流程。這符合計算思維中的分解與抽象。
《密碼探秘》教學過程片段1
一、導入:微信紅包引入。
1.? 誰能說說微信怎么發紅包?
二、分析密碼驗證環節
1使用自然語言描述密碼驗證過程,精煉自然語言。
(1)輸入密碼(2)判斷(3)顯示發送(4)顯示錯誤
2教師在將學生所描述流程圖,貼在黑板上。
三、學生練習
1 學生根據教師下發的資源包內容,查找Scratch中的命令支撐流程圖的功能。
2學生展示命令并說出在流程圖中的作用。
“當角色被點擊”、“詢問并等待 回答”、“將造型切換為”、“如果-那么-否則”、“等于”…
3學生根據找出的命令上機編寫程序
從本教學過程中,可以看出主體流程是:1生活情景導入;2自然語言描述驗證過程;3抽象問題特征繪制流程圖;4自主探究。這一過程與計算思維培養所特有的分解、抽象非常符合。
計算思維的傳授不是簡單知識傳授即可實現的。要滲透在方法與過程之中,本設計中教師采取使用自然語言描述問題,提煉出自然語言中的關鍵詞,并用如果-那么關聯詞語將分支結構用語言表述出來,一方面使學生容易理解分支結構,另一方面能夠理清分支結構的特點是一種基于條件的選擇。讓學生很順利體驗到了,計算機程序設計的方法與技巧。
流程圖是算法表示的方法之一,在算法與程序設計的教學中,讓學生學會使用流程圖描述算法,可以方便的表述算法,簡化學習過程。但是在實際操作中要避免過多的對流程圖規整性要求,過度在意規整性勢必會影響到創造力的發揮。
在計算思維的培養過程中,教師需要引導學生通過抽象的方法從感性認識上升到理性認識,從而形成解題方法,然后還需要通過設計環節,將理性知識還原到感性認識。本課中教師引導學生制作單密碼驗證程序后,又將學生拉回現實引出生活中多密碼驗證問題。學生將生活中的感性認識在潛意識上與理性認識相結合制作多密碼驗證程序。人們比較容易理解計算機有序地執行即自動化實施過程,同時也能從程序的編制、調試、運行中了解感性到理性、從具體到抽象,最后又從理性回到感性、從抽象回到具體進行校驗的計算過程。
四、小學程序設計課的展望
程序設計教學應該講計算思維的本質:抽象和自動化作為主線,貫穿于程序設計的教學中。從描述問題出發,抽象成解決問題的算法描述,然后用程序設計語言實現問題求解的自動化。程序設計課程應轉變為講授計算思維的問題求解過程,才能達到突出思維方法的訓練。將原來面向語法的程序設計教學轉變為面向問題求解的程序設計教學。教師可以采用一題多解或一題多用的方式來引導學生深入思考,同時也是一種教學策略。例如,猜數字游戲這一實例,可以使用問題和任務的驅動方式,由淺入深、循序漸進地引導學生由編寫小程序逐步發展到編寫較大程序,由“只能猜一次”的選擇程序設計,到“知道猜對為止”的循環結構程序,再到“最多猜三次”的嵌套的循環程序。從而將前后章節的知識點關聯起來,形成問題求解的思維主線。