蔡廣軍 劉勇
摘要:當前,計算機的應用范圍越來越廣、應用程度越來越深,而計算機專業(yè)的發(fā)展和就業(yè)卻面臨極大挑戰(zhàn)。該文從計算思維出發(fā),結合教學中的認識,提出了計算機教育發(fā)展的一個新方向,分析了這個方向涵蓋的內容,提出了開放這一新教育方向的方法。為深化計算機教育、提高計算機專業(yè)學生的素質、拓展計算機專業(yè)范圍、開拓計算機專業(yè)的就業(yè)領域奠定了基礎。
關鍵詞:計算思維;計算機教育;計算技術應用;計算機專業(yè);計算科學
中圖分類號:TP3 文獻標識碼:A 文章編號:1009-3044(2014)07-1458-03
1 概述
現(xiàn)代計算機自1946年誕生以來,經過70多年的發(fā)展,當前已進入人類工作生活的各個方面。然而隨著用戶接口的人性化和計算機基礎知識的普及,計算機理論瓶頸的阻擋,計算機專業(yè)的發(fā)展卻遇到了障礙,甚至部分人員認為計算機專業(yè)已經沒有存在必要。計算思維是用計算的基礎概念解決問題、設計系統(tǒng)和理解人類行為的一種方法。它涵蓋了數學思維(求解問題的方法)、工程思維(設計、評價大型復雜系統(tǒng))和科學思維(理解可計算性、智能、心理和人類行為)等多個方面的內容。其本質是抽象和自動化,通過抽象來分析問題,實現(xiàn)問題的自動解決。
從計算思維出發(fā),計算機作為一種輔助人類腦力勞動的工具,對很多問題的解決采用了與人類和其它領域已有解決方法不同的方法,這些方法的獲取和應用對于計算機軟件和硬件的開發(fā)具有極大的推動作用。該文從計算機專業(yè)化和應用的角度出發(fā),根據計算思維的思想,提出計算技術應用專業(yè)。它用計算機解決問題的方法來研究其它領域問題的解決方法,拓展計算機的應用領域。專業(yè)內容包括計算技術、應用領域、領域問題、問題的計算機解決方法和方法解決效果等,具體層次關系如圖1所示。然而由于內容的繁雜和領域的多樣性,該專業(yè)的很多內容并不是已有內容的直接收集,需要進一步的研究和提取。
2 專業(yè)內容設置
拓展目的是讓學生能有計算機解決問題的方法解決各個領域內的問題,其內容主要包括計算技術和典型領域兩個方面,確定專業(yè)內容的過程如圖2所示,包括確定計算技術、選擇應用領域、提取典型領域問題、為問題確定典型的計算方法和應用效果評價等。其中,計算技術來源于計算機科學、應用領域和其中問題來源于具體問題領域、計算方法和效果是兩方面知識的綜合。
2.1.1 確定計算技術
用計算機方法來思考、解決、評價其它領域的問題,計算機知識和計算技術仍是其基礎和核心?;谟嬎闼季S確定計算技術是深化和提取已有計算機相關的內容,可以從計算思維方法、計算機通用方法、計算機應用方法和計算機系統(tǒng)使用方法四個方面提取。
計算機思維方法是從計算機和計算技術中的基本原理、技術和方法中提取的思考解決問題的方法。它是在已有計算機相關原理、技術知識的基礎上概括并抽象提取的,不僅可以用于計算系統(tǒng)的開發(fā)和應用,還可以用于解決當前和計算機系統(tǒng)無關問題的分析和解決。
計算機通用方法是獨立于具體應用和系統(tǒng)的計算機相關的原理、技術和方法。由于新專業(yè)中增加了領域知識的內容,難以完全涵蓋已有的內容,故本部分內容需要在勾勒出計算技術整體框架、基本技術和代表性的方法的基礎上,舍棄一些具體的實現(xiàn)和操作方法。
計算機應用方法是使用計算機相關技術的方法,包括計算思維的應用方法、計算技術的應用方法。
計算機系統(tǒng)使用方法是通用的計算機使用和操作方法。這兩部分的內容是和具體應用無關的。
2.1.2 選擇確定應用領域
選擇確定應用領域是選擇學生將來的具體擅長的應用領域,基于計算思維選擇應用領域除了考慮問題領域的特征和分類外,還依賴于計算技術的研究和發(fā)展預測。本部分的內容可以獨立于計算機,其步驟包括領域的劃分、領域的選擇和領域內容的確定。
領域的劃分可以根據計算機應用的特征和現(xiàn)實世界中問題領域的劃分方法來劃分應用領域,前者包括電子商務、電子政務、機械制造等領域,后者包括科學計算、人工智能等領域。
選擇時要考慮領域的重要性、典型性、前瞻性和全面性等性質。領域重要性包括兩個方面:一是領域自身的重要性,在國計民生中具有重要地位;二是指計算機發(fā)揮較大作用的領域。領域典型性指領域具有一定的代表性,具有較大的應用范圍或相似的領域,通過這一領域知識的學習能解決較大范圍的問題。領域前瞻性指領域內不僅存在計算機已解決的問題,還存在計算機正在解決和將來能解決的問題,可以涵蓋計算機應用的不同層次。領域全面性是對領域內問題覆蓋面的衡量,至少包括對計算機某一方面內容的全面應用。
選擇領域后,對領域內容的確定可以從三個層次展開。一是領域整體結構,要從整體上對領域有充分的理解;二是領域內的主要問題,至少要涵蓋對領域重要的問題和計算機不同層次知識應用的問題;三是領域的發(fā)展趨勢,要把握領域的發(fā)展方向以確定計算機在領域內應用的方向。
2.1.3 領域中問題的選擇和研究
每個領域都有很多問題,計算機不可能解決領域內所有問題。即使能解決的問題,也可能不適宜用計算機解決。而對很多領域來說,計算機能很好解決的問題也不可能都作為學生學習的內容。為此,課程內容不僅應該包括具體問題,還應該包括基于計算思維提取的問題選擇的原則。
問題的篩選原則和領域篩選原則類似,可以從問題的典型性、重要性和前瞻性等方面選擇。問題的典型性是由于選擇問題旨在通過一個問題使學生掌握一類問題和其解決方法,使得所選問題在問題領域內具有代表性或者在計算機應用方面具有代表性。問題的重要性需要從問題對領域的重要性和問題對學習計算方法解決同類問題的重要性。問題的前瞻性是指問題是否代表了領域發(fā)展的新方向、新趨勢或代表了計算思維在領域內應用的新方向和新趨勢。
對于每個問題,需要涵蓋問題內容、問題解決技術和效果三個方面。問題內容是對問題的詳細陳述,包括問題的本來特征和與計算機相關的特征;問題解決技術是問題的各種解決方案,包括解決問題的出發(fā)點、具體的解決步驟或框架;解決的效果主要是對各種解決方法優(yōu)缺點的總結評比。
以企業(yè)管理領域為例,選擇問題要選擇各個企業(yè)都面臨的緊急問題,比如供應鏈問題。問題的闡述需要解釋清什么是供應鏈,供應鏈問題有哪些部分、每個部分有哪些解決方法,每個方法解決了那些問題、這些問題的意義和解決方法的特征等內容。
2.1.4 領域內計算機解決問題的方法
領域內問題的解決方法是計算技術和領域問題兩方面內容的綜合。針對選定領域內每個選定的問題,都要確定對應的計算機的解決方法,但不一定是完全成熟的計算機系統(tǒng)的使用?;谟嬎闼季S的問題解決方法是各種計算技術應用的綜合,包括計算思維的應用、計算技術的應用和計算系統(tǒng)的應用等不同的層次。
計算思維的應用是計算機解決問題思路或方法在領域中具體問題的應用,不涉及具體計算機軟硬件在領域中的應用。應用內容是提取的計算機思維和領域內待解決問題的交集。例如采用需求工程中問題框架的思想去分析確定企業(yè)、部門、機器等解決問題的內容;采用計算復雜性理論去分析現(xiàn)實問題的復雜程度;人采用計算機搜索和推理問題的方法去分析解決問題等。
計算技術的應用是計算機開發(fā)方法在領域中的應用,應用結果是一個計算機系統(tǒng)或模塊。它針對的是領域內計算機未解決的或解決的不好的問題,去獲得一種新的或更好的計算機解決方案。包括特定問題的需求分析方法、針對這一問題的系統(tǒng)架構、分析和設計產品、代碼和測試產品以及每一種成品的原因和結果分析。
計算系統(tǒng)的使用是具體計算機產品在領域中的應用,包括具體的軟件和硬件的應用。具體軟件系統(tǒng)包括企業(yè)管理 中ERP系統(tǒng)、生產制造中的CAD、PROE等系統(tǒng);具體的硬件包括各種計算機終端和芯片。
2.1.5 確定方法的應用效果
方法應用效果是對計算方法在所在領域應用結果,基于計算思維確定方法的應用效果是通過提取分析計算機評價技術實現(xiàn)對方法應用效果的分析和評價。內容可以包括正面的、負面的和未來改進多個方面。正面效果包括問題的重要性、計算解決方法解決了問題的程度、和其它方法比的優(yōu)勢。比如ERP系統(tǒng)在企業(yè)中的作用,解決了企業(yè)中哪些問題,相比沒有ERP時企業(yè)生產方式有哪些變化,改進了哪些環(huán)節(jié)。負面效果包括領域內未解決的問題、問題中未解決的部分、解決問題不足的方面等內容。比如ERP不能完全代替人來管理企業(yè)、不能解決企業(yè)管理中的戰(zhàn)略決策問題、對信息的處理范圍和速度都有不足。未來改進包括領域內將來能解決的問題、問題中將來能解決的部分已解決問題中將來能改進的部分和更好的解決已有問題的方法等內容。比如ERP將來可以更多地代替人的腦力勞動、可以為戰(zhàn)略決策提供更多支持和幫助。
3 總結
本文針對計算機專業(yè)的發(fā)展問題,根據計算機的特征,通過深化提取計算技術、引入領域和領域問題、研究典型問題的計算機解決方法和評價,提出了計算機專業(yè)發(fā)展的一個新方向,擴充并深化了已有計算機專業(yè)的內容和應用層次。該方法的應用可以進一步提取計算機知識的層次和應用深度,提高學生在特定領域內應用計算機技術分析問題、解決問題的能力,開拓計算機知識的應用范圍,為計算機應用的深入和學生就業(yè)方向的拓展提供了基礎。然而,該專業(yè)很多內容尚不成熟,需要進一步的研究和教學中的進一步的提煉。
參考文獻:
[1] Wing J M. Computational Thinking[J]. Communications of the ACM, 2006,49(3).
[2] Wing J M. Computational Thinking and Thinking about Computing[EB/OL].2008. http://www.cs.cmu. edu/~wing/pub2lications/Wing08a.pdf.
[3] 周以真. 計算思維[J]. 中國計算機學會通訊,2007,3(11).
[4] 王飛躍. 從計算思維到計算文化[J].中國計算機學會通訊, 2007,3(11).
[5] Philips P. Comptional Thinking: A problem solving tool for every classroom[EB/OL],2008.http://www.csta.acm.org/Resources/sub/ResourceFiles/ComputationalThinking.pdf.
[6] Bundy A. Computational Thinking is Pervasive[J]. Journal of Scientific and Practical Computing, Noted Reviews,1(2).
[7] BCS. The science of thinking: Europes next policy challenge[EB/OL]. 2008. http://www.sciencebusiness.net/documents/thinking.pdf.
[8] Denning P J,et al. Computing as a discipline[J]. Communications of the ACM,1989,32(1).
[9] 董榮勝.向學術界推薦一個認知計算學科的工具——計算機科學與技術方法論[C].上海:新世紀計算機教育及CC2001研討會,2001.7.
[10] 中國計算機科學與技術教程2002研究組.中國計算機科學與技術學科教程2002[J]. 北京:清華大學出版社,2002.