梁艷華 黨慶一 顏 燁
(重慶大學(xué)城市科技學(xué)院電氣信息學(xué)院 重慶永川 402167)
啟發(fā)式教學(xué)法在應(yīng)用型本科計算機教學(xué)中的應(yīng)用*
梁艷華 黨慶一 顏 燁
(重慶大學(xué)城市科技學(xué)院電氣信息學(xué)院 重慶永川 402167)
筆者主要闡述啟發(fā)式教學(xué)法及其指導(dǎo)原則,將啟發(fā)式教學(xué)法應(yīng)用到計算機基礎(chǔ)課程的教學(xué)中,以“堆棧在程序設(shè)計中的應(yīng)用”教學(xué)單元為例,設(shè)計教學(xué)過程,并結(jié)合分析比較法等多種教學(xué)方式進行教學(xué)實施,取得較好的教學(xué)效果。
啟發(fā)式教學(xué),計算機基礎(chǔ),堆棧
隨著高等教育的大眾化發(fā)展,人們更加注重應(yīng)用型人才的培養(yǎng),尤其是創(chuàng)新精神和實踐能力的培養(yǎng)。目前,計算機基礎(chǔ)課程的教學(xué)中普遍存在如知識內(nèi)容枯燥單一,課程和課程間缺乏有機聯(lián)系,教學(xué)方法單調(diào)死板等問題,使教學(xué)過程不能很好的啟發(fā)、擴散學(xué)生的思維,成為培養(yǎng)應(yīng)用型人才的障礙。眾多從教者由此而進行了諸多教學(xué)改革,其中啟發(fā)式教學(xué)法以其科學(xué)性、創(chuàng)新性、啟發(fā)性等特點得到了廣大師生的普遍認可。
啟發(fā)式教學(xué)法是指教師在教學(xué)過程中,依據(jù)所制定的教學(xué)目標,采用引導(dǎo)、啟示等多種教學(xué)手段,調(diào)動學(xué)生學(xué)習(xí)的興趣,從而達到使學(xué)生自覺主動學(xué)習(xí)和思考的一種教學(xué)方法[1]。
啟發(fā)式教學(xué)法一般遵循兩大原則,其一,在教學(xué)過程中既要重視知識的傳授,又要重視學(xué)生學(xué)習(xí)能力的培養(yǎng)。其教學(xué)過程的重點在于提高學(xué)生的自學(xué)能力,學(xué)生因此而自主的獲取更多的知識,使教學(xué)活動事半功倍。其二,在教學(xué)過程中,教師既要重視對知識的引導(dǎo),又要重視學(xué)生獨立思考能力的培養(yǎng),鍛煉學(xué)生依據(jù)自己的思維能力去認識和解決新問題。
經(jīng)過4年的教學(xué)經(jīng)驗積累,筆者不斷嘗試將啟發(fā)式教學(xué)思想運用到具體的課堂教學(xué)。以計算機專業(yè)基礎(chǔ)課程——數(shù)據(jù)結(jié)構(gòu)中“堆棧在程序設(shè)計中的應(yīng)用”內(nèi)容為例,設(shè)計教學(xué)過程,并運用啟發(fā)式教學(xué)法引導(dǎo)整個教學(xué)過程。在教學(xué)設(shè)計中,以數(shù)據(jù)的存儲和存儲形式下的運算及其實現(xiàn)這兩條為教學(xué)主線,巧妙設(shè)置問題,引導(dǎo)學(xué)生主動思考,期望達到較好的教學(xué)效果。
2.1 巧妙設(shè)置引例
人們的思路往往是從具體到一般,因此,教學(xué)中新內(nèi)容的導(dǎo)入對激發(fā)學(xué)生的興趣和提高學(xué)生的學(xué)習(xí)效率有著至關(guān)重要的作用。在堆棧內(nèi)容的教學(xué)設(shè)計中,以具體的問題“將十進制數(shù)轉(zhuǎn)換成八進制數(shù)”作為內(nèi)容的導(dǎo)入,同時采用一題多解的思路進行問題的分析、討論和對比。
首先,分析問題。數(shù)制轉(zhuǎn)換問題是計算機的常見問題,以這個問題作為引入點,在學(xué)生現(xiàn)有知識能力的基礎(chǔ)上啟發(fā)學(xué)生,會更自然,學(xué)生也會更容易接受??刹捎锰釂柕姆绞?,引導(dǎo)其回顧將十進制數(shù)轉(zhuǎn)換為某一進制數(shù)的一般方法,即“除R取余法”。
然后,討論進制轉(zhuǎn)換的程序設(shè)計方法。啟發(fā)編程要點:①數(shù)據(jù)采用普通數(shù)據(jù)存儲,如定義一個數(shù)組,來存儲余數(shù),同時存儲十進制數(shù)N,進制數(shù)R。②整個程序設(shè)計采用簡單的循環(huán)結(jié)構(gòu),并引導(dǎo)其得出解題的具體步驟。學(xué)生在現(xiàn)有知識基礎(chǔ)上,能很快得出程序代碼,此為問題的第一種解法。同時,進一步引導(dǎo)學(xué)生,分析這種程序代碼的優(yōu)缺點——問題處理較簡潔明了,但簡單循環(huán)結(jié)構(gòu)的處理方式導(dǎo)致程序代碼的冗余度較大。由此引出主要內(nèi)容——堆棧及其運算。
2.2 引出堆棧及其運算的相關(guān)內(nèi)容
有了前期問題的導(dǎo)入,學(xué)生對學(xué)習(xí)堆棧這種數(shù)據(jù)結(jié)構(gòu)的興趣大幅度提高,筆者從兩個方面對其內(nèi)容進行講解:數(shù)據(jù)在計算機中的存儲和存儲形式下數(shù)據(jù)的常見運算。
數(shù)據(jù)的存儲不僅是一個學(xué)習(xí)單元所關(guān)注的內(nèi)容,每個人對于數(shù)據(jù)存儲都有自己的理解,別人的經(jīng)驗、結(jié)論并不能加深自己對問題的理解,只有在學(xué)習(xí)中不斷進行思考,不斷總結(jié),才能真正理解其含義。因此,這部分內(nèi)容的講解要以引導(dǎo)為主,使學(xué)生自己通過思考,得出堆棧數(shù)據(jù)結(jié)構(gòu)的存儲特點及相關(guān)運算。最后教師再對其進行系統(tǒng)性講解,幫助學(xué)生梳理系統(tǒng)化知識結(jié)構(gòu)。以結(jié)構(gòu)化程序設(shè)計方法和C語言程序?qū)崿F(xiàn)為例,順序存儲結(jié)構(gòu)的堆棧及其運算定義[2]如下:
typedef struct
{
elemtype data[maxsize];
int top;
}stack;
push(&s,e)//插入元素e為新的棧頂元素。
pop(&s,&e)//刪除s的棧頂元素,并用e返回其值。
stackempty(s)//若棧s為空棧,則返回true,否則返回false。
gettop(s,&e)//用e返回s的棧頂元素。
2.3 啟發(fā)學(xué)生另尋解題思路
為了使學(xué)生更好的掌握堆棧這種數(shù)據(jù)結(jié)構(gòu),并能用它解決實際問題,應(yīng)進一步引導(dǎo)學(xué)生分析數(shù)制轉(zhuǎn)換的過程,啟發(fā)學(xué)生總結(jié)轉(zhuǎn)換過程中的規(guī)律,即余數(shù)具有“后進先出”的特點,進而引導(dǎo)其用堆棧處理數(shù)制轉(zhuǎn)換的過程。
首先,分析使用堆棧后,數(shù)據(jù)在堆棧中的存儲及變化情況,引導(dǎo)學(xué)生——余數(shù)需要存儲在堆棧中,并進一步分析數(shù)據(jù)在計算機中的變化情況及所應(yīng)做的操作,其變量及所做的操作如表1所示。其中被除數(shù)N即為要轉(zhuǎn)換的十進制數(shù),除數(shù)R為要轉(zhuǎn)換的進制,商K為操作中的中間結(jié)果,余數(shù)J為最后需要存儲的結(jié)果。
表1 數(shù)制轉(zhuǎn)換中變量及所做操作
其次,啟發(fā)學(xué)生總結(jié)規(guī)律,并得出數(shù)制轉(zhuǎn)換過程中的流程圖,進而得到使用堆棧后的程序設(shè)計的語句。此為問題的第二種解法。
根據(jù)啟發(fā)式教學(xué)法的原則,在課堂上應(yīng)注重對學(xué)生學(xué)習(xí)興趣的啟發(fā)和引導(dǎo),發(fā)揮學(xué)生的主體作用,因此,在其講解過程中,巧設(shè)疑問,本著師生互動,重思維能力的培養(yǎng),重學(xué)習(xí)過程的原則,啟發(fā)、引導(dǎo)學(xué)生。例如可設(shè)立“堆棧存儲和管理數(shù)據(jù)的性質(zhì)如何”“如何利用堆棧來存儲和管理余數(shù)”“循環(huán)體中的程序語句是什么”等問題來引導(dǎo)整個教學(xué)過程。問題設(shè)置的個數(shù)和時機應(yīng)恰當巧妙,將整個教學(xué)過程分為四個階段,即前期、前中期、中期和后期,并在各個階段中設(shè)置一個問題,引導(dǎo)相關(guān)知識點,并發(fā)揮問題的功能。教學(xué)過程中問題的設(shè)計及問題所處的教學(xué)過程的階段如表2所示。
表2 教學(xué)過程中問題設(shè)置
2.4 問題的分析、比較和引申
至此,學(xué)生對堆棧及其應(yīng)用有了比較深刻的印象,不僅對堆棧這種數(shù)據(jù)結(jié)構(gòu)的存儲和處理數(shù)據(jù)的特點有了深刻的理解,還對堆棧的應(yīng)用有了一個更深入的了解.然而,學(xué)習(xí)是一個循環(huán)往復(fù)的過程,在一定的階段適當重復(fù)并夯實學(xué)生已有的知識內(nèi)容對其知識的掌握具有重要的作用。因此,在教學(xué)的后期,采用分析比較法,對兩種解決問題進行分析和比較,其兩種問題的解決辦法的代碼如表3所示。
表3 兩種數(shù)制轉(zhuǎn)換過程代碼
從數(shù)據(jù)的存儲方式和代碼的可讀性及重用度兩個方面啟發(fā)學(xué)生比較結(jié)果:①數(shù)據(jù)的存儲方式不同。第一種僅采取數(shù)組的方式存儲,沒有統(tǒng)一的運算;另一種采用堆棧存儲數(shù)據(jù),并運用入棧和出棧的運算來完成數(shù)據(jù)的處理。②程序的可讀性及代碼的重用度不同。比較而言,第一種方式程序的可讀性較差,且代碼的重用度不高。同時,引導(dǎo)學(xué)生對堆棧的應(yīng)用進行擴展,如“括號匹配問題”“表達式求值問題”“迷宮求解問題”等,從而達到擴展學(xué)生思維的目的。
啟發(fā)式教學(xué)法以其科學(xué)性、創(chuàng)新性和啟發(fā)性在教學(xué)過程中受到廣大從教者的廣泛使用,在實施啟發(fā)式教學(xué)法的過程中,需要注意的問題有:①要求教師精心備課和組織教學(xué),不僅需要教師在深入備課的基礎(chǔ)上提煉出重點、難點,還要求教師精心組織問題,并在講授中有重點、有目的的點評;②要求教師考慮學(xué)生的現(xiàn)有知識能力,進行合理、適當?shù)膯l(fā),并在適當?shù)臅r機引導(dǎo)學(xué)生找到問題所在。③充分發(fā)揮學(xué)生的積極性和主動性,可采取小組討論、分析對比等多種方式組織教學(xué),以取得較好的效果。
組織教學(xué)是常試常新的過程,筆者僅給出數(shù)據(jù)結(jié)構(gòu)這門課程一個知識單元的教學(xué)過程改革。啟發(fā)式教學(xué)法的精髓在于激發(fā)學(xué)生的興趣,拓展學(xué)生的思維能力。在教學(xué)中,可通過各種教學(xué)方法和手段激發(fā)學(xué)生的學(xué)習(xí)欲望,使其積極思考,發(fā)現(xiàn)問題。如何將啟發(fā)式教學(xué)法與其他方法結(jié)合,以及將其應(yīng)用到計算機其他學(xué)科的教學(xué)環(huán)節(jié)中,并不斷總結(jié)經(jīng)驗,提高效果,需要廣大從教者長期共同努力和相互交流。
[1]張菁,張鑫.啟發(fā)式教學(xué)在“大學(xué)計算機基礎(chǔ)”課程中的應(yīng)用[J].計算機教育,2010,8(12):63.
[2]嚴蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語言版)[M].北京:清華大學(xué)出版社,1997.45.
(責任編輯李平)
重慶市重點教改項目“電氣信息類專業(yè)應(yīng)用型人才培養(yǎng)模式的研究與實踐”(編號0824058)的成果之一。
2014-7-24
梁艷華(1981-),女,內(nèi)蒙古赤峰市人,碩士,講師,研究方向為數(shù)據(jù)庫技術(shù)。Email:354946839@qq.com。
G 642.0
A
1674-9545(2014)04-0116-(03)