李志宜
(福州華僑中學,福建福州 350004)
計算思維由美國梅隆大學周以真教授在2006年首次提出的,按周教授觀點描述“計算思維是運用計算機科學的基本概念進行問題求解、系統設計、以及理解人類行為的一系列思維方式”。計算算法思想并不等于計算思維。計算思維是人的抽象思維活動,而算法就是人的思維活動具體抽象化,同時需要考慮更加實際的“計算”問題描述成具體的方法與步驟,程序設計則是算法在機器上的具體實現,也就是說程序設計中的代碼是對計算思維具體結果體現。正如經典例題求解S=1+3+5+……+ 99的過程方法中,計算思維對具體問題進行抽象和推理處理,同時考慮計算機工作特性、執行效率而采用的“直接從1累加到99”的解決方法。算法則考慮實現這個方案時具體用到何種方法、采取何種步驟,具體到輸入、輸出、循環、累加、計數等。程序設計則是以代碼形式把算法所描述的方法與步驟“翻譯”成機器能理解、接受的操作,以VB為例就要用到“Do/While”循環語句、賦值語句、計數“S=S+1” 語句等來實現,通過計算機調試運行程序并得到最終正確結果。
由此可見,計算思維是人類解決問題的科學思維方式,算法是對計算思維的具體描述設計,程序設計則是借助計算機實現算法設計。
在課堂教學中,算法與程序設計課程內容教學可以讓學生從體驗算法思想入手,然后逐步到理解算法在解決問題過程中起的作用,對較為復雜的任務分解成較簡單的幾個問題,設計解決問題的算法,并采用模塊化和系統化的方法使用一種程序設計語言編寫程序代碼,以實現算法解決問題的目的。培養學生針對不同的問題選擇適合的方法,設計不同的解決方案,同時把解決問題的計算思維和解決問題的方法拓展延伸到平時學習生活中,培養學生利用計算機解決實際問題的能力。因此從教材設置上看,程序設計板塊是培養學生計算思維的關鍵章節。
計算思維最根本的內容及其本質是抽象和自動化,其中的“抽象”可以理解為解決問題時超越物理的時空觀并完全用符號來表示,比如程序構成就包含有常量、變量、函數、語句等選定的符號代碼;其中的“自動化”理解為解決問題的詳細的、具體的步驟,也是馮諾伊曼存儲程序運行程序原理。
利用計算思維思考問題不僅僅限于計算機科學領域,日常生活的各個領域也同時存在,從日常生活小小問題到國家層面的國計民生的大問題解決都需要用到計算思維。借用聯合國教科文組織對程序設計有一段比較通俗的描述“這里所指的程序設計非技術性的程序設計,更確切地說應該是把‘你自己做的事情’轉變成‘別人能做的事情’”。那么如何能實現其他人或者機器重復而準確的“替你做”?這就需要你能科學準確地描述完成任務的具體方法和步驟,就是能完成任務的“自動化”程序設計。因此,信息技術程序設計課堂教學是培養高中學生計算思維的有效途徑。在課堂中,應注重引導學生用計算思維方式思考問題設計問題解決方案,通過日積月累使學生養成科學的思維方式,然后把計算思想拓展延伸到日常學習生活的諸領域。
從德國心理學家艾賓浩斯的遺忘曲線規律研究可以發現,及時鞏固練習將有助于形成記憶,當學習的內容超過一定時間將出現大量遺忘。程序設計課堂是實踐性較強的課程,及時的訓練才能理論聯系實際,才能增加學生的記憶深度。長期記憶深度訓練是形成良好記憶效果的前提,學生具備良好的記憶是計算思維形成的條件保障。
在傳統教學中,由于內容缺少趣味性導致學生提不起學習興趣,所以程序設計教學要從學情出發,選擇學生身邊的、興趣的、有貼近生活意義的程序,激發學生的學習興趣。比如選擇IF語句教學中,選取貼近學生生活的“錘子剪刀布”游戲內容,選取具有閩南文化傳統生活的“中秋博餅”小程序進行教學,通過實訓內容的趣味性、綜合性等來增強學習的難度,來實現強化學生計算思維訓練的目的。
計算思維活動是人腦的獨立思考活動,由于人的認知差異所形成的問題解決方案也是多樣的,同一問題可以有不同的解決方案,同一方案可以有不同的算法設計。教師在教學中必須尊重每位學生的認知差異,鼓勵不同方式算法表達,鼓勵不同方法實現問題求解,并給予及時適當的評價,這就是從學情出發尊重不同的認知,以達到多元化訓練學生計算思維的目的。
比如把學生分為參加信息學奧賽的基礎好的“奧賽班”和參加普通高考的“高考班”學生來區別對待,“奧賽班”學生在完成普通“高考班”學生的教學內容外同時還得要加強基于計算思維案例的實訓內容以強化計算思維的培養。對于“高考班”學生,則按高中課程標準要求來學習,側重對問題求解能力的一般計算思維培養。
根據學情的個體差異,在實際教學中把不同程度的學生按比例調配組成平均的學習互助小組,在解決問題時要求先有組內學生充分交流討論以形成最佳的解決問題方法。交流討論是為了提高學生學習效果,只要有思想上嘗試交流,學生就能在過程掌握了學習到別人的方法有助于不同程度鞏固知識、開闊視野、思維訓練、提升興趣和增強成就感。在組內產生合作競爭,互幫互助,在合作中競爭也在競爭中合作。分組互助協作學習模式能使學生的主觀能動性得到充分發揮,同時計算思維伴隨著問題的解決得到了培養。