摘 要:《程序設(shè)計基礎(chǔ)》是面向計算機專業(yè)一年級新生的重要專業(yè)基礎(chǔ)課程。本文結(jié)合計算思維的思想,分析了計算思維與程序設(shè)計課程實踐教學(xué)的關(guān)系,對實驗教學(xué)模式、問題解的構(gòu)建、學(xué)生的認(rèn)知能力以及實驗內(nèi)容的設(shè)置等進行了詳細(xì)的闡述,提出了在教學(xué)實踐中行之有效的方法。
關(guān)鍵詞:計算思維 程序設(shè)計基礎(chǔ) 認(rèn)知能力 教學(xué)改革
中圖分類號:G642文獻標(biāo)識碼:A文章編號:1674-098X(2012)09(b)-0172-01
程序設(shè)計基礎(chǔ)是計算機專業(yè)的第一門專業(yè)基礎(chǔ)課。課程以程序設(shè)計語言為依托,介紹程序設(shè)計的基本方法,使學(xué)生全面了解結(jié)構(gòu)化程序設(shè)計的基本思想,掌握用計算機解題的總體思路。由于課程的理論性與實踐性兼?zhèn)洌绾闻囵B(yǎng)學(xué)生正確的程序設(shè)計思維習(xí)慣、提高學(xué)生用程序解決問題的能力,探索有效的實踐教學(xué)模式,一直是從事該課程教學(xué)的老師有待解決的問題。
1 教學(xué)現(xiàn)狀分析
目前,《程序設(shè)計基礎(chǔ)》的教學(xué)中存在如下主要問題:⑴新生對計算機理論知識儲備不夠,專業(yè)知識結(jié)構(gòu)不成體系。因此,學(xué)生對計算機的“思維方式”與傳統(tǒng)解題方式的差異難以理解,入門較慢。⑵新生對高校的教學(xué)模式不適應(yīng),主動學(xué)習(xí)、研究、創(chuàng)新、溝通等能力等不足。由于尚未形成符合自身特點的學(xué)習(xí)方法,遇到困難缺乏信心從而出現(xiàn)畏懼和逃避心理。⑶在實踐中出現(xiàn)“重結(jié)果、輕過程”,“重編碼,輕算法”的現(xiàn)象。學(xué)生將學(xué)習(xí)重心放到對基礎(chǔ)語法的學(xué)習(xí)上,以看到程序“運行結(jié)果”為目標(biāo),不注重從宏觀的角度總結(jié)問題求解的構(gòu)建過程,忽略了思維方式的鍛煉。因此,在程序設(shè)計教學(xué)實踐過程中,必須使學(xué)生理解計算機解題的工作實質(zhì)、逐漸培養(yǎng)其具有符合計算機工作的思維模式,以提高其解決問題的能力。
2 計算思維
2.1 計算思維的定義
國際上廣泛認(rèn)同的計算思維定義來自美國卡內(nèi)基·梅隆大學(xué)的周以真(J.M. Wing)教授。該定義指出:計算思維是運用計算機科學(xué)的基礎(chǔ)概念進行問題求解、系統(tǒng)設(shè)計,以及人類行為理解的涵蓋計算機科學(xué)之廣度的一系列思維活動。
計算思維是人類求解問題的一條途徑。計算機科學(xué)不只是為人類社會呈現(xiàn)軟硬件,更重要的是計算的概念。計算的思想無處不在,它被人們用來求解問題、管理日常生活以及進行交流和互動等活動。計算思維通過約簡、嵌入、轉(zhuǎn)化和仿真等方法,把一個看來困難的問題重新闡釋成一個知道怎樣解決的問題。計算思維與人們通常所說的邏輯思維和形象思維有區(qū)別,它是將問題轉(zhuǎn)化為符合計算機求解規(guī)律的一種思維方式。
2.2 計算思維與實踐教學(xué)互為驅(qū)動
(1)直觀地讓學(xué)生感知眾多的自然現(xiàn)象及其內(nèi)在的規(guī)律,使學(xué)生對某一領(lǐng)域的認(rèn)知從感性上升至理性,驗證或再發(fā)現(xiàn)某些已知的理論知識,從而鞏固已學(xué)的理論知識,進一步培養(yǎng)創(chuàng)造性思維方式及能力;
(2)使學(xué)生了解在認(rèn)識和研究自然科學(xué)領(lǐng)域中所遇到問題的一般性或特殊性實驗方法,熟練掌握這些實驗中常規(guī)及特殊的實驗技能,提高學(xué)生的實踐能力。
計算思維是運用計算機科學(xué)的基礎(chǔ)概念進行問題求解、系統(tǒng)設(shè)計、以及人類行為理解等涵蓋計算機科學(xué)的一系列思維活動,它不僅意味著能為計算機編程,還要求能夠在抽象的多個層次上分析和思考問題。
3 以“計算思維”驅(qū)動的實踐教學(xué)模式
在我校的《程序設(shè)計基礎(chǔ)》實踐環(huán)節(jié),逐步運用了以“計算思維”驅(qū)動的實踐教學(xué)模式,主要包括如下幾方面的內(nèi)容。
3.1 以任務(wù)驅(qū)動展開學(xué)習(xí)
實驗內(nèi)容通過“任務(wù)”的形式提出,學(xué)生獨立完成問題的分析、算法設(shè)計和編程工作。在完成任務(wù)的過程中,鼓勵學(xué)生組成小的學(xué)習(xí)團隊,在問題的需求分析,概要設(shè)計,詳細(xì)設(shè)計,編碼,測試等若干階段,學(xué)生所提出的解決方案,教師應(yīng)只進行指導(dǎo)性的干預(yù)。可通過“求解過程重構(gòu)”來對解決方案進行分析和比較。
以任務(wù)驅(qū)動教學(xué)突出了學(xué)生的主體地位,能夠有效地引導(dǎo)學(xué)生從埋頭編碼,轉(zhuǎn)為抬頭思考問題。這是學(xué)生的專業(yè)素養(yǎng)從程序員向系統(tǒng)分析員的提升。
3.2 重構(gòu)求解過程
計算思維是面向典型計算環(huán)境的問題求解方法的能力,試驗中提倡對同一計算任務(wù)反復(fù)多次進行求解,對問題的求解的各個環(huán)節(jié)進行重構(gòu),包括問題分析、算法設(shè)計、編碼以及調(diào)試等各個環(huán)節(jié)。重構(gòu)過程中引導(dǎo)學(xué)生總結(jié)同一類別問題的共性和個性,啟發(fā)學(xué)生尋找自身對問題理解的薄弱環(huán)節(jié)。
3.3 倡導(dǎo)問題解的多樣性
實踐中不僅要培養(yǎng)學(xué)生的操作技能,還提倡問題解的多樣性,鼓勵學(xué)生運用多種解題思想、多種技術(shù)手段對同一計算任務(wù)進行反復(fù)求解,激發(fā)計算思維的活躍度。鼓勵閱讀、改寫別人的程序,發(fā)展計算思維方式的多樣性。應(yīng)鼓勵創(chuàng)新意識的形成和發(fā)展,對帶有創(chuàng)新型的思想和方法,教師應(yīng)組織學(xué)生展開分析和討論。
3.4 尊重不同的認(rèn)知方式
學(xué)生的認(rèn)知過程、認(rèn)知能力不完全相同,是導(dǎo)致算法多樣化的原因之一。對于初學(xué)者而言如何理解計算機的“思維方式”,是其面臨最大問題。應(yīng)該尊重這樣的差異,也鼓勵從多種角度思考問題。因此,實驗中強調(diào)實驗?zāi)繕?biāo)一致性的前提下,應(yīng)該鼓勵個性化的實驗形式。
3.5 設(shè)置多樣化的實驗內(nèi)容
在程序設(shè)計入門的階段,要求設(shè)置富有趣味性、綜合性的練習(xí),交替改變實驗內(nèi)容的難易程度是非常有必要的。例如,在學(xué)習(xí)二維數(shù)組時,必然要提到數(shù)學(xué)中矩陣的概念。可以提出這樣的問題“使用黑色墨水在白紙上簽名并不是什么特別的東西,就是一些黑點(像素)所構(gòu)成的矩陣,而且是稀疏矩陣”,實驗中,可以要求學(xué)生對這樣的“矩陣”進行轉(zhuǎn)置。類似的問題較好地將實驗與日常生活相結(jié)合,能很好地提高思維的活躍度。
3.6 計算思維的培養(yǎng)是漫長的過程
計算思維的形成是一個長期的過程。在實驗過程中,學(xué)生解題的思路或思維的角度常常可能與教學(xué)目標(biāo)相偏離,教師應(yīng)耐心指導(dǎo)并擔(dān)負(fù)起應(yīng)有的引導(dǎo)作用。同時,僅通過一門課程的學(xué)習(xí)就構(gòu)建起成熟的計算思維方式不可能的,一定的知識與素養(yǎng)是理解并建立起“思維”的必要條件[1]。知識主要是與思維相關(guān)的知識,素養(yǎng)主要是信息與信息處理方面的素養(yǎng)。
4 結(jié)語
上述關(guān)于以計算思維驅(qū)動的實踐教學(xué)模式,是結(jié)合《程序設(shè)計基礎(chǔ)》課程的教學(xué)實踐提出的。在我校《程序設(shè)計基礎(chǔ)》課程的教學(xué)中逐步運用,對教學(xué)效果以及學(xué)生的綜合素質(zhì),都起到了很好的促進作用,實踐教學(xué)環(huán)節(jié)所起的作用是不容忽視的。
參考文獻
[1] 戰(zhàn)德臣,聶蘭順,徐曉飛.“大學(xué)計算機”——所有大學(xué)生都應(yīng)學(xué)習(xí)的一門計算思維基礎(chǔ)教育課程[J].中國大學(xué)教學(xué).2011(4):15-20.
[2] 楊衛(wèi)光,孫健,陸斐璋.改革實驗教學(xué),適應(yīng)創(chuàng)新人才的培養(yǎng)需要[J].實驗技術(shù)與管理.1999(4)16:10-12.