国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

程序設(shè)計課程教學(xué)中計算思維能力的培養(yǎng)

2014-04-25 22:20劉遠軍黃同成謝兵牛莉
計算機教育 2014年3期
關(guān)鍵詞:計算思維程序設(shè)計能力培養(yǎng)

劉遠軍 黃同成 謝兵 牛莉

摘要:分析當(dāng)前程序設(shè)計課程教學(xué)的現(xiàn)狀,研討計算思維方法的內(nèi)涵和優(yōu)點,設(shè)計一套旨在培養(yǎng)學(xué)生計算思維能力的教學(xué)方案,指出該方案能有效提高學(xué)生的學(xué)習(xí)興趣和思維的活躍度,對學(xué)生的程序設(shè)計能力的提高起到有益作用。

關(guān)鍵詞:程序設(shè)計;教學(xué)改革;計算思維;能力培養(yǎng)

0 引言

隨著社會信息化的日益發(fā)展,計算機能力成為所有大學(xué)生必須掌握的一項基本能力和技能。幾乎所有的高校都開設(shè)了大學(xué)計算機基礎(chǔ)類課程,它包含計算機基礎(chǔ)、程序設(shè)計語言、數(shù)據(jù)庫基礎(chǔ)、辦公軟件應(yīng)用、網(wǎng)頁設(shè)計等多門不同的課程。本類課程的開設(shè)旨在為非計算機專業(yè)的學(xué)生學(xué)習(xí)計算機的基礎(chǔ)知識、掌握計算機的基本技能并運用計算機工具獲取知識提供一個入門的指導(dǎo)。而在上述課程中,難度最大、要求最高、對學(xué)生影響最大的課程是程序設(shè)計課程。

現(xiàn)今,中小學(xué)日益提倡素質(zhì)教育,加強了對信息技術(shù)的課程建設(shè),初中、高中都開設(shè)了信息技術(shù)課程,原本很多應(yīng)該在大學(xué)教授的計算機的基本知識和基本操作,已經(jīng)前移到了中學(xué)階段。但是,中學(xué)階段的信息技術(shù)課程以教授計算機的基本知識和基本操作技能為主,很少涉及程序設(shè)計的內(nèi)容。所以,大學(xué)計算機基礎(chǔ)類的課程,應(yīng)該重點加強程序設(shè)計類課程的建設(shè)。在程序設(shè)計課程的教學(xué)中,我們不僅要教會學(xué)生使用一門程序設(shè)計語言(如c語言、c++、C#、VB等),更重要的是提高學(xué)生利用計算機思維來解決問題的能力。所以,必須將計算思維引入到程序設(shè)計課程的教學(xué)中來,實現(xiàn)由單純的程序設(shè)計語言的學(xué)習(xí)向計算思維能力培養(yǎng)的轉(zhuǎn)變。

1 計算思維的內(nèi)容

1.1 計算思維的理解

計算思維其實自古既有,并且無所不在。從中國古代的算籌、算盤到近代西方國家的加法器,無不閃爍著計算思維的火花,但是一直缺少一個對計算思維完整清晰的定義。2006年3月,美國卡內(nèi)基·梅隆大學(xué)計算機科學(xué)系主任周以真教授首次在權(quán)威雜志Communications of the ACM上提出了“計算思維”(Computational Thinking):計算思維是運用計算機科學(xué)的基礎(chǔ)概念進行問題求解、系統(tǒng)設(shè)計以及人類行為理解的思維活動。按周以真教授的解釋,計算思維是建立在計算過程的理論上的,但是又超越了計算機本身。計算過程并非一定都是在計算機上完成,也可以在人腦中完成,所以,計算思維最本質(zhì)的內(nèi)容是抽象(Abstraction)和自動化(Automation)。

從現(xiàn)實角度講,計算思維就是將問題引入、歸納、求解、引申的過程,也就是將未知問題歸納成若干已知問題,從而求解的過程。在程序設(shè)計語言的課程中,漢諾塔問題(Hanoi Tower Problem)的求解過程,就是對歸納法求解的一個最典型的詮釋。

筆者認(rèn)為,運用計算思維解題時,有一個很重要的問題,就是問題的表述。計算思維最終還是通過數(shù)學(xué)模型或者邏輯模型來解題的,所以怎樣將問題轉(zhuǎn)換成合適的模型表示,關(guān)系到問題是否能夠得解,是否能夠在預(yù)期的時間內(nèi)得出結(jié)論。這個建模的過程,涵蓋了編碼/解碼、約簡、遞歸、歸化、仿真、推理等多種思維過程和轉(zhuǎn)換模式,是計算思維的一個重要組成部分。建模能力的強弱,直接影響了計算思維能力的高低。

1.2 計算思維的不同層次要求

計算思維不是一個單獨的、和其他思維方法毫無關(guān)聯(lián)的孤立方法。計算思維產(chǎn)生于計算機科學(xué),而與計算機科學(xué)聯(lián)系最緊密的思維方法是數(shù)學(xué)思維、邏輯思維和工程思維。我們可以將計算思維看作計算機科學(xué)與數(shù)學(xué)思維、邏輯思維和工程思維的交集,而它們也代表了計算思維的不同層次要求,如圖1所示。

2 引入計算思維的程序設(shè)計課程教學(xué)改革實踐

2.1 計算機能力的3個層次

(1)計算機使用能力(Computer Literary)。就是利用計算機進行各種操作以獲取信息或者計算結(jié)果的能力,這是最低要求層面的計算機能力。例如,利用Excel進行班級成績統(tǒng)計分析,利用Intemet查詢、下載所需資料,編寫小程序?qū)崿F(xiàn)萬年歷的顯示等。

(2)計算機系統(tǒng)認(rèn)知能力(ComputerFluency)。這是對計算機系統(tǒng)的理解和應(yīng)用能力,建立在對計算機系統(tǒng)的全面理解的基礎(chǔ)上,它是較高的要求,一般是學(xué)習(xí)計算機專業(yè)的學(xué)生所要求的,需要開設(shè)很多門計算機專業(yè)課程才能達到這個效果。對于非計算機專業(yè)學(xué)生而言,這種能力毋須做太多關(guān)注。

(3)計算思維能力(Computer Thinldng)。計算思維的內(nèi)涵在上文中已經(jīng)詳細闡述,計算思維能力是適合于所有學(xué)生的一種普遍的思維能力。

程序設(shè)計課程是大學(xué)計算機基礎(chǔ)教學(xué)中重要的一個環(huán)節(jié),其目的是培養(yǎng)學(xué)生的編程能力。而編程過程是編寫一系列的計算機指令代碼,讓計算機執(zhí)行指令以完成特定的功能或者解決規(guī)定的問題,所以,編程能力實質(zhì)上就是利用計算機解決問題的能力。從這一點看,編程能力可以歸結(jié)于計算機使用能力,而怎樣編程,這個過程需要計算思維來詮釋,這可以從計算思維能力的高度來加以分析和討論。所以,我們要培養(yǎng)學(xué)生的計算機使用能力,更要培養(yǎng)學(xué)生的計算思維能力。

2.2 引入計算思維后的教學(xué)組織與實施過程

筆者在2011級擔(dān)任教學(xué)任務(wù)的4個班級中,選取了2個班進行了教學(xué)改革研究(以下稱為實驗組),在這2個班中,對授課內(nèi)容和授課計劃進行了調(diào)整,引入了計算思維的培養(yǎng)過程,在授課中,采用了“問題引入一問題歸納一建模求解一問題引申”的教學(xué)模式。授課方式和課堂語言組織上,重點突出了對學(xué)生思維的誘導(dǎo)、指引和總結(jié)歸納,使學(xué)生從“要做什么”向“要怎么做”轉(zhuǎn)變。另外兩個班依然采用“教師講解一學(xué)生練習(xí)一教師總結(jié)”的傳統(tǒng)教學(xué)方法(以下稱為對照組)。

2.2.1 課堂教學(xué)實施過程

筆者以程序設(shè)計課程(c語言)中“函數(shù)的遞歸調(diào)用”這一內(nèi)容的授課過程來說明教學(xué)過程中計算思維能力的培養(yǎng)。endprint

1)問題的引入。

首先,在投影上給出漢諾塔問題(HanoiTower Problem)的畫面,漢諾塔問題是一個源于印度的古老的益智問題:有3個塔(分別為A塔,B塔和c塔)。開始時,有n個圓盤以大的在下,小的在上的次序疊放在A塔上?,F(xiàn)要將A塔上的所有圓盤,借助B塔,全部移動到c塔上,且仍按照原來的次序疊放。移動的規(guī)則如下:這些圓盤只能在3個塔間進行移動,一次只能移動一個盤子,且任何時候都不允許將較大的盤子壓在比它小的盤子的上面。這個問題的提出,馬上就引起了學(xué)生的興趣,我們先讓學(xué)生拋棄程序設(shè)計語言本身,僅從數(shù)學(xué)思維上對這個問題進行思考和討論,為下一步的教學(xué)做好準(zhǔn)備。

2)問題的歸納與約簡。

計算思維的一個特點就是將要求解的問題歸納、約簡為簡單、已知的問題。對上述提出的問題,我們引導(dǎo)學(xué)生進行歸納和約簡,先假設(shè)A塔上只有大小2個圓盤,引導(dǎo)學(xué)生對這個問題進行思考。因為n個圓盤被簡化成只有2個圓盤,這樣問題的規(guī)模小得多,學(xué)生很快就能找到問題的解法,先將A塔上面的小圓盤移動到B塔,再把A塔下面的大圓盤移動到c塔,最后將B塔上的小圓盤移動到c塔(如圖2所示)。能找到這個解法,就為下一步的解題打下了理論基礎(chǔ)。

3)問題的求解。

根據(jù)上一步的工作,學(xué)生已經(jīng)找出了將2個圓盤從一個塔移動到另外一個塔的算法。那么繼續(xù)進行引導(dǎo),如果A塔是3個圓盤呢?那么首先要把A塔上面的2個圓盤看作一個整體,將它們移動到B塔,然后把A塔最底下那個最大的圓盤移動到c塔,最后把B塔上的2個圓盤再移動到c塔。也就是說3個圓盤的移動可以分解成上面2個圓盤的移動和下面1個圓盤的移動,而怎樣移動2個圓盤的算法在上一步已經(jīng)得解,所以,3個圓盤的漢諾塔問題得解(如圖3所示)。進而繼續(xù)思考,如果是4個圓盤,那么可以分解成上面3個圓盤和下面1個圓盤的移動,而3個圓盤的解法已經(jīng)在上一步得出,依此類推,任意,2個圓盤的移動都可以看做上面n-1個圓盤的移動和下面1個圓盤的移動,這樣,所有的問題都能逐步簡化,最終歸納為2個圓盤從一個塔往另一個塔移動的問題。

4)問題的引申。

解決完上述問題后,我們可以提出一些更深層次的問題來啟發(fā)學(xué)生的思維。例如,我們可以設(shè)計一個四柱漢諾塔問題,有A、B、c、D 4個塔,要把A塔上的圓盤全部轉(zhuǎn)移到D塔,可以借助B塔和c塔,規(guī)則同三柱漢諾塔。通過讓學(xué)生自主思考并嘗試解答以上問題,能讓學(xué)生實現(xiàn)更深的思維練習(xí),培養(yǎng)出學(xué)生良好的計算思維能力。

2.2.2 實踐效果

經(jīng)過1學(xué)年的教學(xué)改革實踐,采用了計算思維培養(yǎng)模式的實驗組與傳統(tǒng)操作技能培養(yǎng)為主的對照組相比,具有以下一些區(qū)別:

(1)從課堂氛圍來看,實驗組比對照組明顯要思維活躍,回答教師問題更積極,質(zhì)量更高。學(xué)生逃課和開小差的情況明顯減少,思維活躍度的差別表現(xiàn)明顯。這說明引入計算思維以后,更能激發(fā)學(xué)生的學(xué)習(xí)興趣,使學(xué)生開動思維,緊跟教師上課節(jié)奏,這具有明顯的積極意義。

(2)從考核結(jié)果來看,實驗組比對照組的成績有較明顯的提高,尤其對于考試中一些教師平時沒有講過的新題型、新題目,實驗組的正確率明顯要高于對照組。

(3)從對后續(xù)學(xué)習(xí)的影響來看,實驗組比對照組更有主動性和自覺性,且效率更高。程序設(shè)計課程于6月份結(jié)束,4個月后,在10月份,筆者分別抽取了實驗組和對照組的10名學(xué)生進行回訪,實驗組中有8名學(xué)生在課程結(jié)束后,仍然利用網(wǎng)絡(luò)資源和參考書繼續(xù)學(xué)習(xí)程序設(shè)計的相關(guān)知識,實驗組的10人中有7人通過了全國計算機等級考試二級c語言的考試。而對照組的10名學(xué)生中只有4名學(xué)生繼續(xù)自學(xué)程序設(shè)計的相關(guān)知識,他們當(dāng)中只有3人通過了全國計算機等級考試二級c語言的考試。這說明計算思維能力對學(xué)生的自學(xué)能力的提高也有較大的作用。

3 結(jié)語

計算思維自2006年被提出并被明確定義以后,逐漸成為計算機科學(xué)領(lǐng)域和計算機教育界最先進、最流行的思想之一。在程序設(shè)計課程教學(xué)中,著力于學(xué)生計算思維的培養(yǎng),不僅對學(xué)生學(xué)好程序設(shè)計語言本身有積極的作用,更對改進學(xué)生思維習(xí)慣,幫助學(xué)生以計算機科學(xué)的概念和方法對問題進行建模求解有非常重要的促進作用。而這種思維,必將會給學(xué)生今后的工作和學(xué)習(xí)帶來巨大的幫助。

(見習(xí)編輯:劉麗麗;編輯:孫怡銘)endprint

猜你喜歡
計算思維程序設(shè)計能力培養(yǎng)
基于OBE的Java程序設(shè)計個性化教學(xué)研究
項目化教學(xué)在Python程序設(shè)計課程中的應(yīng)用
C++程序設(shè)計課程教學(xué)改革研究
醫(yī)學(xué)專業(yè)“Python程序設(shè)計”課程教學(xué)改革總結(jié)與思考
程序設(shè)計課程中計算思維和應(yīng)用能力培養(yǎng)問題研究
民族高校C語言程序設(shè)計課程教學(xué)改革的研究
算法的案例教學(xué)探析
淺談藝術(shù)專業(yè)學(xué)生計算思維能力的培養(yǎng)
數(shù)學(xué)歸納法在高中數(shù)學(xué)教學(xué)中的應(yīng)用研究
信息技術(shù)教學(xué)中學(xué)生自主探究能力的培養(yǎng)探析
吉林市| 武宣县| 武胜县| 天全县| 太仆寺旗| 澎湖县| 兴宁市| 开鲁县| 汝州市| 大新县| 新营市| 肥东县| 开江县| 武隆县| 敦煌市| 富川| 同心县| 乌审旗| 舟曲县| 邵阳县| 鄂伦春自治旗| 辽中县| 石河子市| 壤塘县| 高密市| 滦平县| 加查县| 繁昌县| 呈贡县| 金华市| 永福县| 五峰| 旌德县| 周口市| 安顺市| 息烽县| 镇宁| 翁牛特旗| 莱西市| 湖北省| 嵊泗县|