摘要:程序設(shè)計(jì)課程是高校非計(jì)算機(jī)專業(yè)學(xué)生普遍選修的計(jì)算機(jī)基礎(chǔ)課程。針對程序設(shè)計(jì)課程教學(xué)中存在的問題,在分析計(jì)算思維內(nèi)涵以及與程序設(shè)計(jì)課程關(guān)系的基礎(chǔ)上,面向計(jì)算思維意識、方法和能力培養(yǎng),借鑒任務(wù)驅(qū)動(dòng)型教學(xué)法,構(gòu)建程序設(shè)計(jì)課程教學(xué)模式,以進(jìn)一步提升大學(xué)生計(jì)算思維的綜合能力。
關(guān)鍵詞:程序設(shè)計(jì)課程;計(jì)算思維;教學(xué)模式;任務(wù)驅(qū)動(dòng)
目前,計(jì)算思維是國內(nèi)外計(jì)算機(jī)教育界研究的熱點(diǎn)。我國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ù)”。程序設(shè)計(jì)課程是高校非計(jì)算機(jī)專業(yè)學(xué)生普遍選修的基礎(chǔ)課程。通過該課程的學(xué)習(xí),使學(xué)生掌握程序設(shè)計(jì)課程的基本知識、基本方法、結(jié)構(gòu)化程序設(shè)計(jì)和基本算法,并培養(yǎng)學(xué)生利用計(jì)算機(jī)解決問題的意識、方法和能力,具備利用計(jì)算機(jī)求解實(shí)際問題的基本技能,能靈活應(yīng)用程序語言結(jié)合本專業(yè)知識進(jìn)行程序設(shè)計(jì),為計(jì)算機(jī)在各專業(yè)中的應(yīng)用奠定基礎(chǔ)。因此,大學(xué)生計(jì)算思維培養(yǎng)必然成為程序設(shè)計(jì)課程教學(xué)的重中之重。
1.目前程序設(shè)計(jì)課程教學(xué)中存在的問題
1.1缺乏利用程序設(shè)計(jì)課程知識解決專業(yè)問題的意識
學(xué)生普遍認(rèn)為工作后運(yùn)用編程知識的機(jī)會(huì)很少,沒有深刻地意識到程序設(shè)計(jì)課程與他們的專業(yè)之間的密切關(guān)系,并且對于大量的程序代碼、語法規(guī)則和算法缺乏興趣,這些都是非計(jì)算機(jī)專業(yè)學(xué)生對程序設(shè)計(jì)課程存在的普遍想法。因此,學(xué)生從來沒有想過要利用程序設(shè)計(jì)課程知識解決專業(yè)問題,學(xué)生學(xué)習(xí)興趣不高,主動(dòng)學(xué)習(xí)和克服困難的積極性差,給教學(xué)帶來了很大的困難。
1.2沒有熟練掌握程序設(shè)計(jì)課程知識技能
程序設(shè)計(jì)課程是高校非計(jì)算機(jī)專業(yè)學(xué)生的一門重要的計(jì)算機(jī)基礎(chǔ)課程,部分學(xué)生希望通過學(xué)習(xí)語言課程獲得國家計(jì)算機(jī)等級考試證書,這就導(dǎo)致學(xué)生的應(yīng)試能力強(qiáng),知識掌握片面,對于程序設(shè)計(jì)課的知識體系難以融會(huì)貫通,知其然而不知其所以然,知識技能掌握不熟練。
1.3運(yùn)用程序設(shè)計(jì)課程知識解決專業(yè)問題能力弱
學(xué)生主觀學(xué)習(xí)的意識不濃,缺乏創(chuàng)新探索精神,被動(dòng)接受程序設(shè)計(jì)課程中語法和算法等知識,知識點(diǎn)掌握片面,導(dǎo)致遇到具體問題的時(shí)候不能和程序設(shè)計(jì)課程的知識有效聯(lián)接,理論和實(shí)踐嚴(yán)重脫節(jié),運(yùn)用程序設(shè)計(jì)課程解決專業(yè)問題的能力比較差。
2.計(jì)算思維與程序設(shè)計(jì)課程教學(xué)
計(jì)算思維是目前國內(nèi)外高校計(jì)算機(jī)程序設(shè)計(jì)課程教學(xué)研究的熱點(diǎn)之一。2006年3月,美國卡內(nèi)基·梅隆大學(xué)計(jì)算機(jī)科學(xué)系主任周以真教授在美國計(jì)算機(jī)權(quán)威期刊Communications of the ACM上給出計(jì)算思維Computational Thinking的定義:計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問題求解、系統(tǒng)設(shè)計(jì)以及人類行為理解等涵蓋計(jì)算機(jī)科學(xué)之廣度的一系列思維活動(dòng)。這一定義為計(jì)算機(jī)教育教學(xué)理念、定位和要求賦予了更為先進(jìn)、科學(xué)的內(nèi)涵,然而這主要針對的是計(jì)算機(jī)專業(yè)學(xué)生的培養(yǎng)。為此,針對非計(jì)算機(jī)專業(yè)的學(xué)生,龔沛曾教授等將計(jì)算思維培養(yǎng)進(jìn)一步細(xì)分為計(jì)算思維意識、方法和能力3個(gè)維度培養(yǎng),這為程序設(shè)計(jì)課程教學(xué)提供了更為明確的指導(dǎo)。
2.1計(jì)算思維意識
計(jì)算思維是人類3大科學(xué)思維之一,計(jì)算思維是程序設(shè)計(jì)課程的基本思維方式。科學(xué)家已將計(jì)算思維、理論思維和實(shí)驗(yàn)思維并列為人類3大科學(xué)思維。為此,在程序設(shè)計(jì)課程的教育中深化計(jì)算思維意識的培養(yǎng),使學(xué)生能夠主動(dòng)地用計(jì)算機(jī)知識及技能去解決專業(yè)中面臨的實(shí)際問題。
2.2計(jì)算思維方法
計(jì)算思維方法是計(jì)算思維組成部分的核心。計(jì)算機(jī)思維方法是集數(shù)學(xué)、工程方法和計(jì)算機(jī)科學(xué)方法于一身的方法。在程序設(shè)計(jì)課程中,各種問題的求解方法和算法,如排序法、遞歸法等,都是計(jì)算思維方法在程序設(shè)計(jì)課程中很好應(yīng)用的體現(xiàn)。
2.3計(jì)算思維能力
計(jì)算思維能力培養(yǎng)是計(jì)算機(jī)基礎(chǔ)教學(xué)的核心任務(wù),涉及計(jì)算機(jī)學(xué)科專業(yè)能力培養(yǎng)的目標(biāo)是對計(jì)算機(jī)的認(rèn)知能力和應(yīng)用計(jì)算機(jī)的問題求解能力。計(jì)算思維的根本目的是問題求解能力,計(jì)算思維培養(yǎng)目標(biāo)恰好反映了計(jì)算思維的根本目的。程序設(shè)計(jì)課程是計(jì)算機(jī)基礎(chǔ)課程之一,該課程的內(nèi)容重點(diǎn)體現(xiàn)了計(jì)算機(jī)語言課程的問題求解方法,與計(jì)算思維能力培養(yǎng)的主要內(nèi)容相吻合。當(dāng)然一門課程并不能包含計(jì)算思維的所有內(nèi)容,需要一系列計(jì)算機(jī)基礎(chǔ)應(yīng)用課程協(xié)作完成計(jì)算思維能力的培養(yǎng)。因此,計(jì)算思維能力的培養(yǎng)為今后學(xué)生應(yīng)用計(jì)算機(jī)技術(shù)解決專業(yè)問題奠定了堅(jiān)實(shí)的基礎(chǔ)。
3.程序設(shè)計(jì)課程教學(xué)模式構(gòu)建
任務(wù)驅(qū)動(dòng)教學(xué)法是一種建立在建構(gòu)主義學(xué)習(xí)理論基礎(chǔ)上的教學(xué)法,它將以往以傳授知識為主的傳統(tǒng)教學(xué)理念,轉(zhuǎn)變?yōu)橐越鉀Q問題、完成任務(wù)為主的多維互動(dòng)式的教學(xué)理念;將再現(xiàn)式教學(xué)轉(zhuǎn)變?yōu)樘骄渴綄W(xué)習(xí),使學(xué)生處于積極的學(xué)習(xí)狀態(tài),每一位學(xué)生都能根據(jù)自己對當(dāng)前問題的理解,運(yùn)用共有的知識和自己特有的經(jīng)驗(yàn)提出方案、解決問題。任務(wù)驅(qū)動(dòng)教學(xué)法最根本的特點(diǎn)就是“以任務(wù)為主線、教師為主導(dǎo)、學(xué)生為主體”,改變了以往“教師講,學(xué)生聽”的被動(dòng)教學(xué)模式。通過實(shí)踐發(fā)現(xiàn)“任務(wù)驅(qū)動(dòng)”法有利于激發(fā)學(xué)生的學(xué)習(xí)興趣,培養(yǎng)學(xué)生分析問題、解決問題的能力,提高學(xué)生自主學(xué)習(xí)、與他人協(xié)作的能力。簡而言之,任務(wù)驅(qū)動(dòng)教學(xué)就是教師、學(xué)生、任務(wù)3者之間積極互動(dòng)的過程。鑒于任務(wù)驅(qū)動(dòng)教學(xué)法的突出優(yōu)勢,必然成為培養(yǎng)學(xué)生計(jì)算思維的重要教學(xué)方法。為此,面向?qū)W生計(jì)算思維意識、方法和能力的綜合培養(yǎng),我們將任務(wù)驅(qū)動(dòng)教學(xué)法在VB程序設(shè)計(jì)課程中具體實(shí)施的環(huán)節(jié)主要分成4步:任務(wù)前準(zhǔn)備一設(shè)計(jì)任務(wù)一任務(wù)實(shí)施一效果評價(jià),使任務(wù)驅(qū)動(dòng)教學(xué)法與計(jì)算思維3個(gè)層次的培養(yǎng)緊密結(jié)合,如圖1所示。
3.1任務(wù)前準(zhǔn)備:理論知識準(zhǔn)備,創(chuàng)設(shè)情境
程序設(shè)計(jì)課程中對象的屬性、方法和事件可以讓學(xué)生自主學(xué)習(xí),而語法、算法和編程規(guī)則等知識點(diǎn)教師可以在大綱的指導(dǎo)下,從計(jì)算思維的角度引導(dǎo)學(xué)生學(xué)習(xí),或者理解大綱中相關(guān)概念和知識原理,輔導(dǎo)學(xué)生學(xué)習(xí)。如排序問題,人手動(dòng)排序和利用計(jì)算機(jī)程序語言進(jìn)行排序哪一個(gè)更快?計(jì)算機(jī)能否智能地培養(yǎng)計(jì)算思維意識?
杜威在他的“五步思維法”中指出,思維活動(dòng)可分為5個(gè)階段:問題、觀察、假定、推理和檢驗(yàn)。教學(xué)情境的核心是與知識相對應(yīng)的問題,因此,創(chuàng)設(shè)教學(xué)情境能夠模擬地回溯知識產(chǎn)生的過程,從而幫助學(xué)生深刻理解教學(xué)內(nèi)容,發(fā)展思維能力。另一方面創(chuàng)設(shè)情境可以激發(fā)學(xué)生的學(xué)習(xí)興趣,從而實(shí)現(xiàn)學(xué)生主觀學(xué)習(xí),為計(jì)算思維的意識培養(yǎng)奠定基礎(chǔ)。程序設(shè)計(jì)課程的教學(xué)應(yīng)安排在多媒體教室中進(jìn)行。程序設(shè)計(jì)課程中每一個(gè)項(xiàng)目是多種計(jì)算思維方法的集合,在創(chuàng)設(shè)情境時(shí)可以注重計(jì)算思維意識和方法的綜合培養(yǎng),具體可以分為以下3個(gè)方面:
1)問題情境。
在教學(xué)過程中,指導(dǎo)教師要突出與教學(xué)內(nèi)容緊密聯(lián)系的問題,激發(fā)學(xué)生主動(dòng)學(xué)習(xí)的意識,使學(xué)生把注意力投入到問題情境中。
2)信息情境。
在課堂教學(xué)活動(dòng)中,教師要提供一些現(xiàn)實(shí)性和開放性的信息,讓學(xué)生根據(jù)教師所提供的信息,抓住事物的主要特征,從而提出問題,解決問題。
3)實(shí)驗(yàn)情境。
教師根據(jù)教學(xué)大綱設(shè)置形象有趣的實(shí)驗(yàn)并加以演示,進(jìn)而激發(fā)學(xué)生學(xué)習(xí)的欲望,使學(xué)生深化對程序設(shè)計(jì)課程中基本概念和基本知識點(diǎn)的理解,達(dá)到靈活應(yīng)用的效果。
3.2設(shè)計(jì)任務(wù)
設(shè)計(jì)任務(wù)的關(guān)鍵在于其合理性,任務(wù)設(shè)計(jì)的合理與否直接影響教學(xué)的效果,有效恰當(dāng)?shù)卦O(shè)計(jì)任務(wù)對任務(wù)驅(qū)動(dòng)教學(xué)法至關(guān)重要。在設(shè)計(jì)時(shí)一般遵循以下原則:
1)明確性。
圍繞教學(xué)大綱嚴(yán)格設(shè)計(jì)任務(wù),將任務(wù)前準(zhǔn)備的知識得以有效應(yīng)用,又能從任務(wù)中學(xué)到新的知識和技能。這樣將教學(xué)內(nèi)容融入到任務(wù)中,可以有效地強(qiáng)化和鞏固教學(xué)內(nèi)容。學(xué)生從無目的學(xué)習(xí)狀態(tài)轉(zhuǎn)換到目標(biāo)明確的學(xué)習(xí),計(jì)算思維意識漸漸地在學(xué)生的腦海中產(chǎn)生,學(xué)習(xí)效果得到了極大的提高。
2)可操作性。
程序設(shè)計(jì)課程的特征之一是非常強(qiáng)的實(shí)踐性,傳統(tǒng)的“教師演示講解,學(xué)生聽”的效果遠(yuǎn)沒有自己上機(jī)動(dòng)手操作的效果好。因此,設(shè)計(jì)任務(wù)時(shí)可以根據(jù)教學(xué)內(nèi)容和專業(yè)特征來設(shè)計(jì)具體的、可操作性強(qiáng)的任務(wù)。學(xué)生通過模仿和借鑒任務(wù)的程序設(shè)計(jì)編程技巧,通過任務(wù)的學(xué)習(xí)形成自己的編程思路,從而具備解決具體問題的能力,為計(jì)算思維能力的培養(yǎng)奠定夯實(shí)的基礎(chǔ)。
3)注意創(chuàng)設(shè)真實(shí)情境。
教師創(chuàng)設(shè)與現(xiàn)實(shí)相關(guān)或者與專業(yè)相關(guān)的情境任務(wù),學(xué)生會(huì)對該任務(wù)產(chǎn)生相當(dāng)大的興趣,從而激發(fā)學(xué)生的求知欲,往往會(huì)產(chǎn)生事半功倍的效果。
4)關(guān)注每一任務(wù)的可思考性。
設(shè)計(jì)任務(wù)時(shí)要給學(xué)生留有思考的空間,給學(xué)生體驗(yàn)思考和創(chuàng)新的機(jī)會(huì),實(shí)現(xiàn)任務(wù)的開放與延伸,使學(xué)生的計(jì)算思維意識和能力得到鍛煉。
教師根據(jù)上述原則設(shè)計(jì)任務(wù),面向教學(xué)目的和知識重點(diǎn),從計(jì)算思維角度重構(gòu)經(jīng)典案例,主要給出一些共性任務(wù),也可以給出個(gè)性化任務(wù)。當(dāng)然學(xué)生結(jié)合興趣和專業(yè)特點(diǎn)也可以自行設(shè)計(jì)任務(wù),如果學(xué)生能自行設(shè)計(jì)任務(wù),對計(jì)算思維的意識和能力培養(yǎng)將是非常成功的。
3.3任務(wù)實(shí)施
任務(wù)實(shí)施是整個(gè)教學(xué)過程中最重要的部分。學(xué)生拿到任務(wù)之前,應(yīng)讓學(xué)生分成小組來完成任務(wù),具體任務(wù)分配下來之后,學(xué)生小組討論并分析任務(wù),制定任務(wù)完成過程中所需要的步驟,找到存在的困難。教師的指導(dǎo)角色要充分扮演好,不要急于講解示范,應(yīng)以提示指導(dǎo)為主,把學(xué)生提出問題、分析問題和解決問題的綜合能力充分鍛煉出來,充分發(fā)揮學(xué)生的想象力,培養(yǎng)學(xué)生的計(jì)算思維能力。在指導(dǎo)過程中,教學(xué)方法上我們倡導(dǎo)問題的多種算法,通過多種算法的比較,選擇一種簡化、易于理解的算法,從而培養(yǎng)計(jì)算思維。從任務(wù)實(shí)施過程中,使學(xué)生無意識地具備了計(jì)算思維的方法和能力。
3.4效果評價(jià)
根據(jù)學(xué)生完成作品的好壞進(jìn)行評價(jià),對學(xué)習(xí)效果的評價(jià)主要包括兩部分內(nèi)容,一方面是對學(xué)生是否完成任務(wù)的過程和完成結(jié)果的評價(jià);另一方面是對學(xué)生自主學(xué)習(xí)及協(xié)作學(xué)習(xí)能力的評價(jià)。最終將評價(jià)結(jié)果納入考核體系,學(xué)生對整個(gè)學(xué)習(xí)過程更具參與動(dòng)力,并通過效果評價(jià)的導(dǎo)向與反饋?zhàn)饔萌嫣嵘龑W(xué)生的計(jì)算思維意識、方法和能力。
4.結(jié)語
面向計(jì)算思維培養(yǎng)的教學(xué)改革是一項(xiàng)長期的工程,需要不斷研究和實(shí)踐。本文圍繞著培養(yǎng)學(xué)生“利用計(jì)算機(jī)解決問題”的能力,仔細(xì)分析了計(jì)算思維的意識、方法和能力3個(gè)層次及對應(yīng)的程序設(shè)計(jì)課程內(nèi)容,并借鑒任務(wù)驅(qū)動(dòng)型教學(xué)方法,構(gòu)建了程序設(shè)計(jì)課程的教學(xué)模式,即“任務(wù)前準(zhǔn)備一設(shè)計(jì)任務(wù)一任務(wù)實(shí)施一效果評價(jià)”,從而全面培養(yǎng)學(xué)生計(jì)算思維的意識、方法和能力。
(見習(xí)編輯:劉麗麗)