大學(xué)計算機基礎(chǔ)探究
導(dǎo)語: 先秦著名思想家孔子最早提出了學(xué)思結(jié)合的觀點“學(xué)而不思則罔,思而不學(xué)則殆”。歡迎閱讀原文!
一般意義上講,教育一直主張“學(xué)思結(jié)合”,追求兩極之間的平衡。然而,在實踐中,學(xué)習(xí)與思考又存在張力,存在各種各樣的矛盾、沖突和糾葛。創(chuàng)新是大學(xué)教育的宗旨,也是大學(xué)發(fā)展的靈魂,創(chuàng)新和實踐是社會發(fā)展的原動力,創(chuàng)新才有發(fā)展,實踐才能出真知。創(chuàng)新教育需要科學(xué)思維方式的指導(dǎo),復(fù)合型的知識結(jié)構(gòu)、科學(xué)的思維方式以及勇于探索的精神是高素質(zhì)創(chuàng)新人才的基本素質(zhì)。
從古代的算盤到近代的計算機,甚至目前的互聯(lián)網(wǎng)和云計算,計算思維無處不在。2010年的首屆“九校聯(lián)盟計算機基礎(chǔ)課程研討會”將培養(yǎng)學(xué)生的“計算思維”能力作為計算機基礎(chǔ)教學(xué)中的關(guān)鍵內(nèi)容[1]。《計算機科學(xué)的變革》中提出了計算思維是計算機科學(xué)中具有基礎(chǔ)性和長期性的思想[2]。2011年,陳國良院士分析了教學(xué)中存在的問題,指出了“狹義工具論”的危害[3]。《論計算思維》一文指出學(xué)科交叉創(chuàng)新的一條根本路徑是計算思維創(chuàng)新[4]。因此,大學(xué)生的計算思維素養(yǎng)有利于培養(yǎng)其發(fā)明和創(chuàng)新能力及其思維方法、表達(dá)形式和行為習(xí)慣,同時大學(xué)生學(xué)會用計算思維去思考問題和解決問題,對提升計算機教育水平、提高科研能力和培養(yǎng)卓越人才具有重要的意義。
根據(jù)高德納(Knuth)在《The Art of Computer Programming》文中的觀點,算法和計算機程序概念的產(chǎn)生為我們提供了一塊試金石,用以考察對每一門學(xué)科理解的深度。算法思想就是指按照一定的步驟,一步一步去解決某個問題的程序化思想。然而,過分強調(diào)算法思想導(dǎo)致了“簡單、機械工具論”的錯誤觀點,許多人認(rèn)為教授計算機基礎(chǔ)知識的主要動機是提高人們使用計算機設(shè)備的技能,甚至有些人質(zhì)疑計算機科學(xué)是否能夠稱之為真正的科學(xué),計算機教育及就業(yè)面臨前所未有的危機。面對質(zhì)疑,教育工作者有必要重新思考教學(xué)模式的改革,進(jìn)而引發(fā)了以下問題的探索:計算機教育的核心價值是什么?如何培養(yǎng)科學(xué)的思維能力?如何運用科學(xué)思維分析和解決問題?
一、計算思維的本質(zhì)
1936年圖靈(Alan Turing)的經(jīng)典文章《On Comput- able Numbers,with an application to the EntschEidungspro-
blem》界定了可計算函數(shù)。圖靈的分析為理解古代計算技術(shù)提供了一種獨到而深刻的見解,計算的概念遠(yuǎn)不止于算數(shù)和代數(shù)計算,其更多的是可以指一種處理事物的規(guī)則。計算機的出現(xiàn)催生了智能化的思維方式,借助判斷和推理反映客觀現(xiàn)實的理性認(rèn)識過程的邏輯思維、具備抽象化和自動化特征的計算思維和以觀察和歸納自然規(guī)律為特征的實證思維一起構(gòu)成了人類的三大科學(xué)思維方式。目前,計算思維是什么?它有什么作用?對大學(xué)教育有多大的影響?研究者對這些問題的看法存在分歧,有些問題還需要進(jìn)一步商榷。
(一) 計算思維概念的內(nèi)涵
計算思維是一種新穎的思維方式,有助于培養(yǎng)人們的抽象思維和邏輯思維以及解決問題的能力。Jeannette Wing認(rèn)為計算思維貫穿于所有學(xué)科并被廣泛應(yīng)用,并且在計算機權(quán)威雜志《Communication of the ACM》上發(fā)表文章定義了計算思維(Computational Thinking)[5]。李廉教授認(rèn)為計算思維具有形式化、程序化和機械化特征,有限性、確定性和機械性標(biāo)志使計算思維區(qū)別于實證思維和邏輯思維[6]。理查德·卡普(Richard M. Karp)教授提出的“計算透鏡”(Computational Lens)理念,將計算作為一種通用的思維方式,通過這種廣義的計算來描述各類自然過程和社會過程,從而解決各個學(xué)科的問題。
計算思維的概念在細(xì)節(jié)方面還存在著不同的見解,許多研究者對計算思維進(jìn)行深入分析,得出大量新的認(rèn)識。丹寧(Denning)指出計算思維不是一個新事物,它一直蘊涵在許多學(xué)科中。但是,我們可以從全新的角度審視計算思維的概念。計算思維糾正了計算機科學(xué)等同于計算機編程,但是,我們不能狹義地認(rèn)為計算思維等于計算機科學(xué)。許多人特別關(guān)注計算思維驅(qū)動下能否深層次地解決問題,特別在數(shù)學(xué)基礎(chǔ)不強的領(lǐng)域。
(二)計算思維的特征
1.概念化而不是程序化。面對大的、難以解決的問題,應(yīng)用計算思維簡化、分解的方法將其變成小的、容易的問題去解決。它意味著計算機編程不代表全部的計算機科學(xué),需要分層次、多角度思考。
2.根本的、能夠靈活運用的技能。計算思維不是刻板的或簡單的機械重復(fù),它允許問題可以通過計算機來解決。計算思維是每個知識領(lǐng)域的學(xué)生必須掌握的基本技能。
3.人的思維而不是計算機的思維。通過計算思維解決問題包含規(guī)則的方法描述問題,以便于計算機處理。因此,計算思維不是問題的簡單約簡,也不是簡單地模擬計算機處理進(jìn)程。計算思維有助于問題的求解,同時不需要人類像計算機一樣去思考。
4.數(shù)學(xué)和工程思維的互補與融合。計算科學(xué)貫穿于自然科學(xué)、工程學(xué)和數(shù)學(xué)的發(fā)展歷程,計算機啟發(fā)式軟件及模型的設(shè)計和開發(fā)明顯屬于工程學(xué)范疇,同時基于數(shù)學(xué)的符號化表示是算法復(fù)雜度和數(shù)字分析的基礎(chǔ)。
5.人類的思想而不是人造物。計算思維不是開發(fā)軟件和生產(chǎn)硬件的途徑,它是日常生活中解決問題的基礎(chǔ)性概念。
6.面向所有的人和物。計算思維是普遍存在的,能夠被任何人在任何場合使用。
二、大學(xué)生計算思維能力的培養(yǎng)策略
計算思維的培養(yǎng)是培養(yǎng)學(xué)生面向?qū)W科的思維能力,使學(xué)生領(lǐng)會學(xué)科的力量和從事本學(xué)科的價值所在,能夠以類似于數(shù)學(xué)的嚴(yán)謹(jǐn)方式將學(xué)生引入計算科學(xué)各個富有挑戰(zhàn)性的領(lǐng)域之中。計算思維意識、方法和能力三個方面構(gòu)成其基本內(nèi)容。計算思維的培養(yǎng)是潛意識思維到有意識思維的轉(zhuǎn)換過程。
(一)計算思維意識的形成
計算思維意識是內(nèi)在的,而不是外在的,是每個人都具備的基本技能,不僅僅屬于計算機科學(xué)家。計算思維的正確使用能夠潛移默化地促進(jìn)無意識的計算思維向有意識的計算思維發(fā)展,逐漸培養(yǎng)出計算思維的能力,并能夠主動應(yīng)用到具體問題中。計算思維意識是思維過程的計算模擬,其核心是讓計算具有思維特征。計算思維意識的形成是通過對人腦思維規(guī)律的認(rèn)識和分析,建立與人腦思維模式相近的計算方法。計算方法在實踐中的應(yīng)用促進(jìn)我們對思維規(guī)律的重新認(rèn)識。對人腦思維規(guī)律認(rèn)識得越深刻,計算方法也越有效。如我們能夠清楚地識別自己的家人和朋友的過程是潛意識完成的,我們很難解釋是如何做到的,沒有意識到我們所具備的這種技能。但是,研究表明通過提取某個人臉部圖像的多個采樣,計算機程序可以計算出一些個人特有的模式,這些特征方便了圖像的識別和區(qū)分。無論人還是計算機完成這項工作都經(jīng)歷計算的過程,只不過人們沒有認(rèn)識到而已。
(二)計算思維方法的訓(xùn)練
由于計算機的發(fā)展極大地促進(jìn)了構(gòu)造思維的研究和應(yīng)用,所以在計算機科學(xué)的研究和工程應(yīng)用中計算思維近似等同于構(gòu)造思維。構(gòu)造性思維體現(xiàn)了數(shù)學(xué)中發(fā)現(xiàn)、類比、化歸的思想,構(gòu)造法滲透著猜想、試驗、概括等數(shù)學(xué)方法,是富有創(chuàng)造性的一種方法。根據(jù)Jeannette Wing等人的定義,計算思維通常采用化歸思想,即當(dāng)我們面對一個新問題時,通過分析、不斷地轉(zhuǎn)化和轉(zhuǎn)換,得到本質(zhì)相同且抽象的、簡單的一個問題,將初始復(fù)雜的問題化歸為理想化的簡單模型予以解決。
計算思維方法符合奧卡姆剃刀(Occam’s Razor)定律“如無必要,勿增實體”,奧卡姆剃刀以結(jié)果為導(dǎo)向,始終追尋高效簡潔的方法。許多科學(xué)家都表示自然規(guī)律是簡單的,科學(xué)尋找的就是對自然界的'經(jīng)濟和吝嗇的表示。牛頓提出的一個原則:如果某一原因既真又足以解釋自然事物的特性,則我們不應(yīng)當(dāng)接受比這更多的原因。愛因斯坦的一句著名的格言:萬事萬物應(yīng)該都應(yīng)盡可能簡潔,但不能過于簡單。這些理論啟示我們在處理事情時,要把握事情的本質(zhì),解決最根本的問題。尤其要順應(yīng)自然,不要把事情人為地復(fù)雜化,這樣才能把事情處理好。如果將這些理念與中國儒家的《中庸》思想結(jié)合起來,那么會使我們的行為更趨于完美。
(三)計算思維能力的提升
計算思維能力是邏輯分析能力、抽象思維能力和形式化描述能力,其核心是如何讓思維具有計算特征。計算機基礎(chǔ)教學(xué)應(yīng)該培養(yǎng)學(xué)生三種基于計算思維的能力:認(rèn)知能力、學(xué)習(xí)能力和決策能力。認(rèn)知能力是對計算環(huán)境的感知能力。認(rèn)知是一組活動,包括感覺、知覺、記憶、思維、判斷、學(xué)習(xí)、決策、行動等等。認(rèn)知是以感知為基礎(chǔ)對外部環(huán)境和自身狀態(tài)進(jìn)行記憶、推理、學(xué)習(xí)的一個反饋過程。計算機的認(rèn)知能力是具有判斷和選擇計算工具與方法的能力。大學(xué)計算機基礎(chǔ)、計算機導(dǎo)論等基礎(chǔ)課程應(yīng)該從培養(yǎng)學(xué)生科學(xué)認(rèn)知能力出發(fā),強調(diào)思維的訓(xùn)練而不是具體實現(xiàn)。
學(xué)習(xí)能力指熟練掌握與運用計算機理論,有效地獲取、分析、評價和吸收知識的能力。計算機教學(xué)培養(yǎng)目標(biāo)的實現(xiàn)不能僅僅依靠課堂上的學(xué)習(xí),而是需要不斷開展教學(xué)方法和手段的改革,鼓勵自主學(xué)習(xí)、探索式學(xué)習(xí)和強化團(tuán)隊合作、實踐教學(xué)。
決策能力是在有意識的科學(xué)思維指導(dǎo)下,合理、正確地求解問題的能力。基于計算思維決策能力體現(xiàn)在以下方面:給定一個問題,能夠理解其哪些方面是可以計算的;能夠?qū)π枰鉀Q的問題選擇合適的表述方式,或者是建立合適的數(shù)學(xué)模型,使問題變得易于處理;能夠?qū)τ嬎愎ぞ呋蚣夹g(shù)與需要解決的問題之間的匹配程度進(jìn)行評估,能夠理解解決這個問題有多么困難,怎樣才是最佳的解決方法,能夠在任何領(lǐng)域應(yīng)用諸如分而治之等計算策略。
三、大學(xué)計算機基礎(chǔ)課程結(jié)構(gòu)改革的路徑
大學(xué)計算機基礎(chǔ)課程是根據(jù)教育部高等學(xué)校計算機基礎(chǔ)課程教學(xué)指導(dǎo)委員會提出的“1+X”課程設(shè)置方案開設(shè)的第一門計算機基礎(chǔ)課程。由于缺乏先進(jìn)的思維理念的指導(dǎo),許多學(xué)校的第一門計算機基礎(chǔ)課程的設(shè)計和教學(xué)出現(xiàn)了問題:
(1)大量教材的內(nèi)容是計算機專業(yè)課
程的簡介內(nèi)容,缺乏計算機基礎(chǔ)知識闡述的系統(tǒng)性和連貫性,違背了培養(yǎng)學(xué)生科學(xué)認(rèn)知能力的基本規(guī)律。
(2)傳統(tǒng)的教學(xué)模式,對課程中的很多概念、命令、人機交互的內(nèi)容,在課堂上教師很難講解,講授知識局限在講、寫,表達(dá)形式單一,學(xué)生感到抽象、枯燥無味,得不到感性的認(rèn)識,不能有效地調(diào)動學(xué)生的積極性,嚴(yán)重影響教學(xué)質(zhì)量。
(3)過分地強調(diào)在實踐中創(chuàng)新,致使學(xué)生參加課外科技活動的人數(shù)呈逐年上升趨勢,但是活動多是以各類競賽為中心,片面追求成績。多數(shù)學(xué)生創(chuàng)新的產(chǎn)品是在短期內(nèi)突擊完成的,研究浮于表面,無法深入開展,對項目研究和能力的培養(yǎng)都是不利的。
本文探討的基于計算思維的大學(xué)計算機基礎(chǔ)教學(xué),大學(xué)計算機基礎(chǔ)課程內(nèi)容可分為科學(xué)思維、計算理論和計算機基礎(chǔ)理論三個部分。
(一) 科學(xué)思維
計算思維是一種科學(xué)思維,與邏輯思維和實證思維一起構(gòu)成了人類的三大思維方式。理論分析可以形式化待解決的問題,實驗驗證具體解決了問題,問題解決過程中一直伴隨著計算。計算機模擬起到了理論與實驗相結(jié)合的紐帶作用。計算思維既不是純
粹數(shù)學(xué)式的抽象思維,也不是計算機式的機械思維,計算思維是可實現(xiàn)的思維,思維的每一環(huán)節(jié)需要理論思維的指導(dǎo),基礎(chǔ)理論貫穿于整個思維過程,而且思維結(jié)果是可以實驗驗證的。本部分的核心思想是從培養(yǎng)學(xué)生的科學(xué)認(rèn)知能力出發(fā),讓學(xué)生了解學(xué)科發(fā)展,讓學(xué)生理解計算科學(xué)和計算機科學(xué)的內(nèi)涵;認(rèn)知計算思維的主要研究內(nèi)容、主要特征對其他學(xué)科的影響。
(二)計算理論
計算理論的內(nèi)容主要包括兩個方面:第一個方面是研究可計算性(computability)理論,即研究哪些問題是可以計算的,哪些問題是不可以計算的;另一方面是研究計算復(fù)雜性(computational complexity),計算復(fù)雜性理論的學(xué)習(xí)有利于學(xué)生正確認(rèn)識計算機本身固有的計算能力和計算范圍的局限性,有助于培養(yǎng)學(xué)生對科學(xué)的認(rèn)知態(tài)度,消除一些錯誤的觀念。本部分對馮·諾依曼結(jié)構(gòu)和圖靈機模型進(jìn)行簡明扼要地闡述,展示計算之美。讓學(xué)生了解以“合理抽象、高效實現(xiàn)”為特征的構(gòu)造過程。
(三)計算機基礎(chǔ)理論
本部分采用問題驅(qū)動式的教學(xué)方法,從計算思維的角度來講解計算機基礎(chǔ)概念和原理知識,從而培養(yǎng)計算思維意識,鍛煉計算思維能力。例如:網(wǎng)絡(luò)編程類問題作為問題求解的實例,如圖1所示。初學(xué)者不需要融會貫通地理解深奧的原理和記憶復(fù)雜的符號。他們僅需要學(xué)會如何分析問題求解的邏輯關(guān)系、準(zhǔn)確清晰地描述問題。具體的實現(xiàn)由后續(xù)課程來完成。
四、展望
信息時代中,計算思維普遍存在于人們的職業(yè)生涯和日常生活中。計算思維是指導(dǎo)計算機技術(shù)發(fā)展的科學(xué)思維,但是,合理地將其引入大學(xué)計算機基礎(chǔ)課程中是挑戰(zhàn)性問題。對于計算機專業(yè)的學(xué)生,主要問題不在于思考如何計算,而是通曉課程的本質(zhì),如何形式化描述這些計算,這樣的描述如何在馮·諾伊曼結(jié)構(gòu)機器上執(zhí)行。對非計算機專業(yè)的學(xué)生,計算思維的培養(yǎng)有利于他們充分了解計算機的用途和局限性。本文從計算思維的本質(zhì)、培養(yǎng)兩個方面進(jìn)行了闡述,并且結(jié)合大學(xué)計算機基礎(chǔ)教學(xué)的現(xiàn)狀提出了新的課程建設(shè)方案。將“計算思維”引入計算機基礎(chǔ)教學(xué)中,是教學(xué)改革的新挑戰(zhàn),更是新機遇。我們應(yīng)當(dāng)加強計算思維意識的培養(yǎng),增強運用計算思維的能力,使計算思維成為當(dāng)代大學(xué)生的基本技能。
計算思維的研究方興未艾,還有許多方面值得進(jìn)一步探討:
(1)多學(xué)科交叉的研究中,如何提煉共性問題,使用計算思維思想加以解決;
(2)分析創(chuàng)新思維和計算思維的辯證關(guān)系,探討如何利用計算思維加速科學(xué)技術(shù)的創(chuàng)新;
(3)計算思維不能僅限于理論概念的闡述,而是真正應(yīng)用到實踐中,衍生出新技術(shù)和新方法。
【大學(xué)計算機基礎(chǔ)探究】相關(guān)文章:
2.大學(xué)計算機基礎(chǔ)實驗教學(xué)改革探究論文