公務(wù)員期刊網(wǎng) 論文中心 正文

計(jì)算思維的程序設(shè)計(jì)課程改革研究

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了計(jì)算思維的程序設(shè)計(jì)課程改革研究范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。

計(jì)算思維的程序設(shè)計(jì)課程改革研究

摘要:通過(guò)分析程序設(shè)計(jì)課程教學(xué)現(xiàn)狀,提出了基于計(jì)算思維程序設(shè)計(jì)課程教學(xué)改革方向。探討將計(jì)算思維引入程序設(shè)計(jì)課程教學(xué),并進(jìn)行強(qiáng)化訓(xùn)練的教學(xué)方法與實(shí)踐。教師從計(jì)算思維的角度重新審視和組織程序設(shè)計(jì)基礎(chǔ)的課堂和實(shí)踐教學(xué),可以讓學(xué)生樹立用計(jì)算機(jī)求解問(wèn)題的意識(shí),實(shí)現(xiàn)教學(xué)由傳授知識(shí)到培養(yǎng)能力的轉(zhuǎn)變。

關(guān)鍵詞:程序設(shè)計(jì)課程;計(jì)算思維;教學(xué)改革;教學(xué)方法與實(shí)踐

0引言

程序設(shè)計(jì)課程屬于高校非計(jì)算機(jī)專業(yè)的必修公共課,主要基礎(chǔ)課程有“C語(yǔ)言程序設(shè)計(jì)”、“VisualBasic程序設(shè)計(jì)”、“VisualFoxPro程序設(shè)計(jì)”、“VisualC++程序設(shè)計(jì)”等,對(duì)于培養(yǎng)大學(xué)生的邏輯思維、抽象思維、創(chuàng)新精神與創(chuàng)新能力,以及提高綜合素質(zhì)起著十分重要的作用。在我校,非計(jì)算機(jī)專業(yè)學(xué)生占全體學(xué)生比例約為90%,其程序設(shè)計(jì)課程一般采取大班上課,學(xué)生剛開始對(duì)程序設(shè)計(jì)課程頗有興趣,但隨著知識(shí)點(diǎn)的增多,難以理解和記憶的新概念、新術(shù)語(yǔ)、新規(guī)則大量出現(xiàn)后,逐漸感覺課程難度加大,且認(rèn)為與后續(xù)專業(yè)課程結(jié)合不夠緊密,未正確認(rèn)識(shí)到計(jì)算科學(xué)在本專業(yè)領(lǐng)域中的重要作用,所以學(xué)習(xí)的主動(dòng)性、自覺性不斷下降,學(xué)習(xí)效益低。最終導(dǎo)致學(xué)生實(shí)踐能力不足,綜合分析能力及創(chuàng)新能力欠缺,難以滿足當(dāng)今社會(huì)對(duì)人才的要求。因此,程序設(shè)計(jì)課程的教學(xué)改革勢(shì)在必行。

1計(jì)算思維

目前,計(jì)算思維的培養(yǎng)成為國(guó)際和國(guó)內(nèi)計(jì)算機(jī)教育界關(guān)注的熱點(diǎn)。計(jì)算思維概念的提出,國(guó)際上廣泛認(rèn)同的是2006年美國(guó)卡內(nèi)基•梅隆大學(xué)計(jì)算機(jī)系主任JeannetteM.Wing教授在ACM上發(fā)表的《ComputationalThinking》(計(jì)算思維,簡(jiǎn)稱CT),她提出:“CT是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問(wèn)題求解、系統(tǒng)設(shè)計(jì),以及人類行為理解的涵蓋計(jì)算機(jī)科學(xué)之廣度的一系列思維活動(dòng)[1]”,她認(rèn)為計(jì)算思維是除閱讀、寫作、算數(shù)外,每個(gè)人必須掌握的技能之一。在我國(guó),2010年《九校聯(lián)盟(C9)計(jì)算機(jī)基礎(chǔ)教學(xué)發(fā)展戰(zhàn)略聯(lián)合聲明》的核心要點(diǎn)也強(qiáng)調(diào)“需要把培養(yǎng)學(xué)生的‘計(jì)算思維’能力作為計(jì)算機(jī)基礎(chǔ)教學(xué)的核心任務(wù)[2]”。從國(guó)家層面上講,大學(xué)計(jì)算機(jī)基礎(chǔ)教育這門課程的定位就是基礎(chǔ)課程,也就是與數(shù)學(xué)、物理同等地位。既然是基礎(chǔ)課程,其教學(xué)方法和教學(xué)理念就應(yīng)該像數(shù)學(xué)與物理一樣,將學(xué)科的基本理論、基本思維教授給學(xué)生。計(jì)算和計(jì)算思維是計(jì)算機(jī)基礎(chǔ)課程的基本理論和基本思維,科學(xué)家已將計(jì)算思維和理論思維、實(shí)驗(yàn)思維并列為人類三大科學(xué)思維。因此,在大學(xué)計(jì)算機(jī)基礎(chǔ)教育中強(qiáng)調(diào)和深化“計(jì)算思維”的培養(yǎng),既有助于計(jì)算機(jī)基礎(chǔ)教育學(xué)科的健康、持續(xù)發(fā)展,又有助于國(guó)家戰(zhàn)略型人才的培養(yǎng)。程序設(shè)計(jì)課程是大學(xué)計(jì)算機(jī)基礎(chǔ)課程的重要分支,也是許多高校非計(jì)算機(jī)專業(yè)進(jìn)行計(jì)算機(jī)基礎(chǔ)教育的重要課程之一。程序設(shè)計(jì)課程的學(xué)習(xí)主要有二個(gè)內(nèi)容:第一,算法學(xué)習(xí),即學(xué)習(xí)問(wèn)題求解的方法;第二,編程實(shí)現(xiàn),即理解計(jì)算機(jī)是如何實(shí)現(xiàn)算法的,利用計(jì)算機(jī)編程實(shí)現(xiàn)算法。課程學(xué)習(xí)不只是編寫程序,而是算法思想與問(wèn)題求解的思路。總之,要教會(huì)學(xué)生使用計(jì)算機(jī)編程,逐步形成計(jì)算思維。

2程序設(shè)計(jì)教學(xué)與計(jì)算思維

程序設(shè)計(jì)課程是訓(xùn)練學(xué)生思維能力的一個(gè)最直接最重要的平臺(tái),而計(jì)算思維則提供了重新審視程序設(shè)計(jì)教學(xué)的視角,將計(jì)算思維融入到程序設(shè)計(jì)教學(xué)中是改革的必然趨勢(shì)。計(jì)算思維的本質(zhì)是抽象和自動(dòng)化,計(jì)算思維的抽象是使用符號(hào)代替實(shí)際問(wèn)題中的各種變量,每個(gè)程序包括各種標(biāo)識(shí)符、常量、變量、數(shù)組、函數(shù)和結(jié)構(gòu)體等符號(hào)語(yǔ)言,這些組合在一起就構(gòu)成了程序設(shè)計(jì)語(yǔ)言。計(jì)算思維的自動(dòng)化則體現(xiàn)在程序的機(jī)械式執(zhí)行,這也是馮•諾伊曼計(jì)算機(jī)體系的本質(zhì)特征。要實(shí)現(xiàn)自動(dòng)化,就必須要設(shè)計(jì)精確的算法和嚴(yán)格的程序語(yǔ)言體系。計(jì)算思維的主要特征有三點(diǎn)。⑴嚴(yán)謹(jǐn)規(guī)整。完備的算法是計(jì)算機(jī)程序解決問(wèn)題的基本要求,它的實(shí)現(xiàn)必然要使用嚴(yán)格的數(shù)學(xué)符號(hào)描述。計(jì)算思維要求用確定、形式化并且無(wú)二義性的語(yǔ)言描述問(wèn)題,這就要求在程序設(shè)計(jì)課程教學(xué)過(guò)程中強(qiáng)化計(jì)算思維訓(xùn)練。例如學(xué)生在編寫程序時(shí)使用了錯(cuò)誤的符號(hào)或者語(yǔ)法,都會(huì)在編譯或運(yùn)行時(shí)提示錯(cuò)誤,教師要引導(dǎo)學(xué)生糾正自己的錯(cuò)誤,培養(yǎng)他們嚴(yán)謹(jǐn)?shù)目茖W(xué)實(shí)證精神和編程的良好習(xí)慣,這些都屬于強(qiáng)化計(jì)算思維嚴(yán)謹(jǐn)性的范疇[3]。⑵目標(biāo)明確。計(jì)算思維是用來(lái)解答問(wèn)題的,它將實(shí)際生活中的問(wèn)題以抽象化和程序化的形式表示出來(lái)。通常解答問(wèn)題的過(guò)程如下:發(fā)現(xiàn)問(wèn)題—分析問(wèn)題—思考問(wèn)題—解決問(wèn)題—反思。程序設(shè)計(jì)課程要注意培養(yǎng)學(xué)生依據(jù)已有的知識(shí)體系,提出問(wèn)題、解決問(wèn)題的能力,著重強(qiáng)化利用計(jì)算思維的方式描述問(wèn)題和使用機(jī)器語(yǔ)言解決問(wèn)題的訓(xùn)練。例如,成績(jī)5級(jí)計(jì)分制就是我們?cè)谌粘I钪懈惺艿降膯?wèn)題,學(xué)生可根據(jù)自己對(duì)成績(jī)等級(jí)計(jì)分的理解寫出數(shù)學(xué)式,然后用多分支結(jié)構(gòu)算法進(jìn)行描述,最后上機(jī)實(shí)現(xiàn)。⑶機(jī)械化。用來(lái)描述問(wèn)題和解決問(wèn)題的算法有三種形式[4]。①生活算法:完成某項(xiàng)任務(wù)的計(jì)劃,例如一個(gè)學(xué)期的學(xué)習(xí)計(jì)劃。②數(shù)學(xué)算法:對(duì)一類計(jì)算問(wèn)題確定統(tǒng)一的求解方法,例如一元二次方程組的求解公式。③計(jì)算思維算法:精確描述問(wèn)題和求解問(wèn)題的自動(dòng)化形式語(yǔ)言,比如高級(jí)程序設(shè)計(jì)語(yǔ)言。計(jì)算思維算法強(qiáng)調(diào)利用計(jì)算機(jī)的速度和存儲(chǔ)優(yōu)勢(shì),通過(guò)嚴(yán)格機(jī)械化的操作時(shí)序解決實(shí)際問(wèn)題。比如“雞兔同籠”問(wèn)題可以使用兩個(gè)二元方程組進(jìn)行數(shù)學(xué)求解,但是計(jì)算機(jī)算法則可以使用窮舉法進(jìn)行簡(jiǎn)單重復(fù)的操作求解,充分利用了計(jì)算機(jī)的計(jì)算速度優(yōu)勢(shì)。在程序設(shè)計(jì)課程中強(qiáng)化計(jì)算思維訓(xùn)練,可以讓學(xué)生掌握使用機(jī)械化思維進(jìn)行信息處理的能力[5]。

3基于計(jì)算思維的程序設(shè)計(jì)課程教學(xué)實(shí)踐

對(duì)于非計(jì)算機(jī)專業(yè)的學(xué)生來(lái)說(shuō),學(xué)習(xí)程序設(shè)計(jì)的目的是學(xué)會(huì)用計(jì)算機(jī)去分析問(wèn)題和解決問(wèn)題的思維方法,因此計(jì)算思維可以貫穿于程序設(shè)計(jì)課程的整個(gè)教學(xué)過(guò)程。

3.1計(jì)算思維視角下的課程引入

首先,在引入程序設(shè)計(jì)類課程之前告訴學(xué)生編程能力是計(jì)算思維的具體表現(xiàn)。學(xué)生不僅要掌握計(jì)算機(jī)語(yǔ)言的相關(guān)知識(shí),而且要能夠應(yīng)用程序設(shè)計(jì)的思想與方法分析和解決問(wèn)題。例如,VisualBasic程序設(shè)計(jì)基礎(chǔ)就是VisualBasic語(yǔ)言。正像自然語(yǔ)言的產(chǎn)生是人類社會(huì)活動(dòng)發(fā)展的客觀要求和必然結(jié)果,同樣,計(jì)算機(jī)語(yǔ)言的產(chǎn)生和發(fā)展則是人類使用計(jì)算機(jī)的客觀要求和必然結(jié)果。從計(jì)算機(jī)語(yǔ)言的基本語(yǔ)法到其整體結(jié)構(gòu),都滲透著許多計(jì)算思維。因此,將“計(jì)算思維”引入“VisualBasic程序設(shè)計(jì)”教學(xué)就是:在講解相關(guān)知識(shí)點(diǎn)的同時(shí),也要講授其中所反映的計(jì)算思維,通過(guò)思維強(qiáng)化知識(shí),通過(guò)知識(shí)培養(yǎng)思維。人們利用計(jì)算機(jī)就是為了處理信息數(shù)據(jù),而不同類型的信息數(shù)據(jù),其表達(dá)方式不盡相同,其處理方式也會(huì)有所不同,那么,計(jì)算機(jī)是如何實(shí)現(xiàn)信息數(shù)據(jù)的表示、存儲(chǔ)和處理的,這其中蘊(yùn)含的計(jì)算思維又是什么。首先,根據(jù)馮•諾依曼計(jì)算機(jī)體系結(jié)構(gòu):從軟件方面考慮,可通過(guò)聲明或定義不同類型數(shù)據(jù)以表示不同類型的信息;從硬件方面考慮,可通過(guò)存儲(chǔ)元件可實(shí)現(xiàn)信息數(shù)據(jù)的存儲(chǔ),不同類型的數(shù)據(jù)占用不同長(zhǎng)度的存儲(chǔ)單元。但僅僅完成信息數(shù)據(jù)的表示和存儲(chǔ)是遠(yuǎn)遠(yuǎn)不夠的,而要真正實(shí)現(xiàn)數(shù)據(jù)處理,由此便產(chǎn)生了計(jì)算機(jī)語(yǔ)言,即利用計(jì)算機(jī)語(yǔ)言編寫的數(shù)據(jù)處理程序指揮CPU(中央處理器)完成相應(yīng)的數(shù)據(jù)處理。這個(gè)通過(guò)人、機(jī)共同努力完成的“問(wèn)題求解”過(guò)程,就是一個(gè)計(jì)算思維的實(shí)現(xiàn)過(guò)程。顯然,實(shí)現(xiàn)這樣一個(gè)信息處理的計(jì)算思維,是需要計(jì)算機(jī)語(yǔ)言的技術(shù)支持即:數(shù)據(jù)表示(數(shù)據(jù)類型)、數(shù)據(jù)存儲(chǔ)(變(常)量)和數(shù)據(jù)處理(表達(dá)式和控制結(jié)構(gòu)),并由此引出VisualBasic語(yǔ)言基礎(chǔ)知識(shí)的學(xué)習(xí)。

3.2梳理內(nèi)容,加強(qiáng)基于計(jì)算思維的關(guān)聯(lián)案例庫(kù)建設(shè),創(chuàng)新教學(xué)方法

筆者在深入研究非計(jì)算機(jī)專業(yè)學(xué)生認(rèn)知規(guī)律、思維模式和專業(yè)背景后,站在計(jì)算思維的層面上按照課程知識(shí)的內(nèi)在體系結(jié)構(gòu)梳理教學(xué)內(nèi)容,突出“案例化、實(shí)用化”,強(qiáng)調(diào)基于計(jì)算思維的關(guān)聯(lián)案例庫(kù)的建設(shè)。關(guān)聯(lián)案例,一方面是指案例中的知識(shí)點(diǎn)相互關(guān)聯(lián),另一方面是指案例和生活、專業(yè)領(lǐng)域中的應(yīng)用相關(guān)聯(lián)。例如,在“VisualBasic程序設(shè)計(jì)”課程中,可以根據(jù)課程知識(shí)點(diǎn),按代表性、實(shí)用性、趣味性原則來(lái)設(shè)計(jì)關(guān)聯(lián)案例,如計(jì)算器、字幕、鬧鐘、文本編輯器、菜單、數(shù)據(jù)庫(kù)管理系統(tǒng)等,將設(shè)計(jì)全過(guò)程呈現(xiàn)在大屏幕上,讓學(xué)生親身感受并參與其中,激發(fā)了學(xué)生的求知欲。筆者在“VisualBasic程序設(shè)計(jì)”課程第一堂課中就展示經(jīng)典案例及上屆學(xué)生的優(yōu)秀作品,使學(xué)生對(duì)本課程產(chǎn)生濃厚的興趣,接著以一個(gè)簡(jiǎn)單實(shí)用的例子展示了“VB”小程序的制作,介紹了VB編程環(huán)境和VB編程四部曲,說(shuō)明VB編程上手的容易,克服學(xué)生的畏難情緒,幫助學(xué)生更快地入門。在課堂教學(xué)中,筆者貫穿“案例引導(dǎo),精講多練,教學(xué)互動(dòng)”的教學(xué)原則,探索和自創(chuàng)出一套適合程序設(shè)計(jì)課程的關(guān)聯(lián)案例式教學(xué)方法(“關(guān)聯(lián)案例展示—案例剖析—講解相關(guān)知識(shí)點(diǎn)-知識(shí)點(diǎn)在實(shí)踐中的應(yīng)用”),即在傳統(tǒng)教學(xué)方法的基礎(chǔ)上,將關(guān)聯(lián)案例式教學(xué)法引入到課堂教學(xué)中來(lái)。例如,在VisualBasic程序設(shè)計(jì)課程教學(xué)中,可以用案例“登陸界面的制作”講解基本控件(form、label、text、command等),用案例“出租車計(jì)費(fèi)問(wèn)題”講解分支結(jié)構(gòu),用案例“計(jì)算器”講解控件數(shù)組,用案例“成績(jī)管理系統(tǒng)”講解菜單和多重窗體程序制作等。這些實(shí)例滲透了“知識(shí)來(lái)源于生活”的教學(xué)思想,能使學(xué)生意識(shí)到學(xué)習(xí)知識(shí)的目的是為了解決生活中的實(shí)際問(wèn)題。此外,還可以嘗試從社會(huì)實(shí)際、學(xué)生實(shí)際出發(fā),采取多種直觀、具體、多樣化的教學(xué)方法,去激發(fā)、調(diào)動(dòng)學(xué)生的學(xué)習(xí)熱情和興趣。比如講授for循環(huán)語(yǔ)句時(shí),盡量采用啟發(fā)式教學(xué),老師多提問(wèn),引導(dǎo)學(xué)生積極思考答案,自己得出結(jié)論,最后再由老師補(bǔ)充完善。例如,我們可以從最簡(jiǎn)單的計(jì)算1+2+3+……+10這個(gè)問(wèn)題開始,然后讓學(xué)生計(jì)算10!=1×2×3×……×10,再讓學(xué)生計(jì)算1!+2!+……+10!,這樣不斷地制造問(wèn)題,讓學(xué)生不斷地想辦法去解決問(wèn)題,用改變循環(huán)體的方法,化特殊為一般;用比喻的方法降低學(xué)生對(duì)累加器的理解難度,化抽象為具體,不斷地感覺到學(xué)習(xí)程序設(shè)計(jì)的用途和樂(lè)趣,積極地思考、分析、歸納,從而使計(jì)算思維得到訓(xùn)練。又如講到數(shù)組中對(duì)數(shù)據(jù)的排序問(wèn)題時(shí),可以采用啟發(fā)式、游戲法和課件演示教學(xué)法,游戲法是讓幾個(gè)同學(xué)上來(lái),站成一排,然后按身高進(jìn)行排序,課件演示教學(xué)法師則用Flash動(dòng)畫把排序過(guò)程詳細(xì)展示,幫助學(xué)生更好地理解,促使學(xué)生利用自己已有的知識(shí)結(jié)構(gòu)和邏輯思維對(duì)問(wèn)題進(jìn)行分析和歸納。通過(guò)這樣的思維訓(xùn)練,讓學(xué)生在思考中學(xué)習(xí),在學(xué)習(xí)中運(yùn)用新的方法破解難題,培養(yǎng)學(xué)生分析問(wèn)題、解決問(wèn)題的能力,鍛煉學(xué)生數(shù)學(xué)建模能力,鞏固知識(shí)的同時(shí)拓展技能和技巧。

3.3以上機(jī)實(shí)驗(yàn)為重點(diǎn),思維多樣化的計(jì)算思維強(qiáng)化訓(xùn)練

⑴以上機(jī)實(shí)驗(yàn)為重點(diǎn)筆者在講授程序設(shè)計(jì)課程的教學(xué)過(guò)程中,采用以上機(jī)實(shí)驗(yàn)為重點(diǎn)的計(jì)算思維訓(xùn)練模式,讓學(xué)生在動(dòng)手實(shí)踐中掌握知識(shí)、消化知識(shí),強(qiáng)化計(jì)算思維。實(shí)驗(yàn)內(nèi)容采用“驗(yàn)證-調(diào)試-設(shè)計(jì)”的形式進(jìn)行設(shè)計(jì);上機(jī)實(shí)驗(yàn)采用流程化管理的方式,對(duì)于任何實(shí)驗(yàn)內(nèi)容,都要求學(xué)生按照“閱讀題目-分析總結(jié)-設(shè)計(jì)算法-編寫實(shí)現(xiàn)代碼-上機(jī)調(diào)試-優(yōu)化程序”的順序進(jìn)行,引導(dǎo)他們養(yǎng)成良好的思維能力和編程習(xí)慣;在實(shí)驗(yàn)過(guò)程中遇到困難和錯(cuò)誤,不輕易否定和批評(píng)學(xué)生,而是指導(dǎo)他們分析難點(diǎn)和錯(cuò)誤,自己解決。同時(shí),給學(xué)生提出新的解決方案或排除未知問(wèn)題的滿足感,激發(fā)他們的學(xué)習(xí)積極性,大膽創(chuàng)新。強(qiáng)化計(jì)算思維,實(shí)驗(yàn)內(nèi)容的設(shè)計(jì)非常重要。教師要不斷學(xué)習(xí)和創(chuàng)作適合學(xué)生知識(shí)和心理特點(diǎn)的實(shí)驗(yàn)內(nèi)容。實(shí)驗(yàn)內(nèi)容不應(yīng)是課堂內(nèi)容的簡(jiǎn)單復(fù)習(xí),要給學(xué)生提供計(jì)算思維的創(chuàng)新空間。課堂內(nèi)容要符合實(shí)驗(yàn)內(nèi)容,要給學(xué)生留問(wèn)題,讓他們自己分析總結(jié),在實(shí)驗(yàn)上機(jī)時(shí)解決,提高自主思維能力。例如,實(shí)驗(yàn)案例:公主出嫁。美麗的公主伊麗莎白長(zhǎng)大成人,鄰國(guó)的六個(gè)王子來(lái)提親,公主有三位侍女,她們猜測(cè)哪位王子會(huì)得到公主的芳心。侍女一說(shuō):“我認(rèn)為公主會(huì)嫁給科爾王子,或者是威廉王子?!笔膛f(shuō):“我想公主一定不會(huì)選擇亞瑟王子,因?yàn)樗纳聿膶?shí)在太矮了?!笔膛f(shuō):“不管怎么說(shuō),公主肯定不會(huì)嫁給菲利普、查理、路易斯三位王子,因?yàn)樗麄兊膰?guó)家正準(zhǔn)備和我們打仗?!笔聦?shí)上,三個(gè)侍女中只有一人猜對(duì)了。試編寫程序,找出哪位王子能與公主喜結(jié)良緣。為了找出伊麗莎白的白馬王子,從計(jì)算思維的角度進(jìn)行邏輯推理。首先引入邏輯運(yùn)算符和邏輯表達(dá)式,規(guī)定一些符號(hào)變換規(guī)則,將三個(gè)侍女的話分別轉(zhuǎn)換成邏輯表達(dá)式,給出綜合判斷條件,再借助這些符號(hào)和規(guī)則將邏輯推理過(guò)程在形式上變得像代數(shù)演算一樣。比如定義6個(gè)整型變量——A、B、C、D、E、F分別代表6位男嘉賓,變量取值為0表示不是伊麗莎白的白馬王子,為1表示是白馬王子。每位男嘉賓都有兩種可能:“是(1)”或者“不是(0)”,6位男嘉賓按A、B、C、D、E、F順序,有64種取值:000000,000001,…,111111。對(duì)案例分析的目的是讓學(xué)生懂得:①掌握解題的重要一步是將人的想法寫成計(jì)算機(jī)能夠處理的表達(dá)式或操作步驟,要用到關(guān)系運(yùn)算、邏輯運(yùn)算和算術(shù)運(yùn)算;②用計(jì)算機(jī)解題經(jīng)常需要從多種可能性中尋找其中的一種或幾種,因此,要用“枚舉法”,當(dāng)遇到大量重復(fù)計(jì)算時(shí),自然就引出了循環(huán)結(jié)構(gòu);③分支是計(jì)算思維的重要方式。筆者借助這個(gè)案例題把程序設(shè)計(jì)的基本概念和方法傳授給學(xué)生,當(dāng)學(xué)生建立起這種認(rèn)識(shí)之后,在潛移默化中也就培養(yǎng)了邏輯思維和計(jì)算思維。學(xué)生通過(guò)上機(jī)實(shí)踐可以體會(huì)到計(jì)算思維的精髓[6]。上機(jī)實(shí)踐要有目的地訓(xùn)練五種能力:①分析題目,找到問(wèn)題,并將其抽象為數(shù)學(xué)模型;②構(gòu)思算法;③編寫程序;④調(diào)試程序;⑤分析運(yùn)行結(jié)果,一旦出錯(cuò),應(yīng)該仔細(xì)認(rèn)真找出原因,提出改正的意見。大多數(shù)學(xué)生對(duì)許多問(wèn)題的看法是在實(shí)驗(yàn)課的討論中逐漸清晰和升華,對(duì)思想啟發(fā)、計(jì)算思維的培養(yǎng)起到推動(dòng)作用。依據(jù)非計(jì)算機(jī)專業(yè)學(xué)生認(rèn)知的規(guī)律,我們?cè)O(shè)計(jì)了生活化、趣味化的實(shí)驗(yàn)內(nèi)容,如俄羅斯方塊游戲、計(jì)算器、打字游戲等。⑵以思維多樣化為核心點(diǎn)由于學(xué)生認(rèn)知方式和心理特征存在個(gè)體差異,在程序設(shè)計(jì)課程的教學(xué)過(guò)程中必然會(huì)出現(xiàn)思維多樣化的現(xiàn)象。教師要尊重這種認(rèn)知方式的差異,倡導(dǎo)多樣化的算法思維,即“一題多解”,鼓勵(lì)學(xué)生根據(jù)自己的興趣,從不同角度發(fā)現(xiàn)問(wèn)題和分析問(wèn)題,用不同的算法解決問(wèn)題,用不同的程序?qū)崿F(xiàn)算法,培養(yǎng)學(xué)生的探索精神和創(chuàng)新意識(shí)。強(qiáng)調(diào)多樣化的算法思維,可以有效地強(qiáng)化計(jì)算思維,讓學(xué)生明白“條條大路通羅馬”的道理。好的算法不一定適用于每個(gè)問(wèn)題和每個(gè)學(xué)生,并且?guī)缀跛械乃惴ǘ加芯窒扌浴T谠O(shè)計(jì)上機(jī)實(shí)驗(yàn)內(nèi)容時(shí),教師要考慮給出一些可供學(xué)生重構(gòu)的程序片段,培養(yǎng)他們的思維創(chuàng)新能力。所謂重構(gòu),就是在已有的程序基礎(chǔ)上衍生出的新的解決問(wèn)題算法實(shí)現(xiàn)。這種通過(guò)分析已有程序的優(yōu)缺點(diǎn),修改并把自己的思維融入新程序的過(guò)程,就是最好的鍛煉計(jì)算思維的訓(xùn)練手段。教師還應(yīng)引導(dǎo)學(xué)生進(jìn)行反思和創(chuàng)新聯(lián)系,達(dá)到簡(jiǎn)化和優(yōu)化算法的目的。這個(gè)簡(jiǎn)化和優(yōu)化算法的過(guò)程可以很好地強(qiáng)化計(jì)算思維訓(xùn)練,幫助學(xué)生舉一反三地學(xué)好程序設(shè)計(jì)課程。比如“百雞百錢”問(wèn)題,大多數(shù)學(xué)生都采用三重循環(huán)的算法實(shí)現(xiàn)。我們就可以提出改進(jìn)方案,鼓勵(lì)學(xué)生積極思考如何采用二重循環(huán)的方式實(shí)現(xiàn),然后再比較兩種算法的性能,三重循環(huán)的次數(shù)達(dá)到了100萬(wàn)次,而二次循環(huán)是1萬(wàn)次,性能提升了99%。一個(gè)簡(jiǎn)單的循環(huán)就可以讓學(xué)生認(rèn)識(shí)算法優(yōu)化的魅力,這就可以讓他們繼續(xù)思考如何簡(jiǎn)化問(wèn)題,公雞數(shù)量不可超過(guò)32,就可以在循環(huán)中把公雞數(shù)量由100降到32,同理,母雞也降到98,這樣循環(huán)又降低了10000-32×98=6864次,比之前的二重循環(huán)又減少了70%左右,這一系列的簡(jiǎn)優(yōu)化處理,對(duì)于增強(qiáng)計(jì)算思維能力有極大的促進(jìn)作用。

4結(jié)束語(yǔ)

本文通過(guò)分析程序設(shè)計(jì)課程教學(xué)現(xiàn)狀和計(jì)算思維的特征,提出了基于計(jì)算思維的程序設(shè)計(jì)課程教學(xué)改革方向。并進(jìn)行了基于計(jì)算思維的程序設(shè)計(jì)課程教學(xué)研究與實(shí)踐:如計(jì)算思維視角下的課程引入;重新梳理和組織教學(xué)內(nèi)容,加強(qiáng)基于計(jì)算思維的關(guān)聯(lián)案例庫(kù)建設(shè),創(chuàng)新教學(xué)方法;以上機(jī)實(shí)驗(yàn)為重點(diǎn)、思維多樣化為核心點(diǎn)的計(jì)算思維強(qiáng)化訓(xùn)練等。將計(jì)算思維貫穿于程序設(shè)計(jì)課程的整個(gè)教學(xué)過(guò)程。實(shí)踐證明,這種教學(xué)模式對(duì)學(xué)生計(jì)算思維和創(chuàng)新能力的培養(yǎng)大有裨益。將計(jì)算思維引入程序設(shè)計(jì)課程教學(xué)的整個(gè)過(guò)程是必要的也是可行的,教師從計(jì)算思維的角度重新審視和組織程序設(shè)計(jì)基礎(chǔ)的課堂和實(shí)踐教學(xué),提煉課程中含有的計(jì)算思維的基本概念、方法和思想,通過(guò)精心的課程教學(xué)設(shè)計(jì)和實(shí)驗(yàn)指導(dǎo),可以讓學(xué)生樹立用計(jì)算機(jī)求解問(wèn)題的意識(shí),認(rèn)識(shí)到計(jì)算機(jī)對(duì)于人的優(yōu)勢(shì)和局限性,最終自覺地運(yùn)用計(jì)算思維來(lái)看問(wèn)題、思考問(wèn)題和解決問(wèn)題,從而實(shí)現(xiàn)教學(xué)由傳授知識(shí)到培養(yǎng)能力的轉(zhuǎn)變。我們不僅要在程序設(shè)計(jì)課程中強(qiáng)化計(jì)算思維,還應(yīng)努力把它推廣到更多的計(jì)算機(jī)課程中去,真正地把強(qiáng)化計(jì)算思維做到實(shí)處。

參考文獻(xiàn)

[1]JeannetteMW.ComputationalThinking[J].Communica-tionsofACM,2006.49(3):33-35

[2]陳國(guó)良,董榮勝.計(jì)算思維與大學(xué)計(jì)算機(jī)基礎(chǔ)教育[J].中國(guó)大學(xué)教學(xué),2011.1:9

[3]董榮勝,古天龍.計(jì)算思維與計(jì)算機(jī)方法論[J].計(jì)算機(jī)科學(xué),2009.1:1-4

[4]陳杰華,戴麗娟.以培養(yǎng)計(jì)算思維為核心的程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)[J].實(shí)驗(yàn)技術(shù)與管理,2011.1:125-127

[5]臧勁松.培養(yǎng)學(xué)生計(jì)算思維的程序設(shè)計(jì)課程教學(xué)[J].計(jì)算機(jī)教育,2012.2:78-80

[6]于寧,崔武子,蔡春,戴紅.突出計(jì)算思維訓(xùn)練的VB程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)[J].實(shí)驗(yàn)技術(shù)與管理,2016.9:182-185

作者:朱前飛 楊鼎強(qiáng) 蔣加伏 孟愛國(guó) 單位:長(zhǎng)沙理工大學(xué)計(jì)算機(jī)與通信工程學(xué)院