金婧
計算思維作為信息技術學科的核心素養之一,出現在新修訂的課程標準中。本文以計算思維的“形式化”“模型化”“自動化”特點為依據,以《計算機解決問題的背后》一課為例,進行計算思維培養的教學設計與實踐,探索總結以運用計算思維的方法進行問題求解為主線的教學程式。
● 設計背景
在新課程標準修訂中,信息技術學科核心素養中引入了“計算思維”這一核心內容。這使得我們的教學不能僅僅關注技術工具、操作技能,還要深層次理解這些技術工具,知道它們的工作方法和應用流程,處理好人與技術工具的關系。計算思維作為一個學科的思維方式、思想方法,要讓學生從無到有、再內化為一種自然的思維方式是一個難點,需要學生經歷在各種情境中運用學科思維方式、已有知識和技能分析解決實際問題的過程。
● 設計思路
《普通高中信息技術課程標準(2017年版)》必修模塊1“數據與計算”包含數據與信息、數據處理與應用、算法與程序實現三個部分,涉及數據、信息、算法、程序在內的學科核心概念。本節課內容來源于“算法與程序實現”這部分,內容要求為“從生活實例出發,概述算法的概念與特性,運用恰當的方法和控制結構表示簡單算法”,其中滲透計算思維的“形式化”(如抽象出算法解決問題的一般過程)、“模型化”(如用結構化程序表示算法)、“自動化”(如通過計算機自動化實現算法)。這部分內容強調簡單算法的學習,并非要求系統掌握專業編程知識,其中,對問題的抽象或形式化描述是算法的基礎。
本節課授課對象是高一學生,盡管他們已經能夠利用計算機解決一些基本問題(如文章編輯、繪畫和簡單的多媒體處理等),但對利用計算機解決問題的完整過程了解不夠;多數學生只是具備操作技術工具的技能,而對其工作方法和應用流程不了解,對解決問題的算法不甚明白。高中學生的邏輯思維能力趨于成熟,能夠對自己的思想觀點進行論證,能有條理地對各項經驗加以說明。
基于以上思考,本節課以培養學科思維方式為素養目標,將教學定位在以運用計算思維的方法進行問題求解為主線,以知識和技能在解決問題的過程中自然引入作為支撐,將問題提出、問題分析、問題解決等主要流程貫穿于教學活動中,引導學生在問題情境中學習技術工具,理解學科方法,利用技術工具和學科方法解決問題(如上頁圖1)。
● 教學實踐
1.創設情境,提出問題
結合我校的學生生活和學習情況,從參與國慶晚會籌備工作入手,引出制作邀請函的問題需求(如圖2)。如何快速處理大數量的邀請函?從表面上看這是一個很簡單的問題。在人工處理過程中,人動用了眼睛與手,其中的思維過程一閃而過。而計算機不同,對這些數據的處理過程看不見摸不著,怎么來完成這一任務呢?其實,計算機解決問題的關鍵,就是要把人解決問題的思維過程用計算機語言描述,即為大腦思維的每一步“拍照”。這是重點也是難點。從效率角度來思考,學生自然想到根據需要運用數字化工具解決,由此引導學生聯系到計算機優于人工解決問題的“自動”與“批量”。
2.協作探究,構建方案
這部分由三個層層遞進的小活動組成。
活動一:人是如何解決問題的?從制作一張邀請函開始,引導學生進行問題分析,得出完成一張邀請函的步驟。一張如此,大量邀請函又如何?通過觀察,學生提取問題的基本特征,抽象關鍵要素——“固定主文檔”與“可變數據源”,分析要素間的關系——“插入與合并”。這樣,從人解決問題的一般過程類比過渡到計算機解決問題,幫助學生在信息活動中能夠采用計算機可以處理的方式界定問題,體現出計算思維活動的“形式化”。
活動二:建立信息處理模型。適時拋出三個階梯性問題:①邀請函模板如何制作?②人員信息應做何處理?③如何合并?引導學生思考并分析:完成上述生活中的實際工作,需要分解為哪些具體步驟?學生在活動一的基礎上分組互動,有邏輯地分解解決步驟,這樣有助于學生從計算機解決問題的角度理解與分析,找出計算機等工具能識別的且能自動執行的本質性操作——列出對應的抽象模型,以建立可以支持自動化的解決方案(如上頁圖3)。這其實就是讓學生感受到算法思想。
活動三:繪制流程圖。根據活動二中的分解步驟可知,第1步和第2步學生可以借助軟件工具完成數據的預處理(word圖文編輯制作邀請函模板,Excel管理人員數據),第3步到第6步可不可以依靠計算機自動完成呢?如果可以,要讓計算機解決問題,必須明確地告訴它要處理的具體對象和每一步準確的處理過程,否則計算機就無法工作,所以我們往往先用流程圖描述算法(如上頁圖4)。這樣,將活動二中算法思想從文字語言轉變為可視化表達,是為了讓學生形成與強化思維方式。這一部分引入“畫程”軟件,一方面讓學生能夠借助快捷的數字化工具表達自己的思想,另一方面也是引導學生以流程圖描述算法,為以后程序語言設計的學習做好鋪墊。整個環節是形成解決方案的過程,體現思維的“模型化”。
3.體驗功能,驗證方案
在這一環節,學生并沒有親自編寫程序代碼,但根據前面活動建立的操作解決步驟,學生通過“郵件合并”功能的嘗試使用,實現了邀請函的批量生成,也體驗了“程序的過程與方法”。在完成合并之后,將具象的軟件操作過程與前面的分解步驟進行比較分析,找出之間的對應關系(如上頁圖5),在這種抽象化的對比中驗證之前解決步驟方案的可行性,消除計算機程序的神秘。掌握“郵件合并”的操作并不是重點,而是借“郵件合并”的使用讓學生去理解計算機等技術工具是如何工作的。讓學生不只停留在對工具的使用的掌握,還探究方法背后的學科思維。進一步地,讓學生繼續思考類同工作模式,將本節課內容帶入生活,理解其他應用原理及意義。
4.課堂小結,知識升華
將“方法—算法—指令”的概念與“建模—流程圖—程序”的表達方式做一個對照性梳理,進一步加深理解利用計算機解決問題的過程與方法,促進對計算機解決問題的思維方式的形成。“從軟件的研究者到未來的軟件的開發者”的鼓勵也進一步激發學生學習算法與程序設計的熱情,為后續課堂做好鋪墊。
● 結語
國際教育技術協會和計算機科學國際教育技術協會(ISTE)和計算機科學教師協會(CSTA)指出的計算思維是一個用來解決問題的過程。因此,作為一個學科的思維方式、思想方法,應該讓學生經歷在各種情境中運用學科思維方式、已有知識和技能分析、解決實際問題的過程。本文中的教學實施正是基于以上觀點進行的嘗試,教學中借助于數字化工具的使用來理解數字化工具的本質特征,讓學生在體驗計算機解決問題的過程中,分析、探究、實踐從應用和操作層面去理解利用算法進行問題求解的基本思想、方法和過程,進而理解信息社會思考與解決問題的方式,逐步形成計算思維。當然,讓學生從無到有、再內化為一種自然的思維方式,這一計算思維培養之路還很長,信息技術教師還需要在教學中做更深入的研究和實踐。