張淑輝
(武警工程大學,陜西 西安 710086)
隨著“計算思維”概念的提出與發展,計算思維已經逐漸成為計算機領域專家學者關注的重要課題。計算思維已經滲透到每個人的生活當中,其蘊含的思想、方法對許多領域都有著非常深遠和重要的影響。全國各大高校有的已經開設了計算思維的相關課程,有的則在原有計算機課程的基礎上設計了相應的計算思維教學模塊。計算思維的培養對人才培養具有重要意義,有助于提升其內驅力和創造力。因此,如何引導學習者完善和提高計算思維,是當前高校教育中一個需要深入研究的重要課題。
“計算思維”是由美國卡內基梅隆大學原計算機科學系主任周以真教授于2006年提出并定義的概念[1],是指運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動,由人和計算機協同配合執行。計算思維是一種基礎且強大的能力,它能夠解決許多在計算機出現之前無法解決的問題。在計算機學習過程中,有意識地去培養和鍛煉計算思維有助于培養分析問題和解決問題的能力。
隨著計算機技術不斷發展,計算思維的內涵也在不斷豐富,不再局限于計算機學科和專業,而是跨學科跨專業綜合培養,其在計算數學、計算物理、計算化學等交叉科學已得到了廣泛的應用,并推動整個知識體系的發展。許多專家學者都認為計算思維是現代學習者的核心能力之一,與閱讀、寫作、算術等基本技能同樣重要,是人才發展核心能力的重要組成部分,對其教育重視程度決定了未來國家科技發展的水平。
但是,很多人在計算機學習過程中對計算機應用的理解較為狹隘,不僅對計算機學習的重視程度不高,而且缺乏轉化計算思維的各種方法和技巧,無法將計算思維應用于解決實際問題,所以針對計算機學習中計算思維的培養與鍛煉是我們當前需要高度重視的問題。在未來,社會對計算機人才的需求越來越大,計算思維的培養會越來越受到國家的重視,培養模式也將由過去潛移默化的自我革新轉變為科學高效的教育培養,并開設相對應的基礎課程,以提高學生解決實際問題的能力和創造能力[2]。
計算思維不單單是利用計算機解決問題的一種思維方式,而是如何通過使用計算機強化自己的認知能力。因此,計算思維代表著一種普遍的認識和一類普適的技能。培養計算思維,有助于培養和提高人們的綜合能力。
計算機的實質是一種解決問題的工具,我們能否熟練地使用工具將決定我們能否快速地解決問題。合理的人機配合,可以提高處理問題的效率,特別是在遇到紛繁復雜、較大規模問題的時候。在日常的學習生活中,我們通過計算機快速高效解決問題的同時,深深感受到運用計算思維設計解決問題的方便快捷。
人的知識和經驗具有局限性。在解決問題之前,借助于網絡中海量的資料,利用計算機分析出問題存在的無限可能性,可以幫助人們得到大量有關問題的信息,制定多種解決問題的方案。通過分析和研究,人們將其轉化為可計算問題,并選擇可靠的算法讓計算機去解決問題,計算機負責執行計算任務。
計算思維讓我們解決問題的能力進一步得到提高的同時,拓展我們的知識面,便于更好地掌握與應用知識。在程序編寫中逐步提高計算思維,當計算思維在我們的腦海當中根深蒂固的時候,我們在第一時間就會想到使用計算思維的方法去解決我們所遇到的問題。當我們再遇到類似問題的時候,就不用重復思考解決方案,而是直接拿出我們已經設計好的算法,通過簡單的修改,就能夠解決當下的問題。
計算思維整合群體的力量可以解決復雜的實際問題,并提高計算機系統的可靠性。當我們遇到一個復雜而又龐大的系統問題,個人能力無法解決時,我們可以結合計算機將復雜的問題分配給網絡中的其他計算機,將大型問題劃分為一個個小型問題,或者將其中我們無法解決的部分通過網絡尋求其他人的幫助。
終身學習能力的重點是學會學習,也就是獲取知識并應用知識的能力,與計算思維的內涵不謀而合。在信息社會,計算機網絡的迅速發展使學習知識的地方不單單止于學校,通過手機、電腦等設備,學習者無論何時何地都可以學習。教學觀念、教學模式迎來了重大改革,網絡教育已然成為一種常態,形成了人們終生學習的體系。擁有計算思維不僅能使學習者更好地掌握學習內容,反思內化,還能使學習者對自己的學習過程進行自我指導和自我控制。
計算思維打破了時間和空間的距離,充分調動了社會公共資源,讓終身學習變得更加容易。基于計算思維的終身學習不僅是計算思維的培養方法、應用方法,同時為學習者提供更多的學習方法,讓學習者運用高效率的學習方法隨時隨地進行自主的學習,有助于更合理高效地進行有效信息的整合和知識體系構建。
計算思維培養所面臨的最直接的問題就是學習者在計算機的學習中沒有意識到計算思維的培養。在現階段的計算機學習中,學習者處于無意識的狀態,既沒有預定的學習目標,也不對學習過程有明確的要求。學習者獲得的是零碎的計算機經驗和很容易被遺忘的計算機知識,而不是計算思維的培養,導致目前計算思維培養面臨著很多問題亟待解決。
在計算機學習過程中,很多的學習者事先沒有意識到計算思維的存在,或者是簡單地看待計算思維,在計算思維的培養方面沒有發揮主觀能動性,不能對計算思維全面地研究。遇到使用計算機能夠快速解決的問題,往往第一時間不能聯想到使用計算機。當使用計算機快速地解決問題時,卻不知其所以然。無意識計算思維的培養雖然有著重要的作用,但是因為缺乏目的性、意志努力和帶有片面性,摻雜偶然的因素,所以并不能幫助學習者建立科學系統的計算思維。
在計算機學習中,學習者容易把計算思維與編寫程序的概念相混淆,往往只重視解決問題的方法和技巧,忽視解決問題的思考方法。問題得到解決后,也不會去深入研究問題背后存在的客觀規律,一旦遇到新的問題,可能會無法解決,缺乏創新性解決問題的能力。
此外,還有部分學習者單純地認為掌握專業需要的基本軟件操作能力即可,不重視掌握一些思維方式和思維技巧,培養自己的計算思維和各種能力。長此以往,沒有計算思維支撐的死知識很快就會面臨淘汰,當面臨新一代的軟件應用或需要新的知識儲備的情況時,學習者就會束手無策,無法滿足社會對人才強大能力的需求。
在計算思維的培養中還存在著矯枉過正的現象,很多人為培養計算思維刻意將計算機應用與計算思維的培養分割成兩個方面。學習者在探索計算思維的階段,對計算思維的理論重視程度過高,而對計算思維的應用卻一帶而過。這其實是一種舍本逐末的行為。學會如何利用計算思維去分析和解決問題才是計算思維培養的終極目標。計算思維的培養應該落到實處,脫離實際的計算思維只能算是紙上談兵。
培養和鍛煉計算思維,并非是要將計算思維的概念和內容牢記于心,也不是將計算思維當成我們學習的主要內容,而是需要深入地領悟計算思維的思想、方法所在,讓其成為解決問題的普適思想。因此,計算思維的培養可以從計算機應用、專業需求以及解決問題的過程等多個方面入手,形成一個全面、科學的培養體系。
計算思維本來就隱藏于所學的計算機知識當中,而培養計算思維的最終目的也是為了能夠熟練地應用計算機解決將來遇到的各種各樣的問題。因此,我們應該將計算思維的培養落到實處,在計算機應用中培養計算思維。
在實際的工作生活中,我們可以從具體的實踐中升華計算思維,潛移默化,逐漸內化為學生的一種思維習慣,使之成為解決問題的思維模式。例如在使用遞歸算法時,可在學習相關概念后,了解遞歸算法就是計算思維,用遞歸的思想解決很多較為復雜的問題,如漢諾塔問題、旅行商問題等。
此外,在計算機應用的過程中,我們還需要根據技術的發展、學習的深入或者自身專業的要求,從計算機知識中吸收我們所需要的營養,加入個人的理解,融入個人的需求,逐步構建出屬于自己的計算思維體系,并內化為一種思維習慣。例如在面對海量數據處理的問題時,應用“大數據”技術對數據進行加工,從大量數據中提取出我們需要的信息。
計算思維給學習者帶來的是一種強大而普適的能力,很多計算時代之前無法解決的專業問題都能通過它解決。目前,“計算思維+專業”的交叉融合成為專業學習的重要趨勢,突破了單一專業的局限,成為知識創新的主要領域之一。計算思維本身蘊含了很多思想、技術和方法,我們參照各專業學科的知識體系,將專業問題轉化為計算機可以解決的問題,自然而然地把計算思維的思想融入專業領域。
人們在學習和工作的過程中往往會遇到各種各樣的問題,而解決問題則可以達到自我提高的效果。一般情況下,我們在分析問題的時候會運用概念圖、模型圖、流程圖、思維導圖等把本來不可見的思維過程呈現出來,這已經屬于計算思維培養的初始階段了。一旦這種可視化的方法在人們的腦海中形成對計算思維的初步印象,那么接下來在解決問題的過程中,我們便可以運用這些解決問題的思路,找出問題答案。而且,當我們得到結論后,不能僅滿足于現有的結果,還應該回過頭反思解決問題的過程,有沒有更加簡潔快速的方法,或者解決問題的關鍵步驟是什么,從而驅動計算思維的進一步提升。因此,在解決問題的過程中培養計算思維,既可以讓最初具備的計算思維得到充分鍛煉,還能夠通過反思讓其得到更有效的發展和提升。
培養計算思維,不僅有助于培養人們利用計算機分析和解決問題的能力,還有助于培養人們基于網絡的協同能力,甚至有助于培養人們在信息社會下的終身學習能力。但是現階段人們對于計算思維的培養還處于無意識狀態,在計算機學習過程中只是注重技巧與方法的學習,而忽視思維的高度。還有很多人為培養計算思維刻意將計算機應用與計算思維的培養分割成兩個方面。因此,我們不僅要重視計算思維培養,更要重視培養方法。通過論證,計算思維的培養可以從計算機應用、專業需求以及解決問題的過程等多個方面入手,形成一個全面、科學的培養體系。