賴錦輝
摘要:針對目前程序設(shè)計(jì)基礎(chǔ)課程知識點(diǎn)分散,學(xué)生感覺枯燥和乏味,不知如何應(yīng)用等問題,論述程序設(shè)計(jì)基礎(chǔ)課程與專業(yè)結(jié)合教學(xué)的可能性,提出具體的案例教學(xué)設(shè)計(jì)和方法。
關(guān)鍵詞:程序設(shè)計(jì);課程改革;孤立;工具改造者;專業(yè)結(jié)合
0 引言
程序設(shè)計(jì)類課程是大學(xué)非計(jì)算機(jī)專業(yè)學(xué)生接觸的第一門計(jì)算機(jī)編程語言,課程目的是提供一種廣義的解決問題的技能n],可以用在任何編程設(shè)計(jì)中。在傳統(tǒng)的程序設(shè)計(jì)類教學(xué)過程中,一般按照數(shù)據(jù)類型、操作符、分支語句、循環(huán)語句、輸入輸出、模塊化、數(shù)據(jù)結(jié)構(gòu)的順序教學(xué)并舉例說明。實(shí)踐證明,這種過程周期較長,而且實(shí)驗(yàn)課程難以安排,盡管很多教師都對教學(xué)活動(dòng)進(jìn)行了很多改革以期提高教學(xué)質(zhì)量,但有證據(jù)表明,如果不在一個(gè)具體領(lǐng)域內(nèi)學(xué)習(xí)程序設(shè)計(jì)這樣的抽象概念,學(xué)生很可能什么都學(xué)不會(huì)。程序設(shè)計(jì)類課程教學(xué)作到與專業(yè)應(yīng)用案例相結(jié)合,使得學(xué)生學(xué)會(huì)設(shè)計(jì)程序去解決本專業(yè)領(lǐng)域的某些問題,而不是孤立地去講解一個(gè)個(gè)分散的知識點(diǎn)。
1 程序設(shè)計(jì)基礎(chǔ)課程教學(xué)現(xiàn)狀
1.1 教師方面
當(dāng)前,程序設(shè)計(jì)類課程的教學(xué)活動(dòng)主要以教師講解為主,大部分同學(xué)是課堂上聽懂了,一旦自己編程就感覺很陌生,不知從何人手。為了提高教學(xué)效果,很多教師都作了改革,如用任務(wù)驅(qū)動(dòng)法、項(xiàng)目教學(xué)法、PBL教學(xué)法㈤等。還有的教學(xué)改革是從課程建設(shè)角度來進(jìn)行,從課程內(nèi)容的補(bǔ)充完善、實(shí)訓(xùn)案例擴(kuò)充、加強(qiáng)師生互動(dòng)等方面進(jìn)行深度探索。此外為了提高學(xué)生的自主學(xué)習(xí)能力,基于網(wǎng)絡(luò)平臺進(jìn)行的教學(xué)改革也越來越多。
1.2 學(xué)生方面
目前一個(gè)普遍的問題是,學(xué)生抱怨程序設(shè)計(jì)課程內(nèi)容過于抽象和枯燥。他們通常認(rèn)為程序設(shè)計(jì)類課程是一門孤立的學(xué)科,與其他課程和將來工作沒有關(guān)系,這導(dǎo)致很多學(xué)生對該門課程產(chǎn)生“無用論”思想和抵觸情緒,更糟糕的是導(dǎo)致心理障礙,一看到代碼就會(huì)產(chǎn)生恐懼感,更有甚者會(huì)從此拒絕學(xué)習(xí)與計(jì)算機(jī)有關(guān)的知識。
2 改革目標(biāo)
教學(xué)實(shí)踐表明,過多的抽象概念和理論只會(huì)在學(xué)生和教師之間豎起高墻。我們的目標(biāo)是讓學(xué)生能在很短時(shí)間內(nèi)寫出有意義的程序,而不是把重點(diǎn)放在語言細(xì)節(jié)上。因此在講程序設(shè)計(jì)課程中直接使用專業(yè)應(yīng)用案例,向?qū)W生展示程序設(shè)計(jì)結(jié)構(gòu)和語句實(shí)例,進(jìn)行實(shí)際的運(yùn)行和數(shù)據(jù)測試,直面解決專業(yè)領(lǐng)域問題的方法。這種教學(xué)設(shè)計(jì)把原來孤立的程序設(shè)計(jì)轉(zhuǎn)變成為面向?qū)I(yè)問題的程序設(shè)計(jì)教學(xué),通過設(shè)計(jì)良好的案例展示,學(xué)生不僅清晰地理解程序結(jié)構(gòu)形成的過程,并將程序設(shè)計(jì)與專業(yè)問題的求解一并形成知識記憶關(guān)聯(lián),而不再是一個(gè)一個(gè)離散的程序設(shè)計(jì)語言語法知識點(diǎn)。所以講好程序設(shè)計(jì)類課程的關(guān)鍵之一是使學(xué)生感到課程教學(xué)、作業(yè)和實(shí)驗(yàn)內(nèi)容與他們專業(yè)應(yīng)用和發(fā)展相關(guān)聯(lián)。
大部分情形下,不必讓學(xué)生從零開始編程,而是改造他人已編寫好的程序用于解決新問題,形成新的功能,因此案例選擇很重要。
3 具體專業(yè)案例教學(xué)過程
很多教師都知道專業(yè)結(jié)合案例教學(xué)的重要性,并努力做到教學(xué)活動(dòng)不與專業(yè)脫節(jié),但在選擇案例上往往無從下手。實(shí)際上,在設(shè)計(jì)專業(yè)應(yīng)用案例過程中,一些交叉性的、共性的東西,都可以作為結(jié)合點(diǎn)。
1)前期準(zhǔn)備。
跨學(xué)科的教學(xué)方法對教師提出了更高的要求。首先,教師盡量固定在某個(gè)專業(yè)大類上課,深入了解專業(yè)群人才培養(yǎng)目標(biāo)、培養(yǎng)計(jì)劃和方案,及時(shí)關(guān)注社會(huì)新聞與行業(yè)動(dòng)態(tài);其次,要與專業(yè)課教師、輔導(dǎo)員等密切聯(lián)系與溝通,積極參與學(xué)生社團(tuán)和專業(yè)活動(dòng),努力將自身打造為“專家型教師;第三,教師要積極在自身潛力與教學(xué)方面不斷挖掘,努力鉆研,善于發(fā)現(xiàn),認(rèn)真研究應(yīng)用案例與各個(gè)專業(yè)之間的最佳結(jié)合點(diǎn),努力作好基礎(chǔ)為專業(yè)服務(wù)的教學(xué)工作。
廣東石油化工學(xué)院是華南地區(qū)唯一一所石油化工特色院校,高分子專業(yè)是特色專業(yè),該專業(yè)主要培養(yǎng)具有高分子材料與工程專業(yè)的基礎(chǔ)知識和專業(yè)知識,掌握高分子材料的化學(xué)組成、合成制備、結(jié)構(gòu)與性能關(guān)系和加工應(yīng)用等全面知識的高級技術(shù)人才。筆者以高分子專業(yè)為教學(xué)對象,在深入了解該專業(yè)開設(shè)課程及實(shí)驗(yàn)?zāi)繕?biāo)后,設(shè)計(jì)出符合高分子專業(yè)的程序設(shè)計(jì)案例,以求拋磚引玉,為其他教師帶來示范。
2)案例挖掘。
在挖掘?qū)I(yè)應(yīng)用案例中,可以參考情境概念教學(xué)中所應(yīng)用的不同案例:物理學(xué)專業(yè)喜歡使用力學(xué)的例子討論速度和加速度,熱動(dòng)專業(yè)可能討論反應(yīng)速率和動(dòng)態(tài)均衡的例子,國貿(mào)專業(yè)傾向于匯率、稅務(wù)等的數(shù)值計(jì)算。對這些例子進(jìn)行分析和理解后,教師可以再進(jìn)行抽象,從中提取數(shù)據(jù)規(guī)律。實(shí)際上,從這些專業(yè)的分支得到的案例和基礎(chǔ)知識,很容易同計(jì)算的概念結(jié)合。
以高分子專業(yè)為例,在“分子的立體構(gòu)型”這一節(jié)中提到“雜化軌道”的理論,并且雜化類型包括sp1、sp2和sp3三類,其中甲烷(CH4)屬于sp3雜化(英語:sp3 hybridization),是指一個(gè)原子同一電子層內(nèi)由一個(gè)ns軌道和三個(gè)np軌道發(fā)生雜化的過程。原子發(fā)生sp3雜化后,上述ns軌道和np軌道便會(huì)轉(zhuǎn)化成為四個(gè)等價(jià)的原子軌道,稱為“sp3雜化軌道”。
在課堂上,要求同學(xué)們編程實(shí)現(xiàn)描繪出“甲烷分子sp3雜化軌道”,值得一提的是,高分子專業(yè)的學(xué)生對“sp3雜化軌道”的概念早就熟知,教師不必浪費(fèi)時(shí)間去講解題目,實(shí)際上,很多時(shí)候,對于教師要求的編程任務(wù),如果學(xué)生費(fèi)半天勁還看不懂題目,又何談編程呢?
因?yàn)槲覀儗I(yè)開設(shè)的程序設(shè)計(jì)語言是VB,因此,以vB為例,程序的最終結(jié)果如下。
圖1是一個(gè)動(dòng)態(tài)演示過程。首先,引導(dǎo)學(xué)生如何實(shí)現(xiàn)4個(gè)橢圓、2個(gè)小圓、X軸、Y軸以及箭頭的繪制,特別要注意圓心的位置,這就要用到line()函數(shù)和circle()函數(shù);其次,如何讓y軸左右的圓向原點(diǎn)移動(dòng),這就要用到timer控件來實(shí)現(xiàn)動(dòng)畫;最后,當(dāng)左右的圓移動(dòng)到原點(diǎn)那一刻,如何顯示圖1(b)的結(jié)果,這實(shí)際上就是圖1(a)的所有圓都消失,也就是用到CLS方法,而在消失那一刻,再用上述2個(gè)函數(shù)在窗體上繪制出圖1(b)的5個(gè)圓,由此程序設(shè)計(jì)如下:endprint
Private SubTImerl_Timer()
Forml.Cls每次都清屏,重新在新的圓心位置畫圓,因此就感覺是圓在移動(dòng)
Line(5000,1000)-(5000,9000):Line(1000,5000)-(9000,5000)
Line(4900,1200)-(5000,1000):Line(5000,1000)-(5100,1200)
Line(8800,4900)-(9000,5000):Line(8800,5100)-(9000,5000)
X1=X1+10設(shè)置6個(gè)圓心位置,左邊的圓圓心x坐標(biāo)向右邊增加,右邊的圓圓心x坐標(biāo)向左邊增加
X2=X2-10
X3=X3+10
X4=X4-10
X5=X5+10:X6=X6-10
Circle(X1,5000),500,vbRed,,,0.5
Circle(X2,5000),500,vbRed,,,0.5
Circle(x3,5000),500,vbRed,,,0.5
Circle(X4,5000),500,vbRed,,,0.5
Circle(X5,5000),50:Circle(X6,5000),50
IfX3>4500 Then當(dāng)移動(dòng)到原點(diǎn)后,時(shí)鐘控件間隔設(shè)為0,表示不再移動(dòng),然后把所有圖像全部清除,顯示新的圖像
Labe12.Visible=True:Timer1.Interval=0
Form1.Cls
Line(5000,1000)-(5000,9000):Line(1000,5000)-(9000,5000)
Line(4900,1200)-(5000,1000):Line(5000,1000)-(5100,1200)
Line(8800,4900)-(9000,5000):Line(9000,5000)-(8800,5100)
Circle(5000,5000),1 500,vbBlue,,,0.7
Circle(3000,5000),500,vbBlue,,,0.5
Circle(7000,5000),500,vbBlue,,,0.5
Circle(3500,5000),50:Circle(6500,5000),50
EndIf
End Sub
3)能力引導(dǎo)。
能力引導(dǎo)包括3方面:一是讓學(xué)生學(xué)會(huì)成為“工具的改造者”,也就是改造他人編寫好的程序用于解決新問題,形成新的功能;二是學(xué)會(huì)在已有程序上進(jìn)行相關(guān)聯(lián)專業(yè)知識擴(kuò)展;三是讓學(xué)生了解專業(yè)領(lǐng)域中計(jì)算機(jī)的局限性所不能解決的一些問題。
仍以“甲烷sp3雜化軌道”為例,對于能力引導(dǎo)的第一方面,可以讓學(xué)生編程描述乙烯(C2H4)、乙炔(C2H2)的雜化軌道,其雜化軌道分別是spl和sp2雜化;對于能力引導(dǎo)的第二方面,可以向?qū)W生提出問題,比如編程實(shí)現(xiàn)輸入某一物質(zhì),根據(jù)相應(yīng)的公式計(jì)算其雜化軌道數(shù)以及雜化軌道類型,設(shè)計(jì)界面如圖2所示。
由以上案例可知,程序設(shè)計(jì)和化工并不是風(fēng)馬牛不相及,實(shí)際上,在程序設(shè)計(jì)中,化學(xué)與化工的理論計(jì)算、實(shí)驗(yàn)設(shè)計(jì)、數(shù)據(jù)與信息處理、分析和測試等都能應(yīng)用在教學(xué)案例中。當(dāng)然,學(xué)生也應(yīng)該看到計(jì)算機(jī)的局限性,如對于光譜和磁性(例如氧分子的順磁性)等理論的描述,用程序設(shè)計(jì)則很難加以解釋,這是能力引導(dǎo)的第三方面。
4)學(xué)生實(shí)踐。
在教學(xué)過程中選擇案例不宜太復(fù)雜,應(yīng)該能對學(xué)生有各種啟發(fā),比如編程描述實(shí)驗(yàn)原理、實(shí)驗(yàn)步驟、分析和處理實(shí)驗(yàn)數(shù)據(jù)等,也激發(fā)學(xué)生不斷地在自己本專業(yè)的實(shí)驗(yàn)中挖掘案例并加深對該實(shí)驗(yàn)的理解。為了使學(xué)生編程能更深入,而不是簡單地實(shí)現(xiàn)一些數(shù)據(jù)處理,可以把學(xué)生設(shè)計(jì)的專業(yè)案例作為期末成績的主要組成部分。
5)作品展示。
經(jīng)過一個(gè)學(xué)期的上機(jī)實(shí)踐,很多學(xué)生都設(shè)計(jì)出了優(yōu)秀專業(yè)案例,如圖3—7所示。
4 調(diào)查與分析
筆者所在計(jì)算機(jī)中心全體教師積極做出嘗試,歷經(jīng)一個(gè)學(xué)期的程序設(shè)計(jì)基礎(chǔ)課程教學(xué)改革,不斷挖掘?qū)I(yè)教學(xué)案例,深入到各專業(yè)中與教師和學(xué)生互動(dòng),力求能消除學(xué)生對程序設(shè)計(jì)的陌生感和抵觸感,同時(shí)也促進(jìn)專業(yè)教師的發(fā)展和深化專業(yè)課程建設(shè)。表1為學(xué)生問卷調(diào)查與結(jié)果分析。
從問卷調(diào)查的結(jié)果來看,學(xué)生普遍對專業(yè)結(jié)合教學(xué)是很歡迎的,至少在他們看來是學(xué)得其所,而不是疲于應(yīng)付考試。
5 結(jié)語
作為通識課程的程序設(shè)計(jì)基礎(chǔ)課程有其抽象和枯燥的特點(diǎn),如果將案例教學(xué)與學(xué)生所熟知的專業(yè)背景相結(jié)合,而不是孤立地去講授一門課程或者離散地講解某個(gè)知識點(diǎn),將極大豐富程序設(shè)計(jì)教學(xué)的內(nèi)容,也促進(jìn)學(xué)生對程序設(shè)計(jì)的理解和應(yīng)用。筆者給出了具體的專業(yè)結(jié)合案例和教學(xué)方法,以求能為其他教師帶來靈感和啟發(fā),為其他基礎(chǔ)課程結(jié)合專業(yè)教學(xué)提供示范作用。
參考文獻(xiàn):
[1]何欽銘,顏暉,蘇小紅,等.“程序設(shè)計(jì)基礎(chǔ)”課程教學(xué)實(shí)施方案[J].中國大學(xué)教學(xué),2010(5):62-64.
[2]楊晨霞,涂風(fēng)濤.任務(wù)驅(qū)動(dòng)教學(xué)法在Visllal Basic程序設(shè)計(jì)教學(xué)中的應(yīng)用[J].職教論壇,2012(18):79-81.
[3]海曉偉.項(xiàng)目教學(xué)法在“面向?qū)ο蟪绦蛟O(shè)計(jì)”課程教學(xué)中的應(yīng)用研究:以C#程序設(shè)計(jì)為例[J].大學(xué)教育,2013(1):91-93.
[4]彭海云,馬占欣.基于PBL+競爭機(jī)制的“程序設(shè)計(jì)基礎(chǔ)”課程教學(xué)模式探究[J].實(shí)驗(yàn)技術(shù)與管理,2012(6):174-176.
(編輯:郭田珍)endprint