摘要:文章對計算機程序設(shè)計課程的教學(xué)改革進行了初步探討,并結(jié)合教學(xué)實踐對其有效性進行了初步驗證。
關(guān)鍵詞:程序設(shè)計;教學(xué)改革;任務(wù)驅(qū)動;規(guī)律
0 引言
經(jīng)過幾年的教學(xué)實踐與改革,我校計算機程序設(shè)計教學(xué)已由傳統(tǒng)的“板書+講解”方法,逐步過渡到“講解+演示+操作”的授課方法。然而實踐證明,僅是授課方法的改進,教學(xué)效果仍然欠佳。因此,我們在廣泛調(diào)研和實踐基礎(chǔ)上,進行了進一步的教學(xué)改革,總結(jié)積累了如下一些經(jīng)驗方法,以供參考。
1 任務(wù)驅(qū)動,激發(fā)興趣
一個教師不僅要把有關(guān)知識傳授給學(xué)生,而且要研究學(xué)生的認(rèn)識規(guī)律:他們是怎樣接受知識的,怎樣才能更快、更容易、更有效地接受知識。
在程序設(shè)計課中會遇到的一個問題是:講課是從語法規(guī)則入手還是從具體問題或任務(wù)入手。在程序設(shè)計課的傳統(tǒng)教學(xué)中,經(jīng)常是一開始就介紹一大堆規(guī)則、定義,就如講外語先講語法,等講完語法再講造句閱讀。然而人們的認(rèn)識規(guī)律往往是從具體到一般,因此,講授程序設(shè)計課程,不能孤立地講語法規(guī)則,要把它結(jié)合到程序應(yīng)用中,通過閱讀和編寫程序讓學(xué)生自然地理解和記住有關(guān)規(guī)定。
為了激發(fā)學(xué)生的學(xué)習(xí)熱情,我們采用了任務(wù)驅(qū)動的方式,即在講授新的課程內(nèi)容時,精心設(shè)計,從具體問題入手,在授課之初首先提出一個學(xué)生比較熟悉且實際的任務(wù),然后告訴學(xué)生,要通過后續(xù)課程的學(xué)習(xí)來完成這一任務(wù)。學(xué)生一聽,“哦,原來這些新的內(nèi)容可以解決很實際的問題”,學(xué)習(xí)的興趣被激發(fā)出來了,同時也會激起學(xué)生達(dá)成任務(wù)的好勝心。在此基礎(chǔ)上一步步深入,將學(xué)生逐步引向相應(yīng)的學(xué)習(xí)內(nèi)容,通過學(xué)習(xí)和討論來完成這個任務(wù),解決這個問題。隨后再通過大量例題說明有關(guān)語句或函數(shù)的功能,并歸納總結(jié)出幾點結(jié)論,說明使用規(guī)則和需要特別注意的細(xì)節(jié)。簡單地說,即采用“提出任務(wù)——介紹完成任務(wù)的方法、知識——歸納結(jié)論和規(guī)律”三部曲。這樣學(xué)生看得見、摸得著,思想跟得上,學(xué)了就能用。
如在教輸入輸出函數(shù)時,可問學(xué)生“如何將全班學(xué)生的學(xué)號、姓名、性別、家庭地址、課程、成績等信息輸入并以數(shù)據(jù)庫形式存放起來,供查詢時輸出使用?”,然后引出輸入輸出函數(shù)的運用方法,讓學(xué)生在上機時解決這個問題,并由此推廣,然后加以總結(jié),導(dǎo)出結(jié)論和注意事項。
2 注意銜接,設(shè)置懸念
每次授課內(nèi)容完成后,為了很好地銜接新的授課內(nèi)容,教師可先設(shè)置懸念——提出一些利用前面教學(xué)內(nèi)容可以完成,但學(xué)會后續(xù)的內(nèi)容可更好地完成的實際任務(wù)。先讓學(xué)生想想如何利用已學(xué)知識來完成這一任務(wù),到新的授課內(nèi)容開始時,教師再把自己設(shè)計的、用新的教學(xué)內(nèi)容完成任務(wù)的方案提供出來,與學(xué)生的方案放在一起進行比較,討論二者的優(yōu)缺點。通過這種方式,不但可以讓學(xué)生自然地產(chǎn)生學(xué)習(xí)新知識的渴望,同時對于前后所學(xué)內(nèi)容的特點、差異以及聯(lián)系都可以有更深刻的認(rèn)識。教學(xué)實踐表明,這種可以銜接前后教學(xué)內(nèi)容的任務(wù)或者說懸念對于后續(xù)課程的學(xué)習(xí)具有很好的促進作用。
例如在學(xué)習(xí)循環(huán)語句之前,可以給學(xué)生布置任務(wù):用簡單語句完成1到100的累加。這個問題的解決很容易,但又會使學(xué)生充分認(rèn)識到?jīng)]有循環(huán)語句的不便,則學(xué)生可以很好的體會循環(huán)結(jié)構(gòu)的特點。又如在學(xué)習(xí)數(shù)組之前,可以給學(xué)生布置一個任務(wù):輸入10個整數(shù),要求對其從小到大進行排序并輸出。為了解決這一問題,不采用數(shù)組時,僅排序就需要45條語句才能完成,且隨著問題規(guī)模的增大,語句數(shù)還會急劇增加。采用數(shù)組則只需一條雙重循環(huán)語句即可。通過這一簡單的任務(wù),有規(guī)律地處理大量同性質(zhì)數(shù)據(jù)時數(shù)組的優(yōu)勢就很明顯地體現(xiàn)出來。學(xué)生對數(shù)組的學(xué)習(xí)興趣得到提升,對數(shù)組的認(rèn)識也會更加深刻。
3 因材施教,劃分層次
由于學(xué)生水平參差,學(xué)習(xí)態(tài)度、學(xué)習(xí)目的各異,按一個模式去教,以同一目標(biāo)去要求必然導(dǎo)致教學(xué)的失敗。我們要把握學(xué)生間的差別和特點,在教學(xué)中不能用一樣的要求、一樣的教學(xué)方法、一樣的講稿和內(nèi)容去對待,而是要做到因材施教。因此我們在授課之前要了解學(xué)生的情況(學(xué)科基礎(chǔ)、是否學(xué)過其它相關(guān)課程、有無充分的復(fù)習(xí)時間、有無上機條件等),并根據(jù)實際教學(xué)情況調(diào)整授課內(nèi)容、重點和進度,對不同的學(xué)生提出不同的要求。
例如,對非專業(yè)學(xué)生來說,他們最主要的是要學(xué)會使用計算機,因此主要應(yīng)當(dāng)通過語言課使學(xué)生建立起計算機工作方式的基本概念,掌握用計算機解題的方法和程序設(shè)計的技巧,并盡可能地與其所學(xué)專業(yè)相結(jié)合,為他們?nèi)蘸笫褂糜嬎銠C解決實際問題打下基礎(chǔ)。
而對于本專業(yè)的學(xué)生,由于計算機知識更新較快,各種新語言也在不斷產(chǎn)生,故要求他們培養(yǎng)較強的自學(xué)能力和獨立工作能力,因此課堂上可以相對少講些。對于基本的規(guī)則講解清楚后,有些不重要的規(guī)則不需要一一細(xì)講,有些較簡單的內(nèi)容可以讓他們自學(xué),學(xué)生在用到時查一下說明書即可。程序設(shè)計課程通常包括介紹語言規(guī)則和算法兩部分內(nèi)容,我們應(yīng)把重點放在后者上,即講課主要講程序設(shè)計的技巧和學(xué)習(xí)方法,幫助學(xué)生提高編制程序的水平,讓他們多上機,多實驗、探索,鍛煉獨立工作能力。
同一類型的學(xué)生也會存在知識背景、學(xué)習(xí)方法、接受能力等多方面的差異,這就需要劃分層次。劃分層次不是給學(xué)生進行差生或優(yōu)生的定性,而是承認(rèn)學(xué)生的差異,本著“以人為本,學(xué)生第一”的教學(xué)理念,實施目標(biāo)分級,教學(xué)分級,是符合教學(xué)中可接受原則和因材施教原則的。分級教學(xué)有利于發(fā)揮教師的主導(dǎo)作用,使教師的“教”更好地適應(yīng)不同層次學(xué)生的“學(xué)”;分級教學(xué)面向全體學(xué)生,使教學(xué)適合每個學(xué)生的發(fā)展需要和實際水平,這也符合學(xué)生的心理要求,有利于激發(fā)他們學(xué)習(xí)的自信和興趣,提高他們的學(xué)習(xí)主動性和積極性。
4 教研結(jié)合,注重實踐
有實際編程經(jīng)驗的教師,可以在教學(xué)過程中將自己碰到的一些問題的解決方案穿插在授課內(nèi)容中,這樣可以讓學(xué)生有更深的體會。同時還可以把一些程度適中的課題部分項目介紹給學(xué)生,讓有興趣的學(xué)生通過解決實際問題來進一步提高自己的能力,增強其信心和競爭力。
此處的研究不僅指科研,也包括教學(xué)過程中的經(jīng)驗總結(jié)與相關(guān)研究。每個人在教學(xué)過程中都有自己的體會和經(jīng)驗,別人的經(jīng)驗可以給以啟示,但不能代替自己的實踐。在講課和教材中應(yīng)該體現(xiàn)出自己獨特的見解,這對學(xué)生是很有益處的,因為它是一般書上所沒有的。為促進教師進行經(jīng)驗總結(jié),我校采取了觀摩優(yōu)秀教師教學(xué)并進行討論,經(jīng)常與學(xué)生座談了解學(xué)生反饋信息等方式。另外在講課時,盡量把自己實踐經(jīng)驗中有價值的東西增加進去,如在編寫程序過程中學(xué)生經(jīng)常出錯的地方可加以總結(jié)后寫入教案。
傳統(tǒng)的程序設(shè)計主要以完成作業(yè)為主,學(xué)生上機多數(shù)是將書上的程序作業(yè)在計算機上運行一遍,形式單調(diào),學(xué)生處于被動實踐狀態(tài),效果不佳,沒有對課程內(nèi)容作深入的理解。我們在實踐課程中除了完成作業(yè)外,重點加強學(xué)生的創(chuàng)造能力的培養(yǎng),增加課程設(shè)計的內(nèi)容。教師在設(shè)計實踐課程題目時,根據(jù)學(xué)生學(xué)習(xí)程度的差異和興趣愛好的不同,設(shè)計不同難度、不同內(nèi)容的課題,增加學(xué)生的學(xué)習(xí)興趣,激發(fā)學(xué)生的創(chuàng)造能力。比如,對能力強、基礎(chǔ)好、常上網(wǎng)的學(xué)生可以布置他們思考:如何做一個最基本的BBs系統(tǒng)?這樣既能激發(fā)學(xué)生的探索欲望,又可巧妙地將所教所學(xué)知識應(yīng)用到實際中,增強學(xué)生的實踐動手能力。5統(tǒng)一考試,促進教學(xué)
就現(xiàn)階段而言,考試是教學(xué)過程中的一個重要環(huán)節(jié),是評價教學(xué)得失、進行教學(xué)工作信息反饋的一種手段,也是穩(wěn)定教學(xué)秩序、保證教學(xué)質(zhì)量的重要措施之一??荚嚥粌H可以檢測學(xué)生的學(xué)習(xí)成績,評價學(xué)生知識水平與能力狀況,還能檢測教與學(xué)的綜合效果,并為教學(xué)改革提供必要的依據(jù)。我校原來的考試形式存在一些問題:各門課程考試沒有統(tǒng)一要求,導(dǎo)致教師教學(xué)目標(biāo)和學(xué)生學(xué)習(xí)目標(biāo)不明確;考試形式單純,一般都采用筆試或機試;試題的質(zhì)量不高等。針對這些狀況,我校采取了如下措施。
對有國家等級考試的課程,提倡學(xué)生參加全國統(tǒng)一的等級考試。實踐證明,由于需要參與等級考試,老師和學(xué)生目標(biāo)定位明確,教學(xué)過程和教學(xué)內(nèi)容能緊扣目標(biāo),促進了教學(xué)質(zhì)量的提高。等級考試試題覆蓋面廣,既能測試學(xué)生對理論知識掌握的情況,又能測試出他們的實踐操作能力。另外全國計算機等級考試證書可提升學(xué)生的就業(yè)競爭力。
對于沒有國家等級考試的課程,我校也要求所有的同一課程的授課教師統(tǒng)一出卷和閱卷,其中程序設(shè)計課程分機試和筆試兩部分進行,并要求平時成績占總評成績的30%,力求比較全面客觀地考察和評價學(xué)生的學(xué)習(xí)情況與教師的教學(xué)情況。這種考核方式在教學(xué)實踐中得到了學(xué)生和教師的一致認(rèn)可。
6 結(jié)束語
總之,我們的體會是:要教好計算機程序設(shè)計及其他學(xué)科,關(guān)鍵在于掌握學(xué)生認(rèn)識規(guī)律,激發(fā)學(xué)生學(xué)習(xí)興趣,并不斷總結(jié)借鑒經(jīng)驗,在教學(xué)實踐中不斷學(xué)習(xí)、進步,適時進行必要的教學(xué)改革,這樣才能取得較好的教學(xué)效果。然而教無定法,我們還需要在教學(xué)實踐中進行更深入的探索和研究。