趙小芳,王金鵬
(山東工商學院,山東 煙臺 264005)
山東工商學院的程序設(shè)計課程群主要包括《程序設(shè)計基礎(chǔ)》、《數(shù)據(jù)結(jié)構(gòu)》、《C++面向?qū)ο蟪绦蛟O(shè)計》、《JAVA高級編程技術(shù)》、《ACM程序設(shè)計》、《程序設(shè)計實訓》等課程。這些課程都是計算機科學與技術(shù)專業(yè)的專業(yè)核心課或?qū)I(yè)課,是以培養(yǎng)學生的程序設(shè)計能力為核心的。課程群所涉及的教學內(nèi)容豐富、語法繁多、技術(shù)復雜,不反復實踐是很難掌握的。另外,對于這些課程所使用的程序開發(fā)工具,很多解決編譯、連接、運行錯誤的知識及動手調(diào)試程序的能力是書本和課堂上學不到的,必須要投入大量時間去實踐摸索,才能熟練運用于軟件開發(fā)。針對于程序設(shè)計課程群自身的特點,本文將從應用型、創(chuàng)新型人才培養(yǎng)的角度出發(fā),探索并實踐適合于程序設(shè)計課程群的教學模式。
以往的程序設(shè)計課程群的教學方法大都是理論課和實踐課分開進行。理論課上基本是教師講授理論知識,雖然可以間或講解一些實例,但學生只能被動地聽和看,不能操作機器,不能動手操作,就談不上實踐?!罢n上聽來終覺淺”,不經(jīng)過實踐得來的知識,印象很難深刻,由此造成的結(jié)果就是“一聽就懂,一過就忘,一做就懵”。而理論課之后的實踐教學,由于上述教學方法不盡如人意的效果,使得學生遇到實際問題時感到無從下手。由于每個學生的編程進度并不同步、其知識掌握度存在較大差異,所以教師也根本無法講解指導。這種理論和實踐脫節(jié)的教學對于程序設(shè)計類課程的教學來說,效果很難令人滿意,學生學完課程之后,依然不會編程,遇到程序中的問題也沒有能力解決,直接影響到后續(xù)課程的學習和學生就業(yè)。
為了促進計算機應用型人才的培養(yǎng),有必要嘗試和探索新的程序設(shè)計課程群教學模式:將理論教學和學生實踐有機結(jié)合起來,使教師的授課和學生的實踐同步進行。這樣可以解決理論和實踐脫節(jié)的問題,可以將課堂上學到的東西馬上用于實踐,使印象深刻。同時,由于學生要先認真聽講,然后才能動手做,這樣就把被動學習變?yōu)榱酥鲃訉W習,可以極大地調(diào)動學生學習的興趣和積極性。
將教師的授課與學生的實踐同步進行,并非將傳統(tǒng)意義上的在機房授課——教師和學生人手一臺電腦,教師一邊講解學生一邊練習——完全貫穿于整個程序設(shè)計課程群的始終。原因在于,它要求學校必須提供足夠多的機房和足夠多的設(shè)備同時安排多門課程和多個年級的教學使用,這樣做的投資比較大;邊學邊練花費時間比較多,而程序設(shè)計課程群所涉及的內(nèi)容、語法、技術(shù)豐富,在有限的學時內(nèi),通過邊學邊練很難講完全部內(nèi)容;機房授課也不能充分利用學生的業(yè)余時間。為此,我們改革現(xiàn)有的教學平臺,嘗試使用多種教學方法和手段,充分地將理論授課和實踐練習有機結(jié)合起來,提高學生的編程能力。
1.教學平臺。我們嘗試使用目前國內(nèi)流行的一種Online Judge(在線測試)系統(tǒng),該系統(tǒng)提供了一個編程平臺,內(nèi)含大量ACM競賽題目(ACM是由國際計算機界歷史悠久、頗具權(quán)威性的組織ACM(Association for Computing Machinery,國際計算機協(xié)會)主辦的,世界上公認的規(guī)模最大、水平最高的國際大學生程序設(shè)計競賽),并可任意擴充。Online Judge系統(tǒng)的硬件比較容易實現(xiàn),只要有計算機且能夠聯(lián)網(wǎng)即可。隨著本學院教學環(huán)境和教學條件的改善,目前已經(jīng)具備了嘗試這種教學模式的硬件條件。借助于這個平臺,學生可以充分利用自己的課余時間和上機實驗課時間,隨時上網(wǎng)做題,一旦提交答案,馬上可以知道對錯,這樣極大地調(diào)動了學生的學習積極性和主動性,大大提高了學生的實際編程能力。
2.多種教學方式配合使用。為了配合在Online Judge平臺下進行計算機專業(yè)程序設(shè)計課程群的教學,我們嘗試、歸納、總結(jié)若干種教學方法,從單一的滿堂灌的教學到討論課、案例引導、學練同步、程序驅(qū)動等多種教學方式相結(jié)合,通過連貫性、系統(tǒng)性的教學與實踐,增強學生程序設(shè)計的學習興趣,提高學生的程序設(shè)計能力以及創(chuàng)新能力。
在面授課中,遵循啟發(fā)式教學原則。通過各種教學方式和手段激發(fā)學生的學習欲望,使其在學習活動中,積極思考,發(fā)現(xiàn)問題,提出問題,并逐步解決問題。在課堂上還可以根據(jù)內(nèi)容需要與學生情況采用問答,傳統(tǒng)板書配合電子教案,討論,總結(jié)等多種手段進行教學,教學效果事半功倍。
一些重要的程序設(shè)計技術(shù)知識點,采用學練同步教學方式,即采用多媒體機房上課的方式,使教師的講課和學生實踐同步進行,這樣學生可以把學到的內(nèi)容馬上練習。上課過程中配合程序驅(qū)動教學法,以開發(fā)一個完整的程序案例為核心而進行教學活動。首先教師給出程序案例的框架結(jié)構(gòu),學生經(jīng)過思考,選擇合適的算法和指令語句,經(jīng)互相討論,完善和豐富程序案例,然后上機調(diào)試,通過運行來檢驗結(jié)果。這樣可以激發(fā)學生的創(chuàng)新意識,促進學生質(zhì)疑,培養(yǎng)學習興趣,并且通過動手實踐,加深理解,牢固記憶。對于接受能力比較強的同學,空閑下來的時間還可以隨時上網(wǎng)通過Online Judge系統(tǒng)做題,鞏固所學的內(nèi)容。
實驗環(huán)節(jié)重視程序項目設(shè)計,培養(yǎng)應用能力。實踐經(jīng)驗的積累是不斷從編寫程序、調(diào)試程序和運行程序結(jié)果的過程中總結(jié)得出的。實驗課,重點讓學生在Online Judge系統(tǒng)中做題,做完題一提交答案,馬上就可以知道對錯,節(jié)省了很多讓老師批閱的時間。課余時間學生也可以隨時通過Online Judge系統(tǒng)做題,激發(fā)了學生的學習熱情,鍛煉了學生的編程能力。
3.考核方式。為了切實考查出學生的實際編程能力,結(jié)合我們所使用的Online Judge系統(tǒng)教學平臺,嘗試使用了如下一些程序設(shè)計課程群的考核方式:
(1)以練代考。驗證一種能確確實實促進學生實踐能力的提高,又能真實反映學生學習水平的考試方式。具體措施是:化大考為小練,邊學邊考。加大實踐環(huán)節(jié)、平時成績所占比例,將總成績分解為平時做題所取得的分數(shù)和最后考試的卷面分數(shù)。平時每個學生在Online Judge系統(tǒng)上提交作業(yè)所取得的分值,不低于60分,期末考試時卷面只占30~40分。這種方式可使學生隨時掌握自己所取得的分值進而估算出期末能拿到多少分數(shù),做到心中有數(shù),同時也能在無形中激勵先進,鞭策后進,極大程度地避免了一些學生在考試結(jié)束才后悔莫及但已無法挽回情況的發(fā)生。
(2)分數(shù)驅(qū)動。研究一種使用Online Judge系統(tǒng)提交作業(yè)、驗證對錯的手段和方案。將每章節(jié)的重點內(nèi)容和知識點都分配到Online Judge中的習題上,每題都有一定的分值,并將這些分值作為期末總成績的一部分(60分以上),這樣可吸引或督促學生積極去編程,既有動力又有壓力??山鉀Q學生平時不學習、最后突擊或考試抄襲的問題。其關(guān)鍵問題是需要將每個知識點都轉(zhuǎn)化為典型的題目,并對每一題目給出多種測試數(shù)據(jù)及相應的答案。
山東工商學院在2010級計算機專業(yè)學生程序設(shè)計課程群的教學中嘗試使用了Online Judge系統(tǒng)平臺,通過嘗試各種教學手段和教學方法,加強理論教學與實踐學習的結(jié)合,學生的學習積極性和主動性有了很大提高,實際編程能力也有了很大改善,在全省、全國的ACM程序設(shè)計大賽和齊魯軟件設(shè)計大賽等各類程序設(shè)計賽事中都取得了比往屆更好的成績,有力地促進了計算機專業(yè)應用型人才的培養(yǎng)。
[1] 彭潔,等.應用型本科計算機專業(yè)程序設(shè)計課程群的建設(shè)與實踐[J].福建電腦,2011,(4).
[2] 趙春艷.C語言程序設(shè)計教學方法的研究與探討[J].齊齊哈爾師范高等??茖W校學報,2011,(1).
[3] 雷紅艷,等.加強程序設(shè)計課程群建設(shè),培養(yǎng)計算機應用型人才[J].電腦知識與技術(shù),2010,(6).