鄭東明
摘 要:文章嘗試通過生活實例“個人所有稅”的計算,剖析計算思維在信息技術課堂的實施與落實。通過故事講解、實踐探究、動畫演示,逐層深入地使“關注點分離”這一計算思維重要方式得到實施并落實。因計算思維而展現的編程之美,得到充分體現。
周以真教授認為,計算思維是運用計算機科學的基礎概念進行問題求解、系統設計,以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動,是一種采用抽象和分解來控制龐雜的任務或進行巨大復雜系統設計的方法,是基于關注分離的方法(SoC方法)。
《普通高中信息技術課程標準(2017年版)》指出:“計算思維是指個體運用計算機科學領域的思想方法,在形成問題、解決方案的過程中產生的一系列思維活動。”具備計算思維的學生,在信息活動中能夠采用計算機可以處理的方式界定問題、抽象特征、建立結構模型、合理組織數據;通過判斷、分析與綜合各種信息資源,運用合理的算法形成解決問題的方案。
下面一起看看,如何在信息技術課堂上落實“關注點分離”,并激發學生的計算思維。
【引例】2017版個人所得稅扣繳(如表1所示):
第二階段:引發矛盾、激發思維。引出計算思維重要方法:“關注點分離”。
初學者,或者說沒有經過嚴格“計算思維”訓練的人,通常會寫出以上代碼,但不是所有人都能夠輕而易舉地書寫正確,其難點不在于思維,而在于代碼拖沓冗長,考驗一個人的耐力與細心。
代碼是正確的,但缺陷也是明顯的:①重復率高。許多地方是完全一致的,錄入代碼麻煩而又容易出錯。②分支,本質是用來實現問題的不同側面。而以上分支,每個分支實現的都是“整個問題”——并沒有真正實現“問題”的分割。
有沒有方法“克服”這些缺陷呢?
這是本節課的重點與難點。為了解開這個難點,重塑學生的思維,設計了三個環節:
環節一:講解故事。用以引發概念——關注點分離。
1798年,美國發生了這樣一件事情,美國政府要求工廠主惠特尼生產1萬桿滑膛槍。按照當時的制作工藝,每支槍由一名工匠承制并負責裝配,他必須制作所有部件,還要使各部件吻合,生產進度極慢。惠特尼采用了一種新的方法完成了任務,他把每個造槍的工作化整為零,每個工種只生產其中的一種部件,然后把每種部件都放在一個袋子里,每個袋子都編上號,最后從不同的袋子里各取出一個零件就可以組裝成一桿槍。雖然由于前期的研究與試驗,影響了工期,但是惠特尼靠這種方法完成了生產任務,并獲得美國總統贊賞及國會的進一步的撥款。
思考:這種“分離”為什么會提高效率?
每個工人加工的零件,相對于整支槍,變簡單了很多,所需要關注的問題更有針對性。對工人的要求相對更低,實現起來也更容易而且有效。而以上代碼,就像把“工人”分組,而每組(每個人)解決的還是整個問題:制造整支槍——本質上,并沒有簡化問題。為了簡化問題,能不能像故事里“槍的分離”:讓每個分支,只解決問題的一個側面(槍的一個零件)?
關注點分離是一種系統思維方法。大體思路是,先將復雜問題作合理的分解,再分別仔細研究問題的不同側面(關注點),最后綜合各方面的結果,合成整體的解決方案。
環節二:實踐體驗。用來體驗“關注點分離”——分步、分段計算并累加。
隨機寫一個相對大的“稅前收入”,讓學生手算“應繳納的稅額”。
簡潔明了,既彰顯計算思維,也體現了“簡約而不簡單”的編程之美。
計算思維被認為是邏輯思維、實驗思維后的第三種科學研究的思維方式。信息技術課堂是培養學生思維能力的重要場所。滲透、落實計算思維,激發創新思維,利于學生適應“大數據、大計算”基礎上的人工智能時代。
參考文獻:
[1]中華人民共和國教育部.普通高中信息技術課程標準(2017年版)[M].北京:人民教育出版社,2018.
[2]何明昕.關注點分離在計算思維和軟件工程中的方法論意義[J].計算機科學,2009(4):60-63.