張秀國
(青島理工大學 琴島學院計算機工程系,山東 青島 266106)
基于編程語言類課程教學方法的探討
張秀國
(青島理工大學 琴島學院計算機工程系,山東 青島 266106)
編程語言類課程作為計算機專業(yè)的核心課程,并具有強實踐性的特點。本文根據講授該類課程時所存在的問題,分別對“案例式”、“項目驅動式”、“分組競賽式”三種教學方法進行了探討。提出了在編程語言類課程教學中對三種教學方法結合運用的思想,使該類課程具有更好的授課效果。
編程語言類;教學方法;案例;項目驅動;分組競賽
在計算機專業(yè)的培養(yǎng)計劃中,編程語言類的課程都是重要的必修課程,是計算機核心課程的一部分。目前,大多數中國高校在計算機專業(yè)中都開設了“c語言程序設計基礎”、“c++程序設計”、“java語言程序設計”三門編程語言類課程。除此之外,還有一些主干課程的實驗或課程設計要通過編寫程序來實現,以鞏固和理解課程的重要知識點。如《數據結構》、《算法分析與設計》和《軟件工程》等課程都需要編寫一定的程序來學習和理解相關的內容。在計算機專業(yè)的就業(yè)方面,很多用人單位把考查學生的編程能力也作為了考核的重要一面。由此看來,對編程語言類課程學習的好壞,直接影響到對計算機專業(yè)學生的培養(yǎng)質量,以及影響到計算機專業(yè)畢業(yè)生的就業(yè)情況。
(一)教學方法
現在很多高校都借助多媒體課件來完成教學,這樣雖然提高了教學效率,并有效地突出了教學重點和難點,但是對編程語言類課程而言,用多媒體課件對程序代碼進行講解,一條語句一條語句地解釋,會造成學生在學習過程中一直處在被動學習狀態(tài)。即使學生理解了整個程序代碼的實現過程,也只是把該程序段強加在腦子里,對程序的編寫不能進行靈活運用。這樣的教學往往會忽視學生對編程語言類課程的設計要求,常常被演變成“填鴨式”教學,使學生在課堂上缺少主動性思考,對編程題不能獨立做出答案,在上機實驗時也僅僅對書本上現有的一些實例進行編輯調試,一旦運行成功就算完成任務。這種教學方法根本不能讓學生掌握如何從一個實際問題入手進行分析、解決問題。造成學生認為學習編程語言課程既枯燥又無用,不能掌握利用計算機解決實際問題的基本思維方式,對計算機程序設計產生畏懼感。
(二)考核方式
編程語言類課程的考核主要體現在考查學生是否掌握編程、設計及分析解決實際問題方面。對這類課程的考核如果還采用單一的筆試考核,不僅會忽視實踐環(huán)節(jié)的考查,而且也無法反映出學生運用編程語言來解決問題的真實情況。
(三)理論和實踐脫節(jié)
在計算機專業(yè)的培養(yǎng)計劃中,編程語言類課程的課時安排,基本上都是理論課時和上機課時各占總課時的一半,采用的教學模式多是一種傳統教學模式,也就是在教室講理論,在機房進行實踐。由于學生學完理論課后不能馬上進入機房進行實踐練習,降低了學生對理論知識的理解和記憶,造成了理論和實踐脫節(jié),從而使學生在解決問題的能力上也很難得到提高,導致學生碰到實際問題時不會首先從分析問題和思考問題著手,從而降低了該類課程對學生的設計要求。
編程語言課程是一種用來解決實際問題的程序設計語言,且獨立于計算機硬件,對具體的算法進行描述的課程。也可以這么說,它是一門面向計算機的一種語言類課程,也被稱為是計算機語言。既然是語言類課程,就少不了學習其語言的語法、規(guī)則。但與學習英語等其他語言類不同的是不僅僅掌握語言的語法和表達,還要掌握如何進行程序設計來解決實際問題。因此,也就不能用講授英語等語言類課程的教學方法來講授該類課程。結合編程語言類課程的特點和目前講授該類課程時存在的問題,可采用如下教學方法:
(一)案例式教學
案例式教學方法就是在教師的指導下,以案例的分析解決為主線,通過對案例中的問題進行分析討論,激發(fā)學生的求知欲和主動性,教給學生分析問題和解決問題的方法和道理。它既是一種互動式的教學方法,更是實現理論聯系實際的有效手段。在編程語言類課程的講授中,可以首先拿出與本節(jié)課知識點有關的實際問題,然后通過解決實際問題,引導學生從教材中查找相關內容并進行自主學習,最后通過所學到的知識來解決給出的實際問題。案例式教學在整個的授課過程中,能完全體現出學生主動性思考的主體地位。
下面以講解c語言程序設計中的選擇結構為例,首先給出一個“計算股票經紀人傭金”的案例,即根據股票交易額的不同,股票經紀人傭金的計算方式也不同,總共有六種計算方式,如表一所示:
表一 股票經紀人傭金核算表
然后,提示學生“假設交易額為x,經紀人所得傭金為y,那y的值是需要根據x的大小來完成計算的。也就是說,需要先判斷x的值屬于哪段范圍,再選擇相應的計算方式,顯然前面講解的順序結構解決不了這類問題,而是根據條件判斷來決定該語句是否執(zhí)行”。之后讓學生對教材中的選擇結構章節(jié)進行閱讀,找出選擇結構的語句格式。讓學生先根據自己對選擇結構的理解寫出該案例的實現代碼。最后,對選擇結構涉及到的知識點及學生在編寫代碼中出現的共性問題進行簡單講解和總結。
通過案例式教學方法,突出了教學以學生為主導地位,激發(fā)了學生的學習興趣,調動了學生的學習積極性,提高了學生的自學能力和單獨思考能力。
(二)項目驅動式教學
項目驅動式教學是將一個與教學內容相關的中、小型項目進行分解展開,貫穿于整個教學過程的一種教學模式[1]。在教學過程中,通過師生互動的方式,學生在項目開發(fā)的過程中掌握所學的知識,這樣就使學生明白所學的知識“可以做什么”和“如何做”,切實理解和掌握課程所要求的知識和技能,切身體會創(chuàng)新實踐的樂趣,真正培養(yǎng)他們分析問題和解決問題的能力。并且將本課程的理論知識和實際應用技能相結合,體現出其實際應用價值。
同樣,以講授c語言課程為例,可以讓學生制作一個“學生成績管理系統”的小項目。根據本課程的教學內容將該項目分解成小模塊(如表二所示)。通過學生自主學習來依次設計并實現每個模塊的功能。
表二 “學生成績管理系統”項目分解
采用項目驅動教學方法時,需要注意以下三點:第一,在講授該課程之前,要先對該項目的實現結果進行簡單演示和說明,這樣做,既可以讓學生對該項目有個初步了解,又可以讓學生對該課程的學習目的有個感性認識;第二,項目的選取要以所教學的內容為依據和基礎,規(guī)模不要太大,最好以學生身邊的素材來確定項目;第三,項目的設計既要包含教學的基本知識點,又要能充分調動學生思考和解決問題的積極性。
(三)分組競賽式教學
分組競賽式教學是指將教學內容任務化,以競賽形式完成教學任務的方法。分組競賽的學習方式將競爭機制引入課堂,有利于激發(fā)學習者內心的學習欲望和動力,提高學習者的積極性和興趣,提高學習的效率。以小組為學習單位,有利于發(fā)揮集體的優(yōu)勢,互幫互教,增強學習效果。同時,小組學習有利于培養(yǎng)學生的團隊合作精神、協調能力,促進學生素質的全面發(fā)展[2]。
編程語言類課程主要是利用一定的算法和代碼來分析解決實際問題的課程,其特點非常適合采用“分組競賽”來完成教學。通過設定一個問題讓學生分組進行討論完成,對完成者給出一定的獎勵機制。比如,在教學過程中,小組的劃分為自由組合,每組有4~6名學生,給出一個實際案例后,小組進行學習討論,首先完成的小組計10分,第二個完成的小組計5分,第三個完成的小組計2分,然后,根據本堂課的教學內容再設定幾個小問題,隨機指定小組中某學生來回答,回答正確的給所屬小組加2分,最后,每組的得分做為學生本節(jié)課的平時成績。
在分組競賽式教學中,也需要注意如下兩點:第一,對本次課的主要學習內容也要進行簡單總結;第二,對競賽中的分組、案例、獎勵等設置一定要以激發(fā)學生的學習動力為核心。
(四)結合采用三種教學方法
“案例式”、“項目驅動式”和“分組競賽式”作為新型的教學方法,已被很多課程采用。對于實踐性和操作性要求較高的編程語言類課程而言,可以對這三種教學方法有效結合進行采用,即由一個項目貫穿整個課程內容,將項目適當進行分解,形成了一個一個的案例,通過案例式教學方法,以學生為中心,以教材為學習載體,教師從中進行引導,采取分組競賽式讓學生根據案例要求,學習教材中的相關知識點,實現項目模塊。
三種教學方法的合理運用,使學生在學習編程語言方面更能充分發(fā)揮自己的主動學習性和興趣性。整個課程的教學是“從做項目中進行學習,從學習中實現項目”,解決了理論和實踐的脫節(jié)問題;通過分組競賽給出學生的平時成績,最后匯總為學生對本課程的最終成績,更加反映出學生掌握本課程的情況,解決了考核單一的問題。
在編程語言類課程的教學中,以解決某一具體項目為核心,以學生積極主動尋求知識實現項目模塊為支點,以分組競賽制為形式完成整個教學。這樣,既能培養(yǎng)學生對編程語言的自主學習和實踐的能力,又能培養(yǎng)學生合作的能力。從而保證了編程語言類課程的培養(yǎng)質量,增強了該類課程的培養(yǎng)效果。
[1]趙正平,陳靜.項目驅動教學法淺析[J].中國教育技術裝備,2012,(27).
[2]楊麗麗.分組競賽教學法的構建[J].資質文摘,2010,(7).
G642.4
A
1674-9324(2014)42-0213-02
張秀國(1975-),男,山東青島人,碩士研究生,講師,研究方向:計算機圖形圖像。