【摘 要】隨著傳統(tǒng)教育模式中種種弊端的顯現(xiàn),我們意識到我們的思維不僅被固化了,而且逐漸失去對事物和現(xiàn)象的本質進行自主探索的能力。周以真教授提出的計算思維的概念無疑是為現(xiàn)今教育的改進提供了一個契機。本文著重探討對計算思維定義的理解,并陳述了筆者對計算思維在信息技術教學中應用的一些觀點。
【關鍵詞】計算思維 信息技術教育 思維外顯化教學
【中圖分類號】TP301 【文獻標識碼】A 【文章編號】1674-4810(2015)09-0187-02
一 研究背景
在美國的CSTA K-12 Computer Science Standards中已經(jīng)明確提出將培養(yǎng)學生的計算思維作為課程標準的一部分(如下所示),但我國對計算思維的培養(yǎng)還處于探索階段,也沒有形成科學的體系。
4.Organization of the Learning Outcomes Levels and Strands……………………………………………………………7
4.1 Levels …………………………………………………7
4.2 Strands…………………………………………………9
4.2.1 Computational Thinking……………………………9
由于傳統(tǒng)教育模式的長期使用,人們對于知識的學習逐漸養(yǎng)成了“被動接受”和“強迫記憶”的習慣,我們逐漸變得很少進行獨立思考,思維方式逐漸被禁錮,逐漸不具備自覺自動思考的能力,逐漸失去對事物和現(xiàn)象的本質進行探索的能力,這導致在整個社會中創(chuàng)新型人才的嚴重缺失,甚至導致中國在拓寬人類知識范圍方面的貢獻不突出。因此,我們需要讓孩子們學會獨立思考,不僅要學會解決學習和生活中的各種問題,也能學會科學地運用不同的思維方法研究現(xiàn)象、探索本質,那么究竟怎樣才能培養(yǎng)孩子們的這項能力呢?我認為這是有法可循的,培養(yǎng)孩子們的計算思維能力就是其中一種方法。
二 計算思維
1.計算思維的定義
美國卡內(nèi)基·梅隆大學計算機系主任周以真教授認為計算思維是每個人都應該掌握的一項基本技能,并且給出了一個定義:“計算思維是運用計算機科學的基礎概念進行問題求解、系統(tǒng)設計以及人類行為理解的、涵蓋了計算機科學之廣度的一系列思維活動?!睘楸阌诶斫?,周教授在給出計算思維總的定義的基礎上,又對計算思維作了更詳細的表述。
2.計算思維的理解
第一,同邏輯思維、形象思維、靈感思維等思維方法一樣,計算思維也是一種思維方法,既然它是一種思維方法,那么計算思維就是每個人、每種學科在處理任何事情上都可以使用的思路和方法,并且,每個人都擁有一定程度的計算思維能力,只是計算思維在計算機專業(yè)從業(yè)人員和計算機科學家的身上表現(xiàn)得更為突出、優(yōu)異和集中而已。一種思維能力從無到有、從弱到強的過程,實際上就是一個人不斷學習和提升能力的過程。
第二,計算思維解決問題的過程。針對具體問題,認識計算思維解決問題的過程:筆者認為計算思維主要使用“自頂向下,逐步求精”的思維方式,這是一種在計算機科學與技術專業(yè)領域中普遍使用的結構化設計方法,比如,開發(fā)軟件,編輯程序,創(chuàng)作多媒體作品,規(guī)劃和設計計算機網(wǎng)絡等,都會用到該方法。
步驟如下:
建模:建模是與仿真緊密結合的一個概念,建模就是建立模型,就是為了理解事物而對事物做出的一種抽象,是對事物的一種無歧義的書面描述。
這里所提到的建模是指經(jīng)過對實際問題的分析,找到實際問題所涉及的學科,然后結合相應的學科知識建立模型以解決問題,若能夠建立,進入步驟2,若不能夠建立,則需要根據(jù)自己的知識和經(jīng)驗自定義式地建構合適的模型,然后進入步驟2。
我們可以在實踐過程中不斷檢測模型是否正確,不斷完善模型,重復本步驟,直到建構成合適的模型,即根據(jù)已知的信息、條件、需求以及各種知識、經(jīng)驗等內(nèi)容,分析問題各個因素的結構和它們之間的關系,用來進一步確定解決問題的思路、方法、方式及步驟。
分解問題:按照模型,使用基于關注點分離的方法將問題分解成大的、中的、小的、更小的、超小的……直到能用很直接的方法解決,分解問題的時候需要注意:這個過程是可逆的,即分解后的問題仍然可以重新合成一個整體。
這里提到的基于關注點分離的方法是計算科學和軟件工程專業(yè)領域人員在長期實踐中確立的一項方法。
關注點分離在業(yè)界更多的時候以“分而治之”(Divide and Conquer)的面目出現(xiàn),即將整體看成為部分的組合體并對各部分分別加以處理。其大體思路是,先將復雜問題做合理的分解,再分別仔細研究問題的不同側面(關注點),最后綜合各方面的結果,合成整體的解決方案。
分解后的問題往往是互相聯(lián)系,互為表里,層層緊扣,呈現(xiàn)的結構由分解后的問題之間的關系決定。簡單的問題分解后,呈現(xiàn)為線性結構或樹形結構,復雜的問題分解后,呈現(xiàn)為網(wǎng)狀結構。
第三,根據(jù)分解后的問題,可以重復步驟1和步驟2,直到完成問題的分解環(huán)節(jié)。
第四,遞歸解決問題:遞歸就是將分解后的問題,從最小最容易解決的子問題著手,利用所掌握的知識、技能和各種方法將其解決;以此類推,再將次容易的子問題解決;最后,通過解決子問題達到解決整個問題的目的。
第五,在解決問題的過程中可以靈活地使用不同的策略:
(1)預設可能出現(xiàn)的最壞的答案或結果,采用數(shù)據(jù)備份的方式處理問題。例如,處理電子文檔時,可以先對其副本進行嘗試性的處理,若處理成功,則可以作為最終的處理結果。(2)在問題的方向不明確時,采用啟發(fā)式推理的思維方法尋求解答。例如,學生掌握了如何在Pascal語言環(huán)境中編寫程序代碼,那么將環(huán)境變?yōu)镃語言環(huán)境,學生推理認為它們的語法規(guī)則類似,可以嘗試編寫程序代碼。(3)在解決問題出現(xiàn)瓶頸的時候,權衡利弊,采用折中的方法處理問題。例如,班主任不同意本班學生參加信息學奧賽而該生非常想?yún)⒓訒r,該生提出在自習課下課后輔導一小時的建議。
第六,得到結果后,對結果進行評價,檢測結果是否符合標準。若發(fā)現(xiàn)結果還可以得到改進,那么可以回溯到建模的步驟、解決問題的步驟或其他步驟對問題進行“逐步求精”,使結果更優(yōu)化。
三 計算思維在信息技術教學中的應用
筆者在信息技術教學中培養(yǎng)學生的計算思維能力較為簡便可行、普及性強的方法是思維外顯化教學,主要內(nèi)容有:(1)先做后學。學生通過學習掌握了一定的技能,但是當學生在遇到實際問題時,不知道或并不明確使用哪一項技能解決問題,也不知道或不明確選擇哪一種技能使問題解決起來更快捷、方便。為了解決這一問題,筆者認為可以進行先做后學的嘗試:在教師講授內(nèi)容之前,讓學生利用已有的知識技能,按照自己的思維方式去解決問題,之后,再由教師示范講解。(2)思維外顯。教師在進行示范講解的時候,要將自己解決問題的思維過程利用語言表達出來,同時也要求學生在進行實踐時將自己的思考過程表述出來,一邊實踐一邊思考一邊表述。(3)重新建構。當學生發(fā)現(xiàn)自己現(xiàn)有的認知結構不能有效地解決實際問題時,通過對比他人與自己的思維過程,通過與周圍環(huán)境、他人的交互,掌握新的知識技能、思維方法,自身的認知結構就會得到發(fā)展。(4)逐步應用,建立模型。由于課堂教學時間有限,在實際生活中真正遇到問題需要解決的時候,學生需要逐步地應用自己的知識技能、思維方法,通過反復的實踐與積累,完善自己的認知結構,建立解決問題的思維模型。
思維外顯化教學有助于激勵學生思考問題,提高其計算思維能力,適合小組合作學習,也適合個人自主學習。
參考文獻
[1]何明昕.關注點分離在計算思維和軟件工程中的方法論意義[J].計算機科學,2009(4)
〔責任編輯:林勁〕