李宏巖,辛慧杰
(大連民族大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,遼寧 大連 116605)
?
程序設(shè)計(jì)課程培養(yǎng)文科學(xué)生計(jì)算思維能力的研究與實(shí)踐
李宏巖,辛慧杰
(大連民族大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,遼寧 大連 116605)
摘要:根據(jù)文科學(xué)生在學(xué)習(xí)計(jì)算機(jī)程序設(shè)計(jì)課程中的問題,提出了以培養(yǎng)計(jì)算思維能力為目標(biāo)的教學(xué)模式。遵循文科學(xué)生的認(rèn)知規(guī)律更新教學(xué)觀念,以計(jì)算思維的多樣化為特征精選教學(xué)內(nèi)容,以貼近文科學(xué)生實(shí)際的現(xiàn)實(shí)問題為導(dǎo)向改革教學(xué)方法與手段。經(jīng)過實(shí)踐,已經(jīng)取得了良好效果。
關(guān)鍵詞:文科類學(xué)生,計(jì)算思維;程序設(shè)計(jì)基礎(chǔ);教學(xué)方法;能力培養(yǎng)
自2006年,美國卡耐基梅隆大學(xué)的周以真教授系統(tǒng)地提出計(jì)算思維的概念以來,計(jì)算思維作為計(jì)算機(jī)科學(xué)界最具有基礎(chǔ)性和長期性的思想,與理論思維、實(shí)驗(yàn)思維并稱三大科學(xué)思維[1]。計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問題求解、系統(tǒng)設(shè)計(jì)、以及人類行為理解等涵蓋計(jì)算機(jī)科學(xué)廣度的一系列思維活動(dòng)[2]。國內(nèi)的許多專家學(xué)者也對計(jì)算思維的定義和內(nèi)涵進(jìn)行詳解和補(bǔ)充。從2010年開始至今,一些高校的教師對如何將計(jì)算思維融入大學(xué)計(jì)算機(jī)基礎(chǔ)課程體系的改革進(jìn)行了積極有益的探索,但是這些探索大部分是針對理工科學(xué)生的,對文科類專業(yè)的學(xué)生沒有給予足夠多的關(guān)注,而計(jì)算思維作為一種基本的思維方式能夠適應(yīng)不同專業(yè)學(xué)生的計(jì)算機(jī)知識學(xué)習(xí)的需要,無論理科生還是文科生在進(jìn)入社會(huì)以后都需要具有一定的計(jì)算機(jī)文化素質(zhì),以更好地適應(yīng)各行各業(yè)的工作。文科生不僅需要掌握計(jì)算機(jī)基本操作技能,更應(yīng)該通過計(jì)算機(jī)基礎(chǔ)教育取長補(bǔ)短,培養(yǎng)科學(xué)素養(yǎng),提高工作中認(rèn)識問題、解決問題,乃至于研究創(chuàng)新的能力。在開設(shè)的計(jì)算機(jī)基礎(chǔ)課程中,程序設(shè)計(jì)課程是教學(xué)中的重點(diǎn),其課程本身也集數(shù)理思維、模塊化設(shè)計(jì)思想、對比優(yōu)化策略等眾多值得研究的方式、方法于一體。因此,本文以程序設(shè)計(jì)基礎(chǔ)課程為依托,以培養(yǎng)文科類學(xué)生的計(jì)算思維能力為目標(biāo),在教學(xué)過程中突出計(jì)算思維訓(xùn)練的教學(xué)設(shè)計(jì)、強(qiáng)化計(jì)算思維能力培養(yǎng)的教學(xué)實(shí)施手段、在實(shí)踐訓(xùn)練上注重知行和一,注重培養(yǎng)學(xué)生知識運(yùn)用、分析問題能力和拓展思維能力,并將其應(yīng)用在學(xué)生今后的學(xué)習(xí)工作中,使計(jì)算思維成為常態(tài),為適應(yīng)國家復(fù)合型人才戰(zhàn)略培養(yǎng)的需要具有十分重要的意義。
1文科類學(xué)生在程序設(shè)計(jì)基礎(chǔ)課程教學(xué)中所面臨的問題
1.1普遍認(rèn)為程序設(shè)計(jì)課程枯燥難學(xué)
目前,大連民族大學(xué)面向全校非計(jì)算機(jī)專業(yè)開設(shè)了3+X的計(jì)算機(jī)基礎(chǔ)課程。其中3是必修課,主要是C語言(理工類專業(yè))、 Visual Basic程序設(shè)計(jì)(生命、環(huán)資等專業(yè))、Access 數(shù)據(jù)庫設(shè)計(jì)(經(jīng)管、文科類專業(yè))等程序設(shè)計(jì)課程,X是選修與專業(yè)相結(jié)合的多門計(jì)算機(jī)應(yīng)用課程。因此,程序設(shè)計(jì)課程是基礎(chǔ),在此基礎(chǔ)上才能更好地學(xué)習(xí)余下和專業(yè)相關(guān)課程。在對文科類專業(yè)講解程學(xué)設(shè)計(jì)課程中出現(xiàn)了以下幾個(gè)問題:
(1)學(xué)習(xí)目的不明確。很多學(xué)生不明白程序設(shè)計(jì)課程在教學(xué)中的引導(dǎo)作用,認(rèn)為程序設(shè)計(jì)課程的學(xué)習(xí)是計(jì)算機(jī)專業(yè)學(xué)生的“專利”,和自己所學(xué)的專業(yè)及將來的就業(yè)沒有多大關(guān)系,沒必要學(xué)。
(2)學(xué)習(xí)動(dòng)力不足,畏難情緒。由于學(xué)生的計(jì)算機(jī)基礎(chǔ)水平參差不齊,有些學(xué)生在學(xué)習(xí)程序設(shè)計(jì)課程過程中感覺入門困難,枯燥抽象,再聽一些學(xué)長們的“告誡”,就更沒有學(xué)習(xí)的動(dòng)力了。
(3)學(xué)習(xí)方法呆板,不能舉一反三。相對于那些學(xué)習(xí)動(dòng)力不足的學(xué)生,很多文科類學(xué)生選擇了死記硬背程序設(shè)計(jì)算法,老師講解一道題,背一道,稍微修改一下題型,就不會(huì)了。當(dāng)然,在程序設(shè)計(jì)中,一些基本的語法、結(jié)構(gòu)和數(shù)據(jù)類型是需要同學(xué)記住,但程序設(shè)計(jì)絕不是死記硬背就能學(xué)好的。
1.2課程內(nèi)容與課程學(xué)時(shí)相矛盾,不利于學(xué)生的計(jì)算思維能力的培養(yǎng)
“計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)”這門課程的基礎(chǔ)理論、基本知識量大面廣,加上教學(xué)對象又為大學(xué)一年級非計(jì)算機(jī)專業(yè)的學(xué)生,老師在講解時(shí)很容易陷入“傳授知識”的境地,用大量的精力關(guān)注大量知識單元的教與學(xué),實(shí)驗(yàn)教學(xué)也是主要針對知識單元設(shè)置相應(yīng)的實(shí)驗(yàn)項(xiàng)目,側(cè)重知識的驗(yàn)證,期中或期末布置一個(gè)綜合性的大項(xiàng)目,讓學(xué)生運(yùn)用所學(xué)知識完成項(xiàng)目的設(shè)計(jì)。在多年的教學(xué)實(shí)踐中,我們意識到這種教學(xué)方法存在問題,一是在平時(shí)的教學(xué)中,學(xué)生只關(guān)注知識單元的理解和單一功能的實(shí)現(xiàn),把本來具有前后聯(lián)系的知識割裂開來,結(jié)果是學(xué)了后面忘了前面,等到期末做綜合性大項(xiàng)目時(shí)缺乏整體觀念而感到茫然,根本達(dá)不到期待的效果。二是由于課程內(nèi)容較多,教師總想盡可能多的布置實(shí)驗(yàn)項(xiàng)目,形成一種以量取勝的導(dǎo)向,且總感覺學(xué)時(shí)不夠。三是實(shí)驗(yàn)項(xiàng)目的設(shè)置以實(shí)現(xiàn)單一功能為目的,重在訓(xùn)練學(xué)生理解所學(xué)的格式化命令運(yùn)行的結(jié)果是什么,缺乏訓(xùn)練學(xué)生靈活應(yīng)用知識的能力,仍然停留在一種操作技能性的能力培養(yǎng)層面,難以形成整體的邏輯思維,其結(jié)果只要題目稍作改變就不知所措。這種知識型的教學(xué)方式不可避免地會(huì)出現(xiàn)“學(xué)生難”“教師難”的兩難狀況,最終認(rèn)為學(xué)時(shí)不夠也就不足為奇了,采用多媒體課件講解、開發(fā)網(wǎng)絡(luò)化的輔助教學(xué)平臺(tái)等現(xiàn)代化的教學(xué)手段來提高課程教學(xué)的效率能在一定程度上緩解學(xué)時(shí)不足的矛盾,但并不是解決問題的根本所在。
2以計(jì)算思維為導(dǎo)向,更新教學(xué)觀念,優(yōu)化教學(xué)設(shè)計(jì)
順勢而為、依性而行。這里說的“性”和“勢”就可理解為學(xué)生學(xué)習(xí)計(jì)算機(jī)的文化基礎(chǔ)和認(rèn)知基礎(chǔ),“順”和“依”就是要遵循認(rèn)知規(guī)律。曾任北大校長的中國著名教育家蔡元培先生早就指出教育是幫助被教育的人,給他們發(fā)展自己的能力。學(xué)生剛開始接觸程序設(shè)計(jì)課程中的語句語法覺得難懂、沒有興趣,這時(shí)是仍然按照教材的“步進(jìn)式”順序講下去,還是以“學(xué)定教,順勢而為”?誠然,就程序設(shè)計(jì)課程而言,沒有語句語法方面的基本知識是不能夠編程序的,但是否一定要先講了這些學(xué)生覺得枯燥無味的基本知識后才能往下講?能否可以先抓住程序設(shè)計(jì)的核心——算法,先講解算法的設(shè)計(jì),明確利用計(jì)算機(jī)求解問題的思路和方法,然后根據(jù)算法實(shí)現(xiàn)的需要,讓學(xué)生有目的地去選擇相應(yīng)的語句語法知識編寫出程序。語句語法實(shí)際上是為算法服務(wù)的。計(jì)算機(jī)程序設(shè)計(jì)課程具備了科學(xué)性與工程性并重、理論與實(shí)踐并舉、構(gòu)造性與抽象性并存的基本特征,特別是以形式化語言作為描述手段,使得抽象和邏輯成為其思考問題的基本方式,抽象思維和邏輯思維是計(jì)算思維的主要方面,因此,以算法為核心的教學(xué)觀念符合認(rèn)知規(guī)律,有利于促進(jìn)學(xué)生計(jì)算思維能力的發(fā)展。
2.2改革教學(xué)方法,優(yōu)化教學(xué)設(shè)計(jì)
教學(xué)是需要設(shè)計(jì)的,切入點(diǎn)很重要[3]?!芭d趣是最好的老師”,在教學(xué)設(shè)計(jì)時(shí)教師要用心揣摩初學(xué)編程者的感受,認(rèn)真研究難點(diǎn)究竟在哪兒,深入思考怎樣才能讓學(xué)生感興趣,而不是被那些深?yuàn)W枯燥的語句語法弄得眼花繚亂,一頭霧水,興趣索然,因此就必須打破原來的知識型教學(xué)的框架。我們認(rèn)為,課程的難點(diǎn)在于如何把實(shí)際問題形式化為機(jī)器能夠處理的表達(dá)式,而在形式化的過程中,算法設(shè)計(jì)是其中的核心環(huán)節(jié),是解決問題的思路和方法,也是培養(yǎng)學(xué)生計(jì)算思維能力的首要環(huán)節(jié),為此,我們將知識型教學(xué)方法改進(jìn)為研究型教學(xué)方法,推崇以探索為本的學(xué)習(xí),并確定了三個(gè)方面的教學(xué)目標(biāo):(1)借助知識載體,傳授基本問題的求解過程和思路;(2)建立算法意識,培養(yǎng)良好的思維習(xí)慣和形式化方法;(3)從學(xué)科方法論上打基礎(chǔ),培養(yǎng)計(jì)算機(jī)思維能力和分析問題、解決問題的能力。
3計(jì)算思維能力培養(yǎng)實(shí)踐
3.1精選教學(xué)內(nèi)容,整合知識模塊
現(xiàn)有的理論課教材從數(shù)據(jù)類型、函數(shù)語句入手進(jìn)行講解,一開始就使學(xué)生陷入大量生硬的語法規(guī)則之中不能自拔,淡化了程序設(shè)計(jì)的核心要素——算法設(shè)計(jì),也不利于培養(yǎng)學(xué)生的計(jì)算思維。為此,改進(jìn)傳統(tǒng)的教學(xué)模式,以VB程序設(shè)計(jì)課程為例,首先,讓學(xué)生明白每一章節(jié)都不是獨(dú)立的,而是前后相關(guān)聯(lián)的,讓學(xué)生感到程序設(shè)計(jì)課程并沒有那么枯燥難懂,就好像在家里做菜那樣簡單,要做好一道菜,需要準(zhǔn)備哪些食材、需要用到哪些炊具、需要哪些做菜步驟等,并把程序設(shè)計(jì)課程的每一章節(jié)和學(xué)生易于理解的做飯做菜聯(lián)系起來,從而給學(xué)生建立一個(gè)完整的程序設(shè)計(jì)課程學(xué)習(xí)架構(gòu)。其次,改變了以往層次推進(jìn)方式的教學(xué)方式,而是將教學(xué)內(nèi)容分為兩大部分,如圖1。然后對每一部分再進(jìn)行分類整合。比如,將控件中的列表框和組合框兩個(gè)控件與數(shù)組的內(nèi)容相整合,不僅避免了晦澀難懂的理論,而且更容易讓學(xué)生理解數(shù)組的涵義便于學(xué)生動(dòng)手操作。再次,從功能需求入手進(jìn)行講解,重點(diǎn)講述算法設(shè)計(jì),使學(xué)生首先牢固樹立“算法是核心”的計(jì)算思維習(xí)慣,然后再結(jié)合實(shí)際問題使學(xué)生分析問題、思考問題、解決問題和反思。在程序設(shè)計(jì)課程的教學(xué)過程中,注意學(xué)生依據(jù)已有的知識體系,提出問題、解決問題的能力,著重強(qiáng)化利用計(jì)算思維方式描述問題和使用機(jī)器語言解決問題的訓(xùn)練。例如火車分段計(jì)費(fèi)問題,根據(jù)工資收入,所得稅分段計(jì)稅就是日常生活中常遇到的問題,學(xué)生依據(jù)所學(xué)知識用多分支結(jié)構(gòu)算法進(jìn)行描述,最后上機(jī)通過代碼編寫加以實(shí)現(xiàn)。
圖1 VB程序課程架構(gòu)
3.2科學(xué)設(shè)計(jì)實(shí)驗(yàn)方案
計(jì)算思維能力的培養(yǎng)需要通過學(xué)生的自主實(shí)驗(yàn)來完成。在實(shí)驗(yàn)方案中,設(shè)計(jì)多種由淺入深的實(shí)驗(yàn)題目,包括以下三個(gè)方面。
(1)單個(gè)知識點(diǎn)實(shí)驗(yàn)。在講授完一個(gè)知識點(diǎn)后,設(shè)計(jì)該知識點(diǎn)的典型問題,讓學(xué)生模仿該類問題的求解方法,初步掌握計(jì)算思維方法。
對此,黑龍江銷售最大的限度的為員工解決。包括高峰期時(shí),要求機(jī)關(guān)、各個(gè)片區(qū)公司領(lǐng)導(dǎo)、市區(qū)加油站抽調(diào)人手到最偏遠(yuǎn)的加油站進(jìn)行幫扶,有的幫著做飯;有的幫著收錢;有的幫著疏導(dǎo)客戶;有的幫著維持加油現(xiàn)場。
(2)知識點(diǎn)綜合實(shí)驗(yàn)。由教師采用關(guān)注點(diǎn)分離的方法,將一個(gè)實(shí)際問題進(jìn)行簡化,設(shè)計(jì)包括若干常用知識結(jié)構(gòu)的實(shí)驗(yàn)題目,引導(dǎo)學(xué)生將不同的知識點(diǎn)和方法綜合應(yīng)用到該實(shí)驗(yàn)問題的解決中,訓(xùn)練學(xué)生的計(jì)算思維。
(3)課程綜合實(shí)驗(yàn)。根據(jù)學(xué)生所學(xué)的專業(yè)與程序設(shè)計(jì)課程內(nèi)容相結(jié)合,引導(dǎo)學(xué)生將所學(xué)內(nèi)容融入到解決專業(yè)實(shí)際問題,培養(yǎng)學(xué)生綜合應(yīng)用其知識和能力。例如:經(jīng)管類專業(yè)的學(xué)生可以通過所學(xué)程序設(shè)計(jì)課程對財(cái)務(wù)報(bào)表進(jìn)行二次開發(fā),財(cái)務(wù)數(shù)據(jù)進(jìn)行快速的統(tǒng)計(jì)分析。文法類專業(yè)的學(xué)生可以通過該課程對辦公文檔或報(bào)紙進(jìn)行二次編排。動(dòng)畫設(shè)計(jì)類專業(yè)的學(xué)生可以通過該課程對 人物、空間等設(shè)計(jì)更加高效精確等等,提高學(xué)生綜合運(yùn)用計(jì)算思維方法的能力。讓學(xué)生真正理解計(jì)算機(jī)知識與我們每個(gè)人生活密不可分,而不是孤立的,計(jì)算思維已融入自己的思想而不是人造的,是和閱讀、寫作、計(jì)算一樣是人的基本技能,從而讓學(xué)生用計(jì)算思維思考問題解決問題成為一種常態(tài)。
3.3以思維多樣化為核心點(diǎn)
由于學(xué)生思維能力和心理特征存在個(gè)體差異,在程序設(shè)計(jì)課程的教學(xué)活動(dòng)中,應(yīng)倡導(dǎo)多樣化的算法思維[4],培養(yǎng)學(xué)生的探索精神和創(chuàng)新意識。強(qiáng)調(diào)多樣化的算法思維,可以有效地強(qiáng)化計(jì)算思維,讓學(xué)生明白“條條大路通羅馬”的道理。具體策略如下:
(1)尊重不同的認(rèn)知方式。計(jì)算思維的多樣化的本質(zhì)就是尊重學(xué)生不同的認(rèn)知方式。由于認(rèn)知方式存在差異,在程序設(shè)計(jì)課程的教學(xué)過程中必然會(huì)出現(xiàn)思維多樣化的現(xiàn)象。鼓勵(lì)學(xué)生根據(jù)自己的興趣,從不同角度發(fā)現(xiàn)問題和分析問題,用不同的算法解決問題,用不同的程序?qū)崿F(xiàn)算法。比如求階乘可以用幾種算法來求解,讓學(xué)生通過此題明白多樣化的算法思維,不局限于一個(gè)算法。
(2)增強(qiáng)計(jì)算思維的派生性[5]。所謂派生,就是在已有的程序基礎(chǔ)上衍生出的新的解決問題算法實(shí)現(xiàn)。通過分析已有程序的優(yōu)缺點(diǎn),修改并把自己的思維融入新程序的過程,是最好鍛煉計(jì)算思維訓(xùn)練手段。因此,在上機(jī)操作中,經(jīng)常設(shè)計(jì)一些可供學(xué)生派生的程序片段,培養(yǎng)他們的思維創(chuàng)新能力。
(3)充分利用算法的簡化和優(yōu)化過程。引導(dǎo)學(xué)生進(jìn)行反思和創(chuàng)新訓(xùn)練,達(dá)到簡化和優(yōu)化算法的目的。比如判斷一個(gè)數(shù)是否為素?cái)?shù)有三種算法見表1。這個(gè)簡化和優(yōu)化算法的過程可以很好地強(qiáng)化計(jì)算思維訓(xùn)練,幫助學(xué)生舉一反三地學(xué)好程序設(shè)計(jì)課程。
表1 判斷n是否為素?cái)?shù)
4結(jié)語
在教學(xué)實(shí)踐中,課上采用思維多樣化教學(xué)模式,并在上機(jī)環(huán)節(jié)中加以強(qiáng)化,力求課上課下都有強(qiáng)化計(jì)算思維的專項(xiàng)訓(xùn)練,取得了良好的效果。學(xué)生的綜合應(yīng)用能力大大提高,不僅體現(xiàn)在本課程的應(yīng)用方面,而且還拓展到其它相關(guān)領(lǐng)域,比如財(cái)務(wù)會(huì)計(jì)領(lǐng)域、生命科學(xué)領(lǐng)域、建筑工程領(lǐng)域等。
程序設(shè)計(jì)課程中的計(jì)算思維訓(xùn)練對于培養(yǎng)高素質(zhì)復(fù)合型人才是十分重要的,計(jì)算思維不僅可以幫助他們理解計(jì)算的實(shí)現(xiàn)機(jī)制,還有利于學(xué)生進(jìn)行實(shí)踐和創(chuàng)新。學(xué)生計(jì)算思維能力的培養(yǎng)不是一朝一夕的之功而是一個(gè)循序漸進(jìn)的過程,因此還需要不斷地進(jìn)行研究和探索。
參考文獻(xiàn):
[1] 朱亞宗.論計(jì)算思維:計(jì)算思維的科學(xué)定位、基本原理及創(chuàng)新路徑[J].計(jì)算機(jī)科學(xué),2009,36(4):53-55.
[2] WING J M. Computational thinking[J].Communications of ACM,2007,49(3):33-35.
[3] 吳文虎.我怎么講好“程序設(shè)計(jì)基礎(chǔ)”這門課[J].中國大學(xué)教學(xué),2011(12):10-12.
[4] 陳杰華.程序設(shè)計(jì)課程中強(qiáng)化計(jì)算思維訓(xùn)練的實(shí)踐探索[J].計(jì)算機(jī)教育,2009(20):84—85.
[5] 于金鳳.基于計(jì)算思維能力培養(yǎng)的教學(xué)模式研究[J].計(jì)算機(jī)教育,2012(15):65-68.
(責(zé)任編輯王楠楠)
The Research and Practice of Computational Thinking Training for Liberal Arts Students in Programming Courses
LI Hong-yan, XIN Hui-jie
(School of Computer Science and Engineering, Dalian Minzu University, Dalian Liaoning 116605, China)
Abstract:Based on the problem in programming course learning by liberal arts students, the teaching mode for the purpose of computational thinking training was proposed, which mainly included three aspects of content, namely updating the teaching idea in accordance with the cognitive rule of liberal arts students, selecting the teaching content based on the diversified characteristics of computational thinking and reforming the teaching methods and means oriented practical problems of liberal arts students in daily life. The effectiveness of the mode has been proven by the practice.
Key words:liberal arts students; computational thinking; programming basis; teaching mode; ability cultivation
收稿日期:2015-10-12;最后修回日期:2015-11-16
基金項(xiàng)目:2015年度遼寧省教育評價(jià)協(xié)會(huì)第一屆教學(xué)改革研究項(xiàng)目“文科類學(xué)生計(jì)算思維培養(yǎng)的研究與實(shí)踐”(62)。
作者簡介:李宏巖(1972-),女,遼寧沈陽人,講師,主要從事大學(xué)公共計(jì)算機(jī)基礎(chǔ)教育研究。
文章編號:1009-315X(2016)03-0282-04
中圖分類號:G642.42
文獻(xiàn)標(biāo)志碼:A