前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇計算機思維如何培養(yǎng)范文,相信會為您的寫作帶來幫助,發(fā)現更多的寫作思路和靈感。
關鍵詞:計算機應用技術專業(yè);大學生;創(chuàng)新思維
一、計算機應用技術專業(yè)教學中培養(yǎng)大學生創(chuàng)新思維的重要性
計算機應用技術專業(yè)教學中培養(yǎng)大學生創(chuàng)新思維至關重要,且主要表現為:首先,可促進學生形成創(chuàng)造性的學習意識。計算機應用技術專業(yè)教學中通過對大學生創(chuàng)新思維的培養(yǎng),可使學生在培養(yǎng)期間自主開展問題思考,形成更多自身的觀點、認識,提高學生思維能力,進而形成在學習中可帶著創(chuàng)新的思維去思考問題。其次,可促進提高學生的適應能力及競爭力。當前時代背景下,創(chuàng)新對于計算機技術的發(fā)展至關重要,同時是計算機領域中要想實現發(fā)展突破所必須擁有的一項條件,因此越來越多企業(yè)對學生的創(chuàng)新思維、創(chuàng)新能力提供了極大要求,所以培養(yǎng)學生的創(chuàng)新思維可促進學生在今后工作崗位上形成更好的適應能力及競爭能力。
二、計算機應用技術專業(yè)教學中大學生創(chuàng)新思維的培養(yǎng)策略
(一)營造良好教學情境,正確引導學生形成創(chuàng)新思維
要想提升計算機應用技術專業(yè)教學質量、效率,充分發(fā)揮專業(yè)教學的創(chuàng)新思維培養(yǎng)作用,應當在良好教學情境下調動學生學習主觀能動性,有效培養(yǎng)學生的創(chuàng)新思維,彌補學生對教師計算機操作進行簡單模仿及機械思考問題的不足。教師應當結合課堂教學內容營造良好的教學情境,為學生提供大量觀察、探究、實驗操作的平臺與機會。例如,在《圖文混排海報的制作》教學過程中,首先,引導學生發(fā)揮自身想象力,建立開放性的教學設計活動場景,緊扣某一主題由學生自由發(fā)揮,要求學生自主運用各種操作工具來開展多樣的實踐思考,基于主題性教學情境,開拓學生聯想及想象空間[2]。其次,組織學生運用各式各樣的計算機技巧來表達自身的主題創(chuàng)意,依托實踐活動實現自身知識、技能的有效轉化,實現對海報設計的初步優(yōu)化,并達到培養(yǎng)學生創(chuàng)新思維的目的。
(二)優(yōu)化計算機操作教學方法,培養(yǎng)學生創(chuàng)新思維
計算機應用技術專業(yè)表現出極強的操作性,教師通常會借助實際操作向學生相關的專業(yè)知識,該種操作教學對提高專業(yè)教學成效有著至關重要的作用,并且有助于提升學生在計算機上的實踐能力。然而,要想進一步實現對學生創(chuàng)新思維的培養(yǎng),教師則應當增強操作教學的設計性、探索性,如此一來,學生便可在有效專業(yè)知識及操作技能的基礎上,形成相應的創(chuàng)新能力。在傳統計算機應用技術專業(yè)教學中,教師往往會為學生演示計算機操作流程,便講述相關的專業(yè)知識,然而要求學生循規(guī)蹈矩地對教師操作步驟進行模仿,該種教學模式不僅顯得單一,長此以往,還會使得學生產生厭學、倦怠等不良心理,進而削弱學生學習積極性。因此,教師應當革新教師觀念,且還是優(yōu)化計算機操作教學方法,注重推進校園文化與專業(yè)教學的有機融合,以此提升教學課堂趣味性,營造良好的學習氛圍,調動學生學習的主觀能動性,培養(yǎng)學生創(chuàng)新思維[3]。
(三)組織社團活動及小型科技活動,促進學生形成創(chuàng)新思維
組織創(chuàng)新活動是培養(yǎng)學生創(chuàng)新思維的一條重要途徑,所以,教師在日常教學中應積極組織各式各樣有創(chuàng)新意義的活動,諸如計算機興趣小組活動、創(chuàng)新實踐課、課外小型科技活動等。通過這些多樣豐富的活動,不僅有助于鞏固學生自身所學的專業(yè)知識,還可培養(yǎng)學生的計算機實踐操作能力,并且,學生在活動還可進行探究思考,通過相互間的交流互動,以此形成創(chuàng)新思維。又如,在學生開展實踐活動過程中,教師可向引導學生結合教學內容開展相關的計算機操作,然而開拓教學資源,要求學生借助互聯網或圖書館查閱等方式采集相關學習資源,使學生掌握更豐富的計算機操作知識,最后引導學生以查閱學習資源為依據,開展探究實踐實驗,并鼓勵學生實驗結果進行交流討論,進而在相互的交流中形成創(chuàng)新思維。
關鍵詞:信息技術 小學教學 計算思維
中圖分類號:G622 文獻標識碼:C 文章編號:1672-1578(2017)01-0218-01
小學生的抽象思維能力還存在一定的不足,特別是在信息技術教學的過程中,很多編程程序的學習都需要學生發(fā)揮抽象思維能力,所以有的學生在信息技術課程中的學習存在一定的問題,而且對這門課程的學習喪失樂趣和信心,但是Scratch編程的進入標準比較低,便于操作。
1 通過Scratch教學培養(yǎng)計算思維的學習和設計自動化
Scratch不需要像傳統編程軟件那樣逐行地“敲”代碼,而是通過拖拽已經定義好的程序模塊,采用搭積木的方式快速實現程序的編寫。圖形化的編程減少了識憶性的要求,將學生從死記命令及命令的使用參數中解放出來。學生學習Scratch編程的過程不再是枯燥的命令組合的集成,整個編程就像兒童在搭有趣的積木玩具,同時在Scratch的舞臺區(qū),會對學生的積木式程序自動進行演示,學生可以很直觀地看到各種腳本設計所呈現出來的實際效果,這種借助Scratch進行編程學習的方式就是一種自動化的計算機科學方式。
比如,老師在講解“遙控直升機――角色的控制與停止指令”的時候,為了讓學生深入理解直升機上升、下降和停止的狀態(tài),就需要構建精彩的故事環(huán)境。第一,老師可以讓兩個學生在頭上戴上電腦小博士和直升機的頭飾。然后老師說“開始”,電腦小博士就呈現出指令要求,直升機得到指令后及時做出相應的動作。在發(fā)出“前進”指令的時候,“直升機”就向前移動;在下達后退指令的時候,“直升機”也會向后運動。如果是“上升”,“直升機”可以做跳躍的動作;如果是“下降”,“直升機”可以做蹲下的動作;發(fā)出“停止”指令的時候,“直升機”就會停止運動。而且,老師可以讓學生進行角色演練,讓五個學生分別來扮演直升機相應的指令動作,讓學生身臨其境的學習知識。利用多種角色扮演,學生能夠真切的感受到多個動作指令的不同,隨后老師也會教學生根據課本中的內容設計遙控直升機的編程程序,學生能夠有效的設計出程序,教學質量比較顯著。通過這種情境模擬的方式來引入新課教學,能夠有效的調動學生的學習樂趣,讓學生在活動的過程中認清各個對象之間的關系,并且掌握操作方式。
2 通過Scratch教學培養(yǎng)計算思維的任務分析和設計
Scratch中的每一項任務,都需要學生先進行分析,而后再根據各個任務和要求思考問題解決的方式方法,最終選擇和設計出各類符合自己需求的指令算法。主要是對學習環(huán)境、變量、運算符號和鏈表資料概念以及調試計算實踐Scratch中的選擇條件概念進行全面的分析,使得學生深入理解程序,并且能夠根據所給出的條件進行準確的判斷。在Scratch中加強對于運算符概念的理解,可以讓學生對計算機整體的運算模式進行充分的把握。Scratch中的數據概念可以讓學生理解鏈表和變量的實際含義。老師引導學生進行游戲活動的時候,第一要讓學生研究游戲模式和技術,讓學生找到游戲活動的相同因素,這就是游戲的主要特點。在游戲設計的時候,學生可以根據重復和不斷增加的準則,逐漸深入,不斷嘗試使用交互和多場景交換的模式,從而熟練的掌握廣播、鏈表和變量等相關內容。
比如,老師給學生安排游戲設計任務“迷宮游戲”,通過老師的指導,學生先選擇兩個,分別是貓和老鼠,可以先設計最終任務,對迷宮的狀況先不進行設計,根據你的設計過程,貓能夠抓住老鼠,不斷進行測試,學生對于條件計算的內容有了大體的了解。在控制“小貓”方面,學生可以根據自己的興趣愛好使用傳感器、鍵盤或是鼠標進行操作。緊接著,老師引導學生構建迷宮模型,不斷添加游戲規(guī)則,貓可以穿越墻壁等,老師可以有效的開發(fā)學生的思考能力,最后使用前進語句和條件判斷來解決相關的問題。
3 通過Scratch教學培養(yǎng)計算思維的程序優(yōu)化處理
在Scratch的腳本設計過程中,我們經常會發(fā)現同一個效果可以有多種途徑或方法來完成。在許多方式方法中,我們找出一種最好的或者最合理的方式,這個過程就是計算思維的優(yōu)化過程。老師要引導學生加強設計能力,敢于創(chuàng)新和思考,從而逐漸發(fā)展成為計算創(chuàng)造者和研發(fā)者。在課堂教學的過程中,老師為了加強學生實踐動手能力,相應的教學安排、課時安排、優(yōu)秀作品展示、微視頻等教學資源都要進行認真的設計和安排,讓學生感受到其中的樂趣。通過多次項目研究訓練,加強使用Scratch的操作能力,可以在所掌握的知識上進一步完成現階段的學習任務,并且理解指令集程序,再傳遞給角色,這時角色收到指令信息后及時做出反應。
4 結語
在小學信息技術教學中,Scratch作為可視化圖塊式編程工具受到了學生的喜愛,操作比較便捷、內容多種多樣,指導學生在處理問題的過程中,不斷的加強創(chuàng)造思維能力,在計算機演示和測試的時候,能夠完成自己喜愛的作品,加強學生的計算思維能力。
參考文獻:
[1] 黃偉.在Scratch教學中培養(yǎng)小學生信息素養(yǎng)的嘗試與思考[J].新課程?中旬,2016,(4):395.
關鍵詞:計算思維;程序設計;語言;計算;新生
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2015)49-0276-03
一、《程序設計》課程簡介
《程序設計》是高等學校理工科專業(yè)普遍開設的系列必修課程。這門課主要講授用高級語言如C/C++及Java等開發(fā)計算機程序的基本知識,培養(yǎng)學生用計算機分析并解決問題的能力,使學生掌握軟件設計的基本方法,為后續(xù)課程奠定基礎。
國內高校普遍將《程序設計》課程按照語言的不同分為多個系列:C語言、C++語言及Java語言等。不同學校及專業(yè)根據各自的培養(yǎng)方案為學生開設其中幾種,至少有一種語言(一般是C語言)為必修,開設于大一及大二學年,理論課與實驗課共60~100課時,持續(xù)1~2個學期。各高校也普遍為計算機相關專業(yè)高年級學生開設其他流行編程語言如Visual Basic以及更專業(yè)化編程語言如Matlab、SQL及HTML等等。這些語言的基本語法與C語言相似甚至是高度相似,程序設計思想相通,因而其教學也高度依賴于低年級程序設計課程的教學效果。
二、面向新生的《程序設計》課程
對計算機及軟件等專業(yè)的學生而言,《程序設計》是一門專業(yè)基礎課,這門課程一般開設于本科一年級,因而授課對象主要是本科新生。一方面,大多數計算機相關課程如《數據結構》、《操作系統》及《數據庫》等都需要編程語言的基礎知識,學生在這門課收獲的學習成果對高層次的學習乃至工作都具有非常重要的意義;另一方面,編程語言課程的教學能夠直接訓練學生的計算思維[1],計算思維的形成和培養(yǎng),是目前高等院校計算機教學,甚至包括非計算機專業(yè)的計算機基礎教學所追求的一個重要目標。在學生剛剛升入本科階段,而幾乎不曾開始學習專業(yè)課,專業(yè)思維模式尚未形成之前,就逐漸培養(yǎng)其計算思維,又顯然是這項任務的重中之重。
高中信息技術課程一般包括Visual Basic等編程語言的知識,但長期以來,受高考指揮棒的影響,全國各省市的小學、初中與高中教育普遍對計算機(信息技術)課程的重視程度不夠。在程序設計不作為會考要求內容的省份,一些學校甚至沒有開設編程語言課程,或者要不做任何要求,導致在高中階段,教師與學生的教學興趣度極低。一個最直接的后果是,即使是計算機相關專業(yè)的學生,剛進入大學時,也普遍對程序設計這類課程既陌生又恐懼。
由于這類課程本身的深度與難度,本科新生,特別是在高中階段沒有學過程序設計,甚至幾乎不曾接觸過計算機的新生,往往承受較大的學習壓力,如果不能很好地掌握程序設計的思維與方法,學生很容易喪失學習計算機相關課程的興趣與信心,從而影響整個大學階段的專業(yè)學習,因而承擔大一新生程序設計課程的教師也同樣承受較大的教學壓力。如前所述,這個問題產生的直接原因固然是高中信息科學知識儲備的不足,但根本原因還是學生在從多年來已經習慣的數理化式的定義與公式學習模式轉變?yōu)橐杂嬎銠C學科為代表的設計與實驗的學習模式時產生了障礙,或者說學生沒有能夠形成學習計算科學應具有的思維模式。因而解決這個問題的關鍵即是,要通過程序設計課程的教學使學生形成并逐漸強化計算思維。
三、計算思維的內涵及重要性
按照卡內基?梅隆大學Jeannette M. Wing教授提出的廣義概念[1],計算思維是運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。而具體到程序設計這門課,計算思維可以理解為編寫高級語言程序的方式解決問題的思維活動。由此可以看出,程序設計課程是培養(yǎng)學生的計算思維最重要的方式之一,而培養(yǎng)學生的計算思維也是程序設計課程最重要的目的之一。
計算思維這一重要概念被提出后,引起高等教育界的廣泛注意。關于如何在程序設計課中培養(yǎng)本科生的計算思維能力這一問題也成為高校計算機教學中普遍關注的問題。文獻[2-4]討論了如何通過計算機基礎教學培養(yǎng)計算思維,文獻[5-7]討論了通過程序設計課程培養(yǎng)計算思維,文獻[8]討論了如何通過程序設計培養(yǎng)學生的多種思維能力,文獻[9;10]提出以計算思維為導向開展程序設計教學,文獻[11-13]提出了基于計算思維的程序設計教學改革方式,文獻[14;15]討論了通過程序設計課程培養(yǎng)計算思維的具體實踐方式,文獻[16]探討了如何以計算思維為訓練目標設計程序設計案例,文獻[17]討論了如何通過非計算機專業(yè)的程序設計課程培養(yǎng)計算思維。但圍繞如何針對新生開展高效程序設計課程教學[18],以及如何培養(yǎng)新生的計算思維這些方面的研究卻還很少。
計算思維,顧名思義,即“一切皆為計算的思維”,可以把它理解為一種將復雜的實際問題都轉換為可以用計算機解決的思維模式,而計算機解決任何問題的本質,顯然都是通過各種計算來完成的。掌握用計算機解決問題的方法,是當今社會中最重要也是最基本的技能之一。要實現這一目標,就要靠計算思維的長期漸進式培養(yǎng)與發(fā)展,這主要涉及兩個方面的任務:(1)需要了解計算機求解問題所使用的計算方式。只有了解計算機計算的方式,才能判斷一個問題是否可以直接被計算機求解,也才能將待求解的問題轉換為計算機可以求解的形式;(2)需要掌握用計算機求解問題的設計方法。只有能夠設計出讓計算機求解問題的計算方法,即算法,才算真正掌握了計算機科學。在眾多計算機相關課程中,程序設計是能夠實現以上兩個任務的重要載體課程,而計算,作為計算機解決問題的終極形式,又顯然應該是實現培養(yǎng)計算思維這一目標的核心訓練手段。
四、以《程序設計》培養(yǎng)計算思維的實踐策略
本人所在基礎教學部承擔上海電機學院全校非計算機專業(yè)及計算機專業(yè)本科一年級學生的程序設計課程教學任務,包括C/C++語言及Java語言,分兩個學期授課,理論課共64學時,實驗課共32學時。從字面意義就不難看出,“計算思維”的核心思想是計算的能力和技巧。在教學中,我們以計算作為最重要的訓練方式,貫穿于整個教學環(huán)境中,嘗試以計算促進計算思維的形成。具體地,我們主要采取以下方法:
1.用計算問題讓學生快速開始程序設計。學生都經過從小學到高中的數學訓練,普遍對各種基本數學問題非常熟悉。用一些最簡單的計算問題例如“從鍵盤輸入數值,計算其和差積商”可以使學生迅速上手,開始學習編寫程序。一方面,這樣可以避免在學習初就因受困于復雜的問題本身而影響編程語言語法規(guī)則的學習;另外一方面,也使學生通過解決簡單的計算問題獲得學習新課的成功感和自信心,提高對后續(xù)課程學習的興趣。
2.用計算問題使學生了解程序設計實現計算的規(guī)則。在講授選擇結構程序設計時,我們使用了“數學年份,輸出各月天數”的例子。一年中的各個月份天數不同,僅需分為三種情況;二月份的天數需要根據該年是否是閏年來判斷,而閏年的判斷是小學生都非常熟悉的:即年份能被400整除;或能被4整除但不能被100整除。為了用編程語言描述這種判定規(guī)則,就需要引入邏輯運算符表示“與”和“或”的關系并且要準確理解運算符的優(yōu)先級。這樣就可以通過一個例子充分了解分支結構程序的設計規(guī)則和邏輯計算的規(guī)則。
3.用計算問題使學生了解用計算機解決問題所需要考慮的額外因素。在進行一般的數學計算時,除了有些情況要求數值只能是整數,我們一般不必考慮一個數是整數還是小數。但是用高級語言處理數據,除了比較特殊的Python等語言不區(qū)分數據類型,一般的高級語言如C和Java都是嚴格區(qū)分數據類型的。在數學上,我們可以很自然地書寫x=1,y=0.5,但是在編程語言中,如果x被定義為浮點型,那么整數轉換為浮點數,涉及表示方式的轉換,可能會丟失精度;如果y是整數,將浮點數轉換為整數會丟失小數部分。而后者,在類型嚴格的語言如Java語言中甚至是不允許的。雖然單純的數學計算幾乎不涉及整數和浮點數類型轉換的問題,但數據的類型轉換卻是程序設計中最容易出錯的。通過編寫測試性程序驗證0.1+0.2不等于0.3,學生的印象會非常深刻,并且能夠更直觀地了解在用計算機計算時,數據類型精度是一個必須要考慮的因素,從而形成一種思維模式,在設計計算方法時能夠處處考慮類型與精度的相關問題。
4.通過計算加深對計算殊規(guī)則的理解,強化計算思維。在教學中,我們會讓學生編程練習求“3斤2元的蔬菜,6斤多少錢”這樣看似極其容易的問題。大多數學生會因為按照數學的習慣書寫2/3*6這樣的表達式而得到看似荒謬的答案0,這樣的錯誤在程序設計中非常普遍地存在,并且在調試代碼時這類錯誤隱蔽性極大,不容易被發(fā)現。只有通過大量這類的計算練習,才能讓學生充分理解程高級語言(C/C++/Java等)中/的特殊運算規(guī)則,即整數除法的結果還是整數,如果要得到比較準確的結果,至少要把被除數和除數中的一個轉換為浮點數,對于變量需要使用強制類型轉換,對于常量,除了強制類型轉換,還可以在后邊添加.0,及2和2.0在計算中是截然不同的兩個數,產生的計算結果也是全然不同的。由此可以進一步強化對數據類型轉換的理解。
5.用計算問題使學生了解純粹的數學思維和計算思維的差別。在講解循環(huán)結構時,我們讓學生編程計算兩個數的最大公約數和最小公倍數。大多數學生會受困于小學數學中學過的短除法方法:用一個一個公因子依次去除兩個數,直到商是互質的。對于手工計算,這種方法當兩個數都不太大,公因子比較容易找且不都太大的情況是非常容易且直觀的。但是用計算機套用這種思路編程時就會遇到麻煩:手工計算式公因子是直觀“看”出來的,而計算機是沒有辦法一下子猜到一個公因子的。但是利用循環(huán),這個問題就迎刃而解。按照定義,最大公約數,就是最大的可以整除兩個數的數,最大不會超過兩個數中較小的一個,只要用循環(huán),從兩個數的最小值開始,一個一個嘗試,每次減1,找到一個能夠同時整除兩個數的數,就是答案而不必繼續(xù)找,而各種高級語言普遍都提供了求余的運算符。當兩個數變得很大時,這種方法的效率很低,于是可以利用循環(huán)實現更快尋找最大公約數的輾轉相除法;對最小公倍數的練習,也同樣可以強化循環(huán)的學習效果。通過這些例子可以使學生清楚地意識到,數學中的計算方式轉換為計算機的求解過程需要一定的轉換,而這種轉換正是計算思維的關鍵所在。
對以上幾種計算訓練模式,一個重要的環(huán)節(jié)是讓學生在實驗時犯錯誤,通過在計算中發(fā)生看似怪異的錯誤,而運算過程在數學上看來又無懈可擊,才能通過仔細的錯誤分析與代碼調試,發(fā)現按照一般思維無法發(fā)現的,由于計算機編程語言處理問題的特殊性而導致的錯誤,這樣才能使學生對這類錯誤的印象更深刻,從而盡可能減少今后出現同類錯誤的可能。
五、結語
在程序設計的教學中,我們利用學生普遍具有長期打下的良好的數學基礎這一特點,通過采取以上幾種方法,讓學生在解決計算問題時學會設計計算方法,逐步形成計算思維模式、加強計算思維方法,最終培養(yǎng)其計算思維能力。目前,課程教學改革正在持續(xù)進行階段,已初步取得一定成果,但還缺乏更久更大范圍的理論研究和實踐論證。我們希望能夠以這些改革措施改進理工科《程序設計》課程的教學效果,為大一學生學習后續(xù)課程打下良好的基礎,使他們受到全面的計算思維訓練,具有良好的信息素養(yǎng),最終提升他們在走出校園進入當今信息社會時的核心競爭力。
參考文獻:
[1]Wing J M. Computational thinking[J].Commun. ACM,2006,49(3):33-35.
[2]朱鳴華,趙銘偉,趙晶,et al.計算機基礎教學中計算思維能力培養(yǎng)的探討[J].中國大學教學,2012,(03):33-35.
[3]陸漢權,何欽銘,徐鏡春.基于計算思維的“大學計算機基礎”課程教學內容設計[J].中國大學教學,2012,(09):55-58.
[4]李波.計算思維與大學計算機基礎[J].中國大學教學,2012,(07):43-45.
[5]馮惠妍,陳爭光,邰建華,et al.程序設計中“計算思維”的教學研究[J].農業(yè)網絡信息,2013,(04):120-122.
[6]王衛(wèi)華.在程序設計類課程中培養(yǎng)學生計算思維能力的思考[J].武警學院學報,2013,(07):51-53.
[7]王先超,王春生,胡業(yè)剛,et al.以培養(yǎng)計算思維為核心的C程序設計探討[J].計算機教育,2013,(13):44-47.
[8]卜晨月.程序設計與學生思維能力培養(yǎng)的探討[J].林區(qū)教學,2013,(03):72-73.
[9]董衛(wèi)軍,邢為民,索琦.以計算思維為導向的程序設計課程改革與實踐[J].工業(yè)和信息化教育,2013,(06):60-64.
[10]劉光蓉.以計算思維能力培養(yǎng)為導向的C程序設計實驗教學[J].實驗技術與管理,2013,(01):154-156+191.
[11]劉曉璐.基于計算思維的Java程序設計教學改革[J].廣東技術師范學院學報,2013,(05):108-110.
[12]孫麗君,楊志強,高枚.圍繞計算思維培養(yǎng)的程序設計課程改革[J].計算機教育,2013,(05):29-31+38.
[13]徐燕,潘亞平.計算思維與計算思維能力培養(yǎng)――談大學計算機基礎教學改革[J].江蘇技術師范學院學報,2013,(02):92-95.
[14]商書元.計算思維培養(yǎng)在程序設計課程中的實踐[J].教育教學論壇,2013,(39):203-205.
[15]張雪伍,常晉義.計算思維在C++程序設計教學中的應用[J].計算機教育,2013,(13):52-56.
[16]楊俊生,張潤.基于計算思維的“C程序設計”案例設計初探[J].工業(yè)和信息化教育,2013,(06):65-69+64.
關鍵詞:計算思維;大學計算機;計算系統;非計算機專業(yè)
從20世紀90年代末期教育部倡議在大學開展“計算機文化”教育開始,經歷了以流行軟件學習與掌握為主的“計算機文化基礎”教育階段,以素養(yǎng)與應用驅動的計算機共性知識講授為主的“計算機應用基礎”教育階段。隨著認識的不斷深入,一些問題和矛盾也困惑著人們,如面對專業(yè)教育與計算機教育平衡的學時數問題、面對快速發(fā)展的計算機技術的教學內容取舍問題、理論內容與應用技能的教學與訓練平衡問題等。在這樣的背景下,陳國良院士和李廉教授發(fā)起并組織了若干次關于“計算思維”的研討會,對什么是“計算思維”及計算思維與理論思維、實驗思維的關系作出了科學的論述。教育部高等學校計算機基礎課程教學指導委員會和高等教育出版社等組織了若干次大學計算機論壇,探討了“計算思維”的形式和內涵等。以哈爾濱工業(yè)大學、浙江大學等為代表的高等院校已經對“大學計算機”的計算思維教學做了若干年的改革實踐,積累了很多經驗,C9院校聯合發(fā)表了關于以計算思維改造大學計算機課程的聯合聲明,這些都為大學計算機面向計算思維教育的改革奠定了很好的基礎??梢哉f大家已經形成了“大學計算機”課程的核心價值就是培養(yǎng)學生的“計算思維”、應該以計算思維為導向進行大學計算機課程改革的共識,面向“計算思維”的大學計算機教育的基本思路已經深入人心。但怎樣培養(yǎng)計算思維,大學計算機課程究竟講授什么內容才是培養(yǎng)計算思維,非計算機專業(yè)學生對計算思維的需求究竟是什么?針對這些問題,本文試圖給出一個解決方案。
一、從計算技術與計算系統的發(fā)展看計算思維
大學計算機課程究竟講授什么內容才是培養(yǎng)“計算思維”呢?計算(機)學科存在著哪些“核心的”計算思維?哪些計算思維對非計算機專業(yè)學生可能會產生影響和借鑒呢?對這些問題的探討將有助于大學計算機課程教學內容的選取和確定。我們先從計算技術與計算系統的發(fā)展看“核心”的計算思維,即大學計算機所面對的“知識空間”。
自20世紀40年代出現電子計算機以來,計算技術與計算系統的發(fā)展好比一棵枝繁葉茂的大樹,不斷地成長與發(fā)展。為此本文將計算技術與計算系統的發(fā)展繪制成一棵樹,如圖1所示,我們稱其為“計算之樹”。
1.“計算之樹”的樹根――計算技術與計算系統的奠基性思維
計算之樹的樹根體現的是計算技術與計算系統的最基礎、最核心的或者說奠基性的技術或思想,這些思想對于今天乃至未來研究各種計算手段仍有著重要的影響。仔細分析這些思想,本文認為“0和1”、“程序”、“遞歸”三大思維最重要。
(1)“0和1”的思維。計算機本質上是以0和1為基礎來實現的,現實世界的各種信息(數值性和非數值性)都可被轉換成0和1,進行各種處理和變換,然后再將0和1轉換成滿足人們視、聽、觸等各種感覺的信息。0和1可將各種運算轉換成邏輯運算來實現,邏輯運算又可由晶體管等元器件實現,進而組成邏輯門電路再構造復雜的電路,由硬件實現計算機的復雜功能,這種由軟件到硬件的紐帶是0和1?!?和1”的思維體現了語義符號化、符號0(和)1化、0(和)1計算化、計算自動化、分層構造化、構造集成化的思維,是最重要的一種計算思維。
(2)“程序”的思維。一個復雜系統是怎樣實現的?系統可被認為是由基本動作(基本動作是容易實現的)以及基本動作的各種組合所構成(多變的、復雜的動作可由基本動作的各種組合來實現)。因此實現一個系統僅需實現這些基本動作以及實現一個控制基本動作組合與執(zhí)行次序的機構。對基本動作的控制就是指令,而指令的各種組合及其次序就是程序。系統可以按照“程序”控制“基本動作”的執(zhí)行以實現復雜的功能。計算機或者計算系統就是能夠執(zhí)行各種程序的機器或系統。指令與程序的思維也是最重要的一種計算思維。
(3)“遞歸”的思維。遞歸是計算技術的典型特征,遞歸是可以用有限的步驟描述實現近于無限功能的方法,有遞歸過程、遞歸算法、遞歸程序。遞歸過程指的是能調用自身過程的過程,遞歸算法指的是包含遞歸過程的算法,遞歸程序指的是直接或間接調用自身程序的程序。它是可以自身調用自身、高階調用低階來實現問題求解的一種思維。它借鑒的是數學上的遞推法,在有限步驟內,根據特定法則或公式,對一個或多個前面的元素進行運算得到后續(xù)元素,以此確定一系列元素的方法。遞歸思維也是最重要的一種計算思維。
2.“計算之樹”的樹干――通用計算環(huán)境的進化思維
計算之樹的樹干體現的是通用計算環(huán)境暨計算系統的發(fā)展與進化。深入理解通用計算系統所體現出的計算思維對于理解和應用計算手段進行各學科對象的研究,尤其是應用專業(yè)化計算手段的研究有著重要的意義。這種發(fā)展,本文認為可從四個方面來看。
(1)馮?諾依曼機。簡單而言,馮?諾依曼計算機由存儲器、控制器、運算器、輸入設備、輸出設備所構成。程序和數據事先存儲于存儲器中,由控制器從存儲器中一條條地讀取指令,分析指令,并依據指令按時鐘節(jié)拍產生各種電信號予以執(zhí)行。它體現的是程序如何被存儲、如何被CPU(控制器和運算器)執(zhí)行的基本思維。理解馮?諾依曼計算機如何執(zhí)行程序對于算法和程序設計有重要的意義。
(2)個人計算機。個人計算機是由CPU、內存儲器、外存儲器(磁盤等)及輸入設備、輸出設備等構成。內存、外存等構成了存儲體系。隨著存儲體系的建立,程序被存儲在永久存儲器(外存)中,運行時被裝入內存,它如何被存儲在外存中,如何被裝入內存、如何被CPU執(zhí)行,如何充分地利用計算機的資源(CPU、內存和外存),這就需要操作系統――專門負責管理計算資源的一個系統軟件。因此說個人計算機體現了在存儲體系環(huán)境下程序如何在操作系統協助下被硬件執(zhí)行的基本思維。
(3)并行與分布計算環(huán)境。并行與分布計算環(huán)境通常是由多CPU、多磁盤陣列等構成的具有較強并行處理能力的復雜的服務器環(huán)境,這種環(huán)境通常應用于局域網絡/廣域網絡的計算系統的構建,體現了在復雜環(huán)境下(多核、多存儲器)程序如何在操作系統協助下被硬件執(zhí)行的基本思維。在程序執(zhí)行過程中還需充分發(fā)揮多核、多存儲器的性能,充分發(fā)揮C/S結構和B/S結構的性能等。
(4)云計算環(huán)境。云計算環(huán)境通常由高性能計算結點(多CPU)和大容量磁盤存儲結點所構成。為充分利用計算結點和存儲結點,其能夠按使用者需求動態(tài)配置形成所謂的“虛擬機”和“虛擬磁盤”,而每一個虛擬機和虛擬磁盤則像一臺計算機一個磁盤一樣來執(zhí)行程序或存儲數據。一個計算/存儲結點可按照使用者需求動態(tài)的配置成多個虛擬機/虛擬磁盤等。它體現的是按需索取、按需提供、按需使用的一種服務化的思維。
通用計算環(huán)境的進化思維體現了不同抽象層面的計算系統的基本思維,其核心和本質是“抽象”與“自動化”特征,即:機器層面――協議(抽象)與編碼器/解碼器(自動化),解決機器與機器之間的交互問題;人―機層面――語言(抽象)與編譯器(自動化),解決人與機器之間的交互問題;業(yè)務層面――模型(抽象)與執(zhí)行引擎(自動化),解決業(yè)務系統與計算系統之間的交互問題。
3.“計算之樹”的樹枝――計算與(社會/自然)環(huán)境的融合思維
計算之樹的樹枝體現的是計算學科的各個分支研究方向,如智能計算、普適計算、個人計算、社會計算、企業(yè)計算、服務計算等;也體現了計算學科與其他學科相互融合產生的新的研究方向,如計算物理學、計算化學、計算語言學、計算經濟學等。由樹干到樹枝,我們可將其劃分為三個層次:(1)“計算機”層次。著重于計算機器(含系統軟件等)的設計、建造、開發(fā)和應用研究。(2)“計算機科學”層次。著重于計算機和可計算系統的研究。(3)“計算科學”層次。著重于面向社會各個領域以及面向各個學科融合的計算手段的研究及其應用。
由計算機到計算科學體現了計算技術與社會/自然環(huán)境的融合,體現了由狹義的計算機的研究發(fā)展為更廣泛的面向社會/自然問題的計算技術的研究,體現了計算學科是由計算機學科與其他學科相互融合所形成的具有更廣泛研究對象的學科。
由樹干到樹枝,我們還可將其劃分為另外三個層次:(1)“計算機網絡”層次。著重在局域網、廣域網的技術及其應用,強調機器之間互聯互通。(2)“互聯網”層次。著重在信息互聯層次,互聯網被看做是擁有無限廣義資源的網絡,強調信息之間的互聯互通。(3)“未來互聯網”或“智慧網絡”層次。今天的網絡技術發(fā)展已由單純的計算機網絡、信息網絡,發(fā)展為感知與連接各個物理對象的“物聯網”、連接不同數據/知識載體的知識與數據網、連接不同服務組織所提供不同類別服務的服務網絡以及連接不同組織和人員的社會/社交網絡等,未來互聯網將社會/自然環(huán)境變成了一個大規(guī)模網絡化的環(huán)境,像水網、電網一樣,網絡化改變著人們的工作與生活環(huán)境,也改變著人們的思維方式。
由樹枝到樹干,體現了社會/自然的計算化,即社會/自然現象的計算的表達與推演,著重強調利用計算手段來推演/發(fā)現社會/自然規(guī)律。而由樹干到樹枝,體現了計算/求解的自然化,著重強調用社會/自然所接受的形式或者說與社會/自然相一致的形式來展現計算及求解的過程與結果。
4.“計算之樹”交替促進與共同進化的問題求解思維――算法與系統
利用計算手段進行面向社會/自然的問題求解思維,主要包含交替促進與共同進化的兩個方面:算法和系統。
(1)算法。算法被譽為計算系統之靈魂,算法是一個有窮規(guī)則之集合,它用規(guī)則規(guī)定了解決某一特定類型問題的運算序列,或者規(guī)定了任務執(zhí)行或問題求解的一系列步驟。問題求解的關鍵是設計算法,設計可實現的算法,設計可在有限時間與空間內執(zhí)行的算法,設計盡可能快速的算法。
(2)系統。盡管系統的靈魂是算法,但僅有算法是不夠的,系統是計算與社會/自然環(huán)境融合的統一體,它對社會/自然問題,提供了泛在的、透明的、優(yōu)化的綜合解決方案,系統是由相互聯系、相互作用的若干元素構成且具有特定結構和功能的統一整體。設計和開發(fā)計算系統(如硬件系統、軟件系統、網絡系統、信息系統、應用系統等)是一項綜合的復雜的工作。如何對系統的復雜性進行控制,化復雜為簡單?如何使系統相關人員理解一致,采用各種模型(更多的是非數學模型,用數學化的思維建立起來的非數學的模型)來刻畫和理解一個系統?如何優(yōu)化系統的結構(尤其是整體優(yōu)化),保證可靠性、安全性、實時性等系統的各種特性?這些都需要“系統”或系統科學思維。
算法和系統就好比是:系統是“龍”,而算法是“睛”,畫龍要點睛。
二、計算思維對非計算機專業(yè)人才思維的影響:一個案例剖析
前面介紹了計算思維的知識空間。接下來我們要分析一下,哪些計算思維對非計算機專業(yè)人才會產生重要影響呢?或者說非計算機專業(yè)人才對計算思維的需求是怎樣的呢?我們從一個成功案例來談。
1.John Pople――因計算機應用于化學領域而獲得諾貝爾化學獎
有很多非計算機專業(yè)人才基于計算思維取得成功的案例。本文僅舉一個案例,就是1998年諾貝爾化學獎的獲得者波普(John Pople),他獲得諾貝爾獎是因為“作為把計算機應用于化學研究的主要科學家,其建立了可用于化學各個分支的一整套量子化學方法,把量子化學發(fā)展成一種工具,并已為一般化學家所使用,以便在計算機里模擬分子賦予它們異種特性的方法,研究分子間如何相互發(fā)生作用并如何隨環(huán)境而改變,從而使化學邁向用實驗和理論共同研究探索分子體系各種性質的新時代”。這個工具就是“Gaussian量子化學綜合軟件包”,它可實現如下方面的研究:分子能量和結構,鍵和反應能量,分子軌道,多重矩,原子電荷和電勢,振動頻率,紅外和拉曼光譜,核磁性質,極化率和超極化率,熱力學性質,反應路徑計算等。它已成為研究許多化學領域課題的重要工具,例如取代基的影響,化學反應機理,勢能曲面和激發(fā)能、周期體系的能量預測,結構和分子軌道等。
2.從Gaussian工具看到的計算思維的影響
從波普所開發(fā)的Gaussian軟件包,我們可以看出計算思維對其是有很大影響的。例如:
(1)符號化、計算化、可視化思維的影響。如何將分子及其特性表達為計算機可以處理、可以顯示的符號,將分子及其對象轉化為“計算對象”。
(2)算法思維的影響。如何計算分子軌道,如何計算密度,如何計算庫侖能,如何計算分子的各種特性,這就需要算法――初始軌道猜測算法、密度擬合近似算法、庫侖能算法等。
(3)系統思維的影響。如何形成完整的工具,這就需要“計算系統”的基本思維。如通過語言/模型來讓研究者表達分子及其特性,表達其所要進行的研究內容,通過編譯器/執(zhí)行引擎,即調用計算機程序來按語言/模型表達的內容進行分析與計算等。
(4)聚集數據成“庫”的思維。將信息聚集成“庫”,基于“庫”所聚集的大量信息進行分析與研究,可發(fā)現規(guī)律和性質。
(5)物理世界與信息世界的轉換思維。這是信息處理的一般思維,即協議與編碼器/解碼器的思維,以采集、轉換、存儲、顯示數據,實現物理世界與信息世界的轉換。
可以看出,“0和1”、“程序”、“遞歸”、“算法”、“系統”以及通用計算環(huán)境等都對其產生了影響,可以說任何一種計算手段的研究都離不開一些“核心”的計算思維。
3.非計算機專業(yè)人才未來對計算思維能力的需求
波普的成功體現了計算思維對非計算機專業(yè)人才的一種影響,這種影響是深遠的。進一步分析我們可看出非計算機專業(yè)學生畢業(yè)后將可能利用計算機從事兩類工作。
(1)應用計算手段進行各學科研究和創(chuàng)新。不可否認,研究和應用本學科的理論與技術或者藝術等,是非計算機專業(yè)學生未來的主要工作內容。面對科學、技術或藝術研究的新形勢,傳統的手段如實驗-觀察手段、理論-預測手段等將會受到很大的限制,例如實驗產生的大量數據其結果是很難通過觀察手段獲得的,此時不可避免地需要利用計算手段來輔助創(chuàng)新,利用計算手段來實現理論與實驗的協同創(chuàng)新。
各學科均可應用計算手段進行學科問題的研究和創(chuàng)新。例如,藝術類學科可通過一些計算模型產生大量數據,通過計算、模擬與仿真等獲取創(chuàng)新靈感,產生新的藝術品或藝術形態(tài)。再如,生物學科利用各種儀器獲取大量實驗數據,通過計算、模擬與比較分析等研究細胞、組織、器官等的生理、病理與藥理機制,產生疾病治療的新手段、新藥物等。
著名的計算機科學家、1972年圖靈獎得主Edsger Dijkstra說:“我們所使用的工具影響著我們的思維方式和思維習慣,從而也將深刻地影響著我們的思維能力?!?利用計算手段進行相關內容的研究將成為未來各學科人才進行創(chuàng)新的主要手段之一。
(2)開發(fā)支持各學科研究創(chuàng)新的新型計算手段。雖然應用已有的計算手段進行學科研究創(chuàng)新很重要,然而如何將通用計算手段與各學科具體研究對象結合起來形成面向不同學科對象的新型計算手段卻更為重要。換句話說,利用一條生產線生產汽車很重要,但制造能夠生產汽車的新生產線卻更體現了創(chuàng)新。因此研究支持各學科研究創(chuàng)新的新型計算手段,如諾貝爾化學獎獲得者波普所做的工作,也將是非計算機專業(yè)學生未來的工作內容之一。
創(chuàng)新需要復合。這種面向不同學科創(chuàng)新的新型計算手段的研究尤其需要復合型人才,即一方面理解學科專業(yè)的研究對象與思維模式,另一方面理解計算思維。
4.計算思維可有效幫助非計算機專業(yè)人才跨越鴻溝
當前的非計算機專業(yè)計算機教學僅關注計算機及其通用計算手段應用知識與應用技能的教學,難以滿足非計算機專業(yè)學生未來計算能力的需求,難以跨越由通用計算手段學習到未來的專業(yè)計算手段應用與研究之間的鴻溝。然而若培養(yǎng)的是計算思維,計算思維與其他學科的思維相互融合,便可促進各學科學生創(chuàng)造性思維的形成,可以說計算學科的普適思維是各學科學生創(chuàng)造性思維培養(yǎng)的重要組成部分。如圖2所示。
為什么說計算思維可有效幫助非計算機專業(yè)人才跨越鴻溝呢?
思維的特性決定了它能給人以啟迪,給人創(chuàng)造想象的空間。思維可使人具有聯想性、具有推展性;思維既可概念化又可具象性,具有普適性;知識和技能具有時間性的局限,而思維則可跨越時間性,隨著時間的推移,知識和技能可能被遺忘,但思維卻可能潛移默化地融入未來的創(chuàng)新活動中。
具體而言,思維是由一系列知識所構成的完整的解決問題的思路。思維的每一個環(huán)節(jié)可能需要知識的鋪墊,基于一定的知識可理解每一個環(huán)節(jié),通過“貫通”各個環(huán)節(jié)進而理解“解決問題”的整個思維。這種貫通性的思維是“可實現的思維而非實現的細節(jié),盡管其可抽象化、概念化,但能留在人們記憶中的可能是其可視化、形象化的表現,即應將思維以可實現、可視化的方式而不是簡單化、概念化的方式傳授給學生,把知識貫穿于思維的講解與訓練中。
計算機學科中體現了很多這樣的思維,這些典型的計算思維對非計算機專業(yè)學生的創(chuàng)造性思維培養(yǎng)是非常有用的,尤其是對其創(chuàng)新能力的培養(yǎng)是必要的。如“0和1”“程序”有助于學生形成研究和應用自動化手段求解問題的思維模式,如“并行與分布計算”、“云計算”有助于學生形成現實空間與虛擬空間、并行分布虛擬解決社會自然問題的新型思維模式,“算法”和“系統”有助于學生形成化復雜為簡單、層次化結構化對象化求解問題的思維模式,“數據化”“網絡化”有助于學生形成數據聚集與分析、網絡化獲取數據與網絡化服務的新型思維模式。借鑒通用計算系統的思維,研制支持生物技術研究的計算平臺,研制支持材料技術研究的計算平臺等。大學計算機就是要挖掘這樣的思維,讓同學不僅有“思維”,更要使學生看見并確定這種“思維”是能夠實現的。
周以真教授將計算思維提升到一個新的高度,即“計算思維是運用計算科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動”,其本質就是抽象與自動化,即在不同層面進行抽象,以及將這些抽象“機器化”。其目的是希望所有人都能學會像計算機科學家一樣思考,將計算技術與各學科理論、技術與藝術進行融合,實現新的創(chuàng)新。
三、面向計算思維的大學計算機課程改革思路
結合前述的非計算機專業(yè)的能力需求,通過合理選擇可形成大學計算機課程的核心內容,包括如下:
計算技術與計算系統的奠基性思維;
通用計算環(huán)境的進化思維;
算法與系統――交替促進與共同進化的問題求解思維;
計算與(社會/自然)環(huán)境的融合思維――數據化與網絡化思維。
具體內容組織可有多種形式,本文給出以下兩種不同的組織方式:
(1)專題化。一些典型的計算思維,如“0和1”、“程序與過程”、“遞歸”、“并行與分布”、“虛擬化”、“數據抽象”等適合于以專題形式進行組織,通過典型的社會生活現象及其求解思想逐漸深入到計算系統的求解思想,圍繞著專題,通過多樣化的、形象化的、概念可相互映射的(注:指社會/自然中的概念與計算中的概念的映射)案例來闡述相關的思想??墒箤W生由淺入深地理解計算思維,并將其和社會生活現象有機地聯系在一起,豐富其聯想能力,促進其復合型思維的形成。
(2)系統化。為使學生對計算技術與計算系統有一個系統性的了解,也可以以系統化的方式逐層講解計算思維。如首先介紹計算系統的基本思維(計算技術與計算系統的奠基性思維,通用計算環(huán)境的進化思維),然后介紹問題求解的框架(算法和系統),再進一步介紹一些典型的計算思維,如典型的算法思維、數據抽象與分析思維、網絡化思維等。
通過以上內容的選擇與組織,結合適當的教學方式以及合適的教學案例,筆者相信大學計算機課程是可以達到培養(yǎng)學生計算思維的目標的。但需注意:一定的“知識”是“思維”理解的前提,思維是將知識貫通起來所形成的問題求解的思路,但將思維轉換成能力則還需要大量的訓練。建議大學計算機第一門課程著重于通識性思維的“講解”,而其他課程則著重于思維的“訓練”,通過不同課程的合理分工來達到培養(yǎng)計算思維的目的。
(北京林業(yè)大學 信息學院,北京100083)
摘要:針對現今大學計算機基礎教學漸漸落后于時代需求,對學生也越來越缺乏吸引力的現狀,分析當今社會環(huán)境對教學的影響,提出以培養(yǎng)計算機思維能力為目標的大學計算機基礎教學方式及教學內容。
關鍵詞 :大學計算機基礎;教學現狀;計算思維;多元化
第一作者簡介:徐秋紅,女,副教授,研究方向為計算機科學與技術,shinestar1129@126.com。
0 引言
隨著計算機技術的飛速發(fā)展,以及互聯網應用的無處不在,早已將我們身邊的一切事物都卷入到科技革命高速運轉的車輪之中,一切都在改變,向著更精準、更智能、更快速的方向轉變著。大學計算機教育也在這30多年中不斷地成長和變化,無數教師在這場教育的戰(zhàn)場上拼搏和前行,但似乎我們總感到力不從心。
1 現狀分析
十幾年來,大學計算機基礎課一直是作為高校的非計算機專業(yè)學生的公共基礎課,其教學目標一直定位于向學生普及信息技術知識和推廣計算機的應用。為了實現這個目標,教師們在課程體系、教學內容、教學手段及教學方法上,一直進行著不斷地研究和革新。但是,隨著時代的進步,特別是計算機技術、互聯網技術、虛擬和仿真技術的快速發(fā)展和廣泛應用,現今大學計算機基礎課的內容漸漸落后于時代需求,大學計算機基礎課程對學生來說也越來越缺乏吸引力。
1.1 所面對的教育對象的現狀
現在的大部分大學生已經是出生于1995年以后的年輕人,他們一出生就開始接觸大量的電子設備,電視、計算機、手機,以及日常的家用電器等電子設備在他們的手中如同玩具一般平常,他們對電子設備操作的快速上手和熟悉程度是令成年人驚訝的,對他們而言,電子設備的操作方式理應如此,設備體現的效果也是理所當然。所以使用電子設備(如手機或計算機)處理文本、做一個計算、上網查詢、打游戲、電子導航等,已經成為了他們的習慣。對他們而言,這是不需要加以訓練的。這正是我們今天面對的教育對象的現狀,他們已經是名副其實的互聯網一代了。
1.2 大學計算機基礎教學的現狀
我國的10年義務教育早已將計算機的基本應用操作作為普及性知識,并在全國各省市的中小學教育中開設了相關的常識性課程,所以大部分的大一新生入學時,都已經了解過或掌握了一些計算機的基本操作技能,倘若今天我們在大學的計算機課程中依然以計算機初級教育為起點,或是還在采用重復性的教學內容,那么一定會讓大部分的學生感到倦怠。早在4、5年前,我們周圍就已經出現過許多質疑的聲音,大學的計算機基礎課是否應該適時地取消?到目前為止,我們也看到了這樣的現實,要么有的學校干脆撤銷了計算機基礎課,要么有的學校內部的一些專業(yè)已經將計算機基礎課程排除在四年制課程體系之外了。這不得不讓我們冷靜地思考大學的計算機基礎教學是不是真的沒有存在的必要了?
2 重新認識計算機教育的新需求
跟上時代潮流,才能處于不敗之地!通過分析大學計算機基礎教育的現狀,不難發(fā)現,我們30年來不斷地改革教學內容、教學方式及教學手段,都是在不斷地適應時代變化的需求。到目前為止,我們已經完成了教育的第一步:喚醒人們對新技術革命的認識?,F在我們必須邁入第二步:讓人們參與到新技術革命的進程之中。那么,如何讓每一個人都能順利地參與其中,將自己的生活、工作和學習適應于今天的變化,這就要培養(yǎng)人們“計算思維”的意識和習慣。
2.1 充分認識計算思維是現代人類應該具備的基本思維能力之一
什么是計算思維呢?美國卡內基·梅隆大學(CMU)Jeannette M. Wing (周以真)教授在她的《Computational Thinking(計算思維)》一文中指出:“計算思維是運用計算機科學的基礎概念去求解問題、設計系統和理解人類的行為,它涵蓋了反映計算機科學之廣泛性的一系列思維活動。計算思維是每個人的基本技能,不僅僅屬于計算機科學家。除了閱讀、寫作和算術之外,我們應當將計算思維加入到每個孩子的解析能力之中”[1]。
自20世紀80年代的微機普及到家庭開始,計算機就已經從專門的計算科學領域跨入到其他更廣泛的學科和社會的各行各業(yè)之中,隨之而來的是形成了大量的新型學科,這些新型學科產生的一個共同特征是都建立在與計算機技術、網絡技術的深刻融合之上,那么如何讓學生理解實現這一融合的初始動力,就需要用計算思維來解釋。計算思維正在成為像普通的算術思維一樣的人類必要的思維形式,它是認知的需要,也是今天和未來的人類生活和工作的必備能力。
2.2 培養(yǎng)計算思維能力才是大學計算機基礎教育的意義所在
計算機技術的廣泛應用和互聯網的全球化,使得天才和普通人的差距逐漸變得模糊,在互聯網上,所有人都有機會參與其中,人人都可以平等地發(fā)表言論,互聯網上出現的許多詢問都會在瞬間得到答案,更多的難題也會在成千上萬人積極迅速的應答中迎刃而解。人與人交流更容易,工作場所更靈活,學習過程更便捷,生活方式更多樣,可以預想到,當大學生們經過4年學習離校后,他在從事專業(yè)研究和工作時,也必須順應本行業(yè)的計算機技術嵌入及互聯網應用,否則將被時代無情地拋棄。
今天的學生幾乎都會使用計算機和手機,但是他們未必了解計算機和手機功能的實現原理,或是這些功能所代表的獨特的技術特征,也就是說,他們只知其然,而不知其所以然。而大學的計算機教育應該向學生講清這其中的基本原理,講清世界的事物之所以可以運用計算機技術和網絡技術進行有效管理,其實質是該事物已經通過數字化存在于計算機中,計算機對這些數字的處理目的是要再作用于該事物,并將該事物以對人類更直觀更有益的方式來顯現。那么如何將事物數字化,如何規(guī)劃和設計處理過程,如何在時間和空間之間權衡處理過程的效率,如何在最壞的情況下實施預防和保護,如何進行系統的自我恢復,如何利用海量的數據來加快計算和做到精準計算等,這都涉及計算思維的范疇。
3 計算機基礎教育如何實現培養(yǎng)計算思維能力的過程
大學計算機基礎教學始終是隨著時展而處在不斷的改革之中,其中教學內容或多或少的包括計算思維、數學思維、實證思維的內容,只是我們在教學中從來沒有刻意的要區(qū)分它們,而今天我們特別強調計算機基礎教育要培養(yǎng)學生的計算思維能力時,這就需要我們在教學環(huán)節(jié)中,注重研究如何重整相關的教學內容、如何建立合理的教學方案,如何實施有效的實踐活動來幫助學生掌握計算機思維的能力。這也是現實社會發(fā)展的需要。
3.1 教學內容要通過不斷更新來追隨時代的變化
在計算思維能力培養(yǎng)的教育中應該注重兩個方面的教育,一個是教育學生正視現實,同時要眺望未來;另一個是教育學生形成開放型思維的習慣。
3.1.1 讓學生了解計算機技術和互聯網技術的發(fā)展對其他領域的發(fā)展有著引領的作用
在現代社會中,計算機和互聯網對人類生活的影響既全面又徹底,人類對物質的需求和占有的欲望所表現的行為之一——購物,其變化就很好的表現出這種影響的深刻性。在近10年的時間里,計算機和互聯網已經將人們從商場拉到鍵盤前,甚至只要動一動手指就能夠完成整個購物過程。選購商品變得越來越便捷,大量投其所好的廣告精準地預測著人們的購物習慣和購物需求,這都得易于大數據時代的特征。我們要讓學生了解大數據是如何產生的,以及大數據的特征和價值體現在哪里,要讓學生了解大數據、數據倉庫、數據挖掘技術之間的關系,要讓學生了解大數據時代將對人類的思維變革、商業(yè)變革、社會的管理變革帶來什么樣的影響。
3.1.2 建立開放型思維習慣,理解數學的形式化思維與工程思維融合是培養(yǎng)計算思維能力的核心所在
正像第三次工業(yè)革命掀起的電力應用發(fā)展,至今早已讓人類處在了無處不在的電力環(huán)境之中,我們幾乎在應用電力的同時不再能感知電力的存在,而計算機和互聯網也將步其后塵,開辟未來無處不“計算”的新天地[2]。在這一新天地中,我們將占有多少自創(chuàng)技術的前沿陣地?我們將會擁有多少自主創(chuàng)造的新領域?這是值得每個中國青年學生深思的。
若要在當今時代的技術創(chuàng)新中處于領先的地位,首先就要了解新技術的真實內含,要了解計算機中那些“理所當然”的功能的內在工作方式和基本原理,了解那些“理應如此”的效果所包含的計算機科學的技術及方法。未來各種學科專業(yè)的創(chuàng)新都必定要與計算機技術和互聯網技術相結合,而在結合點中尋找切入點是非常關鍵的。為了尋找切入點,就要充分認識事物的處理作用于計算機就是數據計算,那么被處理的事物中,哪些是可以“計算”的和進行怎樣的“計算”都是要由研究者思考和決定的。
我們應該在大學中提倡計算機科學教育,普及計算機技術基礎知識,讓每個學生理解事物中什么是可以計算的,如何建立和尋找事物中存在的可計算的特征,讓學生掌握對事物進行有效計算的基本方法,努力培養(yǎng)學生具備在未來進行創(chuàng)新的基本能力,以實現國家整體的創(chuàng)新性研究和發(fā)展。
3.2 研究建立新型的教學實驗環(huán)境和實驗方法
計算機基礎課程的內容大致分為計算機的信息表示、計算機系統結構、網絡技術、多媒體技術、數據庫管理技術、程序設計方法及計算機安全等多個內容,若要從這些不同的內容中提煉出表現計算機技術和網絡技術的概念和原理,僅憑老師在課堂中的講解來讓學生領會和聽懂是遠遠不夠的,特別是在解釋計算機的運行原理或操作系統內部獨特的技術特征時,那些不可見或不易見的內容往往令學生很迷惑。
由于受到環(huán)境、可用資源和師資水平的限制,我們的計算機基礎課一直實行200~300人同時上課的大班課形式,實驗室對非計算機專業(yè)學生的計算機基礎課僅可以滿足提供臺式微型機作為實驗機,而且臺式微型機能直接支持的只有軟件應用,所以只能在實驗課上做一些使用軟件環(huán)境的操作性的實踐,基本談不上真正的“實驗”。那么如何為計算機基礎教學建立合適的實驗環(huán)境,以及采用什么樣的操作方式來完成計算思維能力的訓練,這將是今后我們必須不斷探索和嘗試的工作。目前,有的高校正在嘗試采用虛擬現實技術和仿真技術來設計和開發(fā)與之完全匹配的實驗內容[3],實現向學生提供一個可以實際動手的實驗機會。
為了形象地描述計算機原理和計算機技術中不易直接呈現的內容,我們還應該考慮采用動畫、三維視頻影像的方式去組建一系列專門匹配教學內容的資料片來輔助教學。由于各個學校的資源差異較大,應該組建和推廣校與校之間的教學資源共享平臺。
3.3 嘗試建立和選擇多元化的教學形式
3.3.1 教學形式和授課方法的多元化
在大學的計算機基礎教育中注入培養(yǎng)學生計算思維能力的教育內容,將使過去從知識技能型教學,轉向思維型教學,因此在教育方式和教學方法上也要考慮從單向灌輸方式轉為雙向的互動方式;教學中可以嘗試讓學生討論自身專業(yè)與計算機技術相關性分析等內容;還可以開設一些特殊的講座來補充教學內容。
計算思維能力的培養(yǎng)單靠計算機基礎一門課是無法完成的,應該建立合理的系列課來系統地完成這個重任,從學校的計算機教育層面上應該為學生的學習提供更大的自由度和選擇空間,增強學生對教學內容的自主選擇。
3.3.2 課程設計、課程實踐、課程實驗和實習訓練的多元化
大學計算機基礎教學內容廣泛,應該根據不同內容去設計和實施不同形式的教學活動。因為計算思維的本質是抽象和自動化,為了契合培養(yǎng)學生計算思維能力的教學目標,教學活動中應該至少安排一次課程實習,學生以小組為單位參與實習,每個小組通過成員的分工合作來完成一個完整的系統設計類實習內容,讓學生真實的體驗解決一個具體實際問題時,如何開展問題分析、綜合、抽象、推理、判斷、設計、自動化處理、檢驗等一系列過程,以達到最終的目標,以及學會組員彼此間相互協作、交流溝通的方法和技巧。
3.4 師資建設中強調更新教育理念
目前,由于大多數正在從事計算機基礎教學的教師對計算思維的理解還處在逐步認識的階段,而且現在也還沒有一個成熟的針對計算思維教育方法的現成模式,因此,不斷地探索和嘗試、不斷地交流和總結將是我們未來主要的工作狀態(tài)和工作方式。
大學的計算機基礎課內容多、學時少,授課對象都是非計算機專業(yè)的大一新生,教學目標是提升學生認知世界的另一種能力——計算思維能力,要講好這個課程,是非常不容易的。它需要講課的教師必須具備較全面的計算機技術知識、互聯網技術知識,以及其他相關領域的知識,并能夠較好的將兩種或兩種以上領域的知識相互溶合,同時還要求該教師應該從事過系統設計,具有實際操作的經驗,具備較好的思維貫通能力和良好的表達能力。
計算機科技領域是一個發(fā)展變化最快的領域之一,也是一個與其他領域的技術相關度最密切的領域,這就直接導致了與計算機相關的概念、思想、技術、產品、行業(yè)等也在不斷地去陳出新,這就要求從事計算機基礎教學第一線的教師必須始終關注科技發(fā)展的動向,隨時不斷地學習和充實自身的學識,不斷地更新教育理念,以確保能夠適應不斷變化、不斷提升的教學要求。
4 結語
我國30多年來的快速經濟發(fā)展,迅速地消耗了國家有限的自然資源,今后如果要確保國家經濟的可持續(xù)發(fā)展,就必須完成轉型升級,要走出一條科技含量高、經濟效益好、資源消耗低、環(huán)境污染少、人力資源優(yōu)勢得到充分發(fā)揮的新型道路,這些都要依靠科技創(chuàng)新。今日世界盛行的計算機技術、互聯網技術正在提供著有利的發(fā)展平臺,我們必須抓住這個機遇,走出自己的創(chuàng)新之路,培養(yǎng)適應時代需求的新型人才,而計算思維能力的具備正是這一征程的原動力。
參考文獻:
[1] 王飛躍. 從計算思維到計算文化[EB/OL]. [2012-2-9]. http://douban.com/group/topic/27344368/author=1.
[2] 王偉. 計算機科學前沿技術[M]. 北京: 清華大學出版社, 2012: 8-10.