論計算機思維培養的論文
計算思維是運用電腦科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋電腦科學之廣度的一系列思維活動。下面是小編給大家推薦的,希望大家喜歡!
篇一
《大學計算機基礎教學中的計算思維培養》
摘要:首先仔細地分析了計算思維的定義,提出了計算思維由意識、方法和能力三個層次的內容組成;然後指出了計算機基礎教學中計算思維的無意識、潛移默化教學的現狀;最後提出計算機基礎教學課程體系中各門課程聯動改革的方案。
關鍵詞:計算思維;大學計算機基礎;程式設計
自2006年3月,美國卡內基·梅隆大學周以真教授清晰系統地闡述了計算思維,2010年10月中國科學技術大學陳國良院士在“第六屆大學計算機課程報告論壇”倡議將計算思維引入大學計算機基礎教學以後,計算思維得到了國內計算機基礎教育界的廣泛重視。然而,在具體的執行過程中遇到了許多問題,既由於認識上的不足,又由於大學計算機基礎教學的特殊性。那麼,如何在計算機基礎教學中,培養大學生的計算思維,使大學生學會用計算思維去思考問題和解決問題,對提升計算機基礎教學水平、培養卓越人才具有重要的意義。
一、計算思維的內容
計算思維古已有之,而且無所不在。從古代的算籌、算盤到近代的加法器、計算器以及現代的電子計算機,直到目前風靡全球的網際網路和雲端計算,計算思維的內容不斷拓展,推動著人類科技的進步。然而,在相當長的時期,計算思維“深藏閨中無人識”,或者不受重視。直到2006年,美國卡內基·梅隆大學周以真教授對計算思維進行了清晰系統的闡述,這一概念才得到人們的極大關注。
周以真教授認為,計算思維是運用電腦科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋電腦科學之廣度的一系列思維活動。這一定義高度概括和抽象,難以理解,為此周以真教授將計算思維進一步闡述成七大類方法。然而,大學計算機基礎教學的物件是非計算機專業學生,無論是定義還是進一步闡述,仍然顯得晦澀難懂,對教學基本幾乎沒有可操作性,需要探索研究,力圖重新闡述成可以開展教學的問題。
仔細分析可以發現,周以真教授的定義包含了三個層次的內容:
1.計算思維意識
計算思維是一種科學思維,與理論思維、實驗思維一起構成了人類的三大思維。計算思維並不是一種新的發明,而是早已存在的思維活動,是每一個人都具有的一種技能。
在計算機基礎教學中,計算思維的案例也是處處存在。問題是人們的計算思維活動是無意識的,關鍵是要將無意識的計算思維變成有意識的計算思維,主動地用計算思維去解決問題,應用在各自的專業中。
2.計算思維方法
計算思維方法是計算思維的核心。計算思維方法很多,周以真教授將計算思維闡述成具體的七大類方法。總的來說,計算機思維方法有兩大類:一類是來自數學和工程的方法,另一類是電腦科學獨有的方法。例如,對於計算積分,學習數學的人通過函式變換求解積分,而計算機是通過對積分割槽間進行N等分然後累加各小區間的面積來實現。學習數學的人不會採用後一種方法,後一種方法只有掌握了計算機技術的人才採用,但是仍然來自數學。
在大學計算機基礎課程中,幾乎每一個概念對應一種計算思維方法。例如,Cache是預置和快取方法,多核處理器是並行外理方法;在程式設計課程中,各種常用演算法以及各類問題的求解方法,如迭代法、遞迴法等,都是沒有爭議的計算思維方法;在計算機應用課程中,每一門課程每一個專案都是多種計算思維方法的集合。
3.計算思維能力
計算思維的根本目的是解決問題,即問題求解、系統設計以及人類行為理解。從計算機應用的角度來說,解決問題就是計算機的應用問題。例如,設計一個數據庫應用系統、建立一個電子商務網站、製造一個機器人等都是計算機應用問題,是計算思維的目的所在。
計算思維包含的內容不是一門課程所能承擔的。計算思維教學需要貫穿在所有的大學計算機基礎課程中。在大學計算機基礎教學中,培養計算思維能力需要有一系列的計算機應用課程作支撐和拓展,如資料技術與應用、多媒體技術與應用等課程。這些課程引導學生應用計算思維解決各種專業的問題。
二、計算思維教學現狀
儘管計算思維研究不是很成熟,還有許多深層次問題需要進一步研究,但計算機基礎教學界一直在大學計算機基礎教學中無意識、潛移默化地培養大學生的計算思維。
教育部高等學校計算機基礎課程教學指導委員會頒佈的《關於進一步加強高等學校計算機基礎教學的意見》、《計算機基礎課程教學基本要求》等有關檔案雖然沒有明確提出計算思維,但是貫穿了計算思維思想。《關於進一步加強高等學校計算機基礎教學的意見》提出:計算機基礎教學的目標是培養學生掌握一定的計算機基礎知識、技術與方法,以及利用計算機解決本專業領域中問題的能力。大學計算機基礎的課程目標是“使他們在各自的專業中能夠有意識地借鑑、引入電腦科學中的一些理念、技術和方法……利用計算機、認識並處理計算機應用中可能出現的問題”。簡單地說,是使用計算機科學技術和方法處理問題,這是計算思維的目標。
“大學計算機基礎”課程中充滿著大量的計算思維案例。例如,全面展示計算機的應用,實質上起了培養計算思維意識的作用;從算盤到計算機的發展過程是計算思維內容不斷拓展的過程;計算機系統是用抽象和分解來控制龐雜的任務和設計複雜的系統;資料在計算機中的表示是表示問題的方法;作業系統是用計算思維思想解決了計算機自身問題的案例;使用辦公軟體是一種基本的、低階的計算思維;網上檢索、網上購物、網上開店是典型有別傳統思維的計算思維活動;設計一個數據庫就是抽象和分解的過程;設計一個動畫,可以看成是一個建模和模擬的問題。
“程式設計基礎”是一門關於計算思維方法的課程,是典型的計算思維課程。它涉及大量的演算法,像列舉、遞迴、回溯等都是毫無爭議的典型的計算思維典型案例;面向過程和麵向物件程式設計也都是計算思維。
各種應用課程的教學目標是創作一個系統或一個作品,這也是計算思維的終極目標。
在現今的大學計算機基礎教學中,計算思維教學存在著下列問題:
1.無意識的計算思維教學。由於計算思維受重視的時間不長,但是因為一方面計算機應用的本質是問題求解,與周以真教授的闡述相一致,另一方面計算機問題求解的方法就是計算思維的方法,因而廣大計算機教育者都在無意識、潛移默化地實施計算思維教學。未來需要有意識地、系統性地開展計算思維教學。
2.沒有從戰略高度認識到計算思維對人才培養的重要性。由於早前對計算思維重要性認識不足,人們普遍認為計算思維是計算機應用能力之一,沒有意識到這是與理論思維、實驗思維一起構成了人類的三大思維,是21世紀人才應具備的基本技能;沒有認識這關係電腦科學的發展和轉型,會影響其他學科的發展,將改變計算機基礎教學的面貌。所以,應從戰略高度將計算思維從計算機應用能力上提升出來,作為人的一種基本技能來教學。
3.注重技術與應用的教學,忽視了“思想的教學”。這也是我校學生經過課程學習後向我們提出的意見。由於計算機應用的最終成果是一個軟體或系統,因而人們重視技術和應用的教學,注重軟體和系統開發的過程和細節,忽視了引領計算機應用的思維。因此計算機基礎教學需要將課程提升到思想教學的高度。
三、計算思維教學方案和實施
計算機基礎教學面向計算思維進行教學改革是當今教學改革的熱點之一。目前各高校普遍根據教指委《關於進一步加強高等學校計算機基礎教學的意見》採用了“1+X”的課程體系,發達地區有的高校採用了“2+X”的課程體系。計算機基礎教學已經規範化和科學化,以計算思維能力培養為核心的計算機基礎課程教學改革具有良好的基礎。
需要注意的是,在大學計算機基礎課程開展計算思維教學,並不是顛覆原有的課程內容,而是在原有課程內容的基礎上進行提高和優化。原有課程本身在進行無意識的計算思維教學,只需將計算思維與原來的內容進行有機的結合,變無意識的為主動的、積極的、有意識的。
我們認為,開展計算思維教學是一項系統工程,各門課程應該統籌考慮、聯動改革。“大學計算機基礎”是關鍵,“程式設計課程”是重點,“‘X’門應用課程”是目的。具體方案為:
1.大學計算機基礎
“大學計算機基礎”是所有學生必修的課程,課程包含了計算機基本知識、基本使用技能和網路、資料庫與多媒體三大核心模組使用。課程內容多、學時少、學生程度不一。如何在該課程中實施以計算思維為導向的教學改革,有難度但也是趨勢,要探索和實踐,具體所做工作如下。
***1***摸底測試,瞭解學生情況,確定實施方案。2011年9月開學,針對第一門課程對24個專業1030名新生進行入學摸底測試,內容、難度基本等同該課程的要求***除Flash製作外***,每模組都是以100分為滿分計分,分數統計結果見下圖。對當前學生的計算機基礎知識和技能的掌握有所瞭解,對指導該課程向計算思維提升有一定的依據。
***2***探索實施以計算思維為導向的教學方案。原則上分類實施:分為理工類、綜合類和人文藝術類。主要區別是前兩者增加程式設計演算法要求,後者增加辦公軟體高階應用。
2011年秋我們選擇4個理工類、綜合類的專業進行試點。試點方案是弱化Office軟體課堂講解,強化實踐和自主學習;保持原來網路、資料庫、多媒體基本要求,精簡了在後繼課程中涉及的多媒體制作;騰出6周時間開展計算思維和程式設計演算法教學。其中:
①利用1周***2學時***開展計算思維基礎知識專題教學。主要內容包括:
科學思維:三大科學思維、計算思維及其主要內容、計算思維的作用。
計算理論:馮·諾依曼計算機、儲存程式,圖靈機、停機問題、圖靈猜想,可計算性問題、計算複雜性、P&NP問題。
大學計算機基礎由於教學物件是非計算機專業大學生,因此計算思維基礎知識教學必須有別於專業學生。在計算機專業中,某些知識點就是一門課程,如可計算性理論。在大學計算機基礎中,開展計算思維基礎知識教學要注意:對三大科學思維、計算思維及其主要內容、計算思維的作用、馮·諾依曼計算機、儲存程式等問題簡明扼要地闡述清楚;停機問題、圖靈猜想、可計算性問題、P&NP問題等本身沒有答案,僅僅是像公理一樣的命題,只需要簡單舉例提出並說清楚即可,不需展開。
②利用5周***10學時***講授程式設計基本知識和訓練演算法基本功。讓學生明白計算機抽象、自動執行的道理,掌握基本程式設計的能力。更有利的是學生根據各自情況,利用假期可更深入地自主學習程式設計內容,拓展第二課堂的學習渠道。
***3***實施問題驅動式的教學方法,從計算思維的角度來講解計算機基礎概念和原理知識。例如:通過展示電腦科學的最新成果,瞭解計算機能做什麼。思考計算科學的兩個基本問題:什麼事計算機比人做得好,什麼事人比計算機做得好?計算機有沒有智慧?從而培養計算思維意識。講授作業系統基礎時首先提出“車輛追尾問題所在?正常情況下公交車不來,責任在誰”等問題,說明作業系統解決此問題的方法和思想。又如Cache是一個預置和快取問題,其思想是一個典型的計算思維案例。以前,可能僅僅講解Cache起什麼作用;從計算思維的角度來說,則需要講解如何起作用。
2.程式設計課程
程式設計課程是計算思維教學的重點。儘管計算思維不僅僅是程式設計,但是計算思維最終需要程式設計去實現。程式設計課程包括三方面的內容:程式設計語言、演算法和程式設計。程式設計語言和程式設計不屬於計算思維的範疇;演算法是關於解決問題的方法,是計算思維的內容。以往該課程由於學時少、內容多,學生在一個學期內學習思考的時間短,學生接受新事物的能力個體差異大,稍不留神有的學生就要跟不上步伐。現採用跨兩個學期實施,有假期作為緩衝,在沒有增加學時的情況下,實際使學生增加了學習、思考、自學、實踐的時間。
我們在程式設計課程中強化計算思維教學主要需要進行四方面的工作。
***1***將程式設計課程的部分內容前置到大學計算機基礎課程中。這部分內容約5周***10學時***,主要包括:程式設計語言基礎知識,結構化程式設計,演算法的表示,簡單演算法的設計。
***2***從計算思維的角度出發,重組經典案例,將問題求解提升到計算思維的高度。
計算思維中問題求解的一般步驟為:
問題抽象化的描述,問題表示,即如何建立模型;
尋找解決方案,問題求解,即如何設計演算法;
計算機實現過程、效率,即如何有效地求解、編碼;
現實問題的延伸。
按照計算思維重組教學案例,讓學生更能體會計算思維的本質,即抽象和自動化。
***3***引入應用程式開發。由於程式設計課程的部分內容前置到大學計算機基礎課程中,騰出了10學時,可以開發一定規模的應用程式,提升了該課程的教學質量。對學習C/C++程式設計的理工類學生,要求完成一個應用性、綜合性強的大作業,將陣列、結構、連結串列、檔案等有機地結合起來;對學習VB或C#的綜合類學生,要求學生結合經典演算法、圖形技術、生活趣味問題或專業問題設計應用程式。目標都是引導學生探究問題求解的思路和方法,提高計算機素質。
***4***在教學方法上,尊重學生不同的認知方式,提倡演算法的多樣化。比較計算思維與傳統思維解決問題的區別,倡導演算法的簡化和優化,從而培養計算思維。
3.“X”門應用課程
“X”門應用課程是計算思維教學的高層次,目的是培養學生利用計算機技術解決他們本專業中問題的能力,也是學校卓越人才培養要求落到實處的體現。可以說,任何一個應用程式或作品都是計算思維“物化”的結果。以計算學科基本問題為導向,以經典案例為基礎,以專案開發為目的,以新技術新開發平臺為載體,強化學科基礎概念和基本原理的理解,著力提高學生的計算思維能力,一直是我們改革的目標和努力的方向。例如在“資料庫技術及應用”、“多媒體技術及應用”、“軟體開發技術基礎”、“Web技術及應用”等課程建設和改革中,學生的計算機綜合能力得到了很好的鍛鍊和提升。
在2011年秋季學期中,我們選擇了2個班4個專業的學生在大學計算機基礎教學中進行了計算思維教學探索。實踐結果表明,學生的可塑性和潛力很大,既沒有弱化“計算機軟體的使用”,又引入了計算思維的教學和程式設計演算法的訓練,提升了該課程的內涵,改革得到學生的認可。當然計算思維工作要全面推開以及在後繼課程中分類分層聯動實施,工作量很大,面臨著挑戰。計算思維教學改革是一項系統工程,不是一件一蹴而就的事情,需要不斷學習、研究、探索、實踐和優化,任重而道遠。
參考文獻:
[1] 陳國良,董榮勝. 計算思維與大學計算機基礎教育[J]. 中國大學教學,2011***1***.
[2] 李廉. 計算思維——概念與挑戰[J]. 中國大學教學,2012***1***.
[3] 何欽銘,陸漢權,馮博琴. 計算機基礎教學的核心任務是計算思維能力的培養[J]. 中國大學教學,2010***9***.