?

基于計算思維的程序設計課程教學探討

2017-02-06 23:08賀清碧
價值工程 2017年2期
關鍵詞:計算思維任務驅動創新思維

賀清碧

摘要: 培養學生計算思維能力是計算機基礎課程教學中的核心任務之一,而計算機程序設計課程在計算機能力培養方面發揮著極其重要的作用。本文就針對于如何培養學生計算思維能力的問題,在計算機程序設計課程的教學中,從轉變教學觀念、因類施教、任務驅動教學模式和實踐環節等方面提出了具體的策略。

Abstract: The cultivation of students' computational thinking ability is one of the core tasks of the teaching of basic computer courses, and computer programming courses in computer skills training play an extremely important role. In this paper for how to cultivate the students' computational thinking ability in the teaching of computer program design course, put forward the concrete strategies from the transformation of teaching idea, class teaching, task driven teaching mode and practice etc.

關鍵詞: 計算思維;創新思維;任務驅動

Key words: computational thinking;creative thinking;task driven

中圖分類號:TP311.1;G642.3 文獻標識碼:A 文章編號:1006-4311(2017)02-0249-02

0 引言

計算思維實質上就是一種人們對于一個問題的描述、建立模型以及問題的最后求解這一過程的科學思維能力[1],它已經成為人們本質的、必須具備的一種最基礎、最普遍、最適用和不可缺少的基礎思維方式和能力,就如同人們閱讀、寫字、做算術一樣,它將是現代社會中每個公民必需的生存技能和工具。計算機思維是一種現代科學思維能力,該思維強調的是計算過程的具體實現以及如何利用程序語言控制機器來解決實際問題[2]。周以真教授提出的觀點是:“計算思維是人類實現問題求解的一種途徑,但決非要使人類像計算機那樣思考。與計算機相比,人類富于創造力和想象力,使用計算設備,人們可以運用自己的智慧去解決那些在計算時代之前不敢嘗試的問題”[3]。

因此,可以認為計算思維具有抽象和自動化的本質,是人們必須具備的一種最基礎、最基本的思維方式和能力,在現代信息化社會中起到重大作用。所以在計算機程序設計課程體系中,如何引入計算思維理念,如何培養計算思維,有助于提高教育教學水平,同時促進計算思維在國內的進一步研究與傳播,為計算機基礎課程教學改革提供新的思路與視角。

1 計算思維

計算思維是運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動[4]。早在2006年3月,在美國計算機權威雜志ACM上,卡內基·梅隆大學計算機科學系周以真(Jeannette M.Wing)教授就率先提出了這一概念,隨后在國內外掀起了有關計算思維的廣泛研究與探討。比如,在2007年3月,“微軟-卡內基梅隆計算思維中心”成立,是由微軟公司和卡內基·梅隆大學聯合組建。同時,美國計算機協會(ACM)也隨后提出在“計算機導論”課程中融入“計算思維”的理念[5]。

計算思維常用抽象與分解的方法來處理復雜的問題或系統,通過對問題進行合適的表達以及對問題建模來使問題變得容易解決,其本質是抽象和自動化,如同每個人都應該具備“讀、寫、算”能力一樣,它是人類改造世界的最基本的思維模式[6]。然而計算思維的抽象是用符號來代替現實問題中的各種變量,它的自動化體現在程序的機械式執行方面。

2 程序設計課程中培養計算思維能力的策略

2.1 轉變教師的教學觀念

當今科學技術和社會的加速發展,給教育不斷提出了很多新的需求,迫使教育工作者們教育觀念必須與時俱進。遵照計算機學科的“構造性”和“能行性”特征,就需要強化基于計算思維能力的計算機基礎課理論教育。在計算機程序設計課程的教學中,在學時壓縮和社會高需求下,培養學生抽象的歸納力和理解力等計算思維能力,比如,如何喚醒學生潛在的力量,提起他們的興趣、鼓勵其積極性,訓練其自我性和主動性,成為我們教學研究的重點。所以我們必須在教學觀念上研究如何做到以人為本,針對在較大程度上又是以思維方式的數學化為支撐的計算思維能力,如何在教學的每一個環節去思考計算思維能力的培養。比如,在計算機程序設計課程的教學過程中強化計算思維訓練的時候,計算思維就其嚴謹[7]性的特點,要求在描述問題時,必須采用確定的、形式化的、不能有二義性的語言,當學生在編寫程序時使用了錯誤的符號或者語法,這個時候就要耐心引導學生一起幫助他們去分析發現問題存在的錯誤,找出原因并加以修正,這樣可以培養學生良好的編程習慣和嚴謹的科學態度,強化計算思維的嚴謹性。計算思維有一個非常明確的目標即解決問題。所以在計算機程序設計課程的教學過程中,引導學生在現有的知識體系上,大膽地提出問題,用抽象化和程序化的形式將問題描述出來,然后用計算機程序語言來解決,通過這種方式可以培養學生自己提出問題和解決問題的能力。同時計算思維又是機械化的[8],在訓練學生所用計算思維的算法來描述問題、解決問題時,要充分利用現代計算機,從而培養學生掌握使用機械化思維進行信息處理的能力。

2.2 因類施教

大類教學現在是我國各個高校課程體系改革的發展方向,根據各個大類(例如,理學類、藝體類、工程類和文史類)中學生的特點和各個專業的需要,在計算機程序設計教學中,首先在教學內容的選取上加以區別對待,在各個學科大類中,都利用計算機語言編寫程序,用計算機這個先進的智力工具來解決各種問題,突出各個專業特色和各個學科與計算機通用理論體系的交叉性。

其次,對計算機程序設計的實驗教學內容,結合各個學科特點,設計一些跨學科的綜合性實驗。在師資隊伍方面,組成一個跨專業背景的教學團隊。為了使學生熟悉理解計算機學科的普適思維方式[9],課堂上采用本學科的案例教學來培養學生計算思維的方式,包括對問題進行邏輯和科學的分析,基本概念、基本方法、問題解決的方法(抽象到數學層次上去解決)以及編程的思路等。這樣讓學生感知計算機在本學科領域的強大應用,加深對本專業領域中計算機應用的感性認識和理解,同時掌握問題解決是所用到的計算方法與思想。

2.3 任務驅動教學模式

在計算機程序設計教學中,采用任務驅動教學模式培養學生計算思維,就是在提出任務、實施任務、完成任務等各個環節中,注重培養學生如何用計算思維的方法去分析問題、解決問題。其中精心設計提出任務是實施任務驅動教學模式的關鍵。設計任務時注意選擇貼近生活和能讓學生感興趣的內容,給學生提供計算思維的創新空間。注意任務的典型性,同時兼顧知識的覆蓋面,學生利用現有的能力能夠實現,同時要具有一定的代表性,對解決其它相似問題具有指導意義。在任務的實施過程中,為提高學生的計算思維能力,教師要起好引導作用,引導學生利用所學知識,一步步分析任務,提出問題,充分調動學生的好奇心和求知欲,發揮個人潛能去分析并尋找解決問題的方法,提高自主思維的能力,引導學生用計算機編程在計算機上加以調試實現。學生完成一項任務后,要分組交流、討論一下任務的情況,作好總結,指導教師及時對完成情況做出正確評價。通過這種任務驅動教學一方面使學生進一步鞏固和提高了所掌握的知識與技能,同時又給學生創造了一個集思廣益、開拓思路的寬松的學習氛圍。通過這種基于計算思維的任務驅動教學模式,可培養學生發現問題并解決問題的計算思維能力。

2.4 強化實踐環節

計算思維突出的特點是借用計算機這一強大優勢的計算工具來解決問題。因此,面對要求解的問題,人們常常將分析后的問題最后抽象成一個數學模型,即抽象到數學層次上,想出該問題的計算步驟,用計算機語言編程,最后在機器上驗證其可行與否,正確與否。計算機程序設計課程中的編程能力又綜合體現出學生所具有的計算思維和技能化知識,其計算思維的正確性還要通過反復的上機實踐加以證明,所以在計算機程序設計課程中必須大力強化實踐環節。

在實踐環節中,為了培養學生個體思維和操作能力,實驗內容分為三種,即驗證性實驗,設計性實驗和調試性實驗,另外在配有課后強化計算思維訓練的實驗思考。在每次實驗中,教師引導學生養成良好的計算思維和編程的好習慣,有意識地訓練學生仔細閱讀題目,找出問題的關鍵并抽象為數學模型,思考數學模型求解的步驟,用所學的計算機編程語言將算法編寫一個源程序在計算機上調試運行,并能對每個程序的結果加以分析,引導學生對已有算法的優缺點進行思考和分析,并如何進行簡化和優化,最好能給出一些能優化改進的算法。鼓勵學生要有發散性思維,提倡算法的多樣化。通過以上方法強化實踐教學環節,從而培養學生在問題求解和機器實現方面的計算思維能力。

3 結束語

在計算機程序設計課程教學中融入計算思維的理念,在教學過程中將教學重心從計算機語言、語法和規則等的講解轉移到培養計算思維的各個學科案例和實踐任務中;以培養計算思維能力為核心,從思維方法的高度培養學生,培養學生在考慮問題時,能主動地、自主地、習慣地采用計算思維來解決各個領域的實際問題,以滿足國家對培養創新型人才的需要。

參考文獻:

[1]牟琴,譚良.計算思維的研究及其進展[J].計算機科學,2011(3):10-15.

[2]Wing J M,譚良.Computational Thinking[J].Communication of the ACM,2006,49(3):33-35.

[3]王移芝,魯凌云,周圍.以計算思維為航標,拓展計算機基礎課程改革的新思路[J].中國大學教學,2012(6):39-41.

[4]Jeannette M W. Computational Thinking[J]. Communications of ACM. 2006,49(3):33-35.

[5]陳國良,董榮勝.計算思維與大學計算機基礎教育[J].中國大學教學,2011(1):9.

[6]牟琴,譚良.計算思維的研究及其進展[J].計算機科學,2011(3):10-15.

[7]董榮勝.計算機科學導論:思想與方法[M].北京:高等教育出版社,2007:101-102.

[8]陳杰華.程序設計課程中強化計算思維訓練的實踐探索[J]. 電化教育研究,2009(10):84-85.

[9]朱鳴華,趙銘偉,趙晶,等.計算機基礎教學中計算思維能力培養的探討[J].中國大學教學,2012(3):33-35.

猜你喜歡
計算思維任務驅動創新思維
程序設計課程中計算思維和應用能力培養問題研究
任務驅動, 啟發學生自學
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合