張付林
計算機程序語言和算法是一門抽象、難學的課程。在中職計算機語言教學中,正確使用直觀性教學方法,可以激發(fā)學生的學習興趣,提高教學效果。建構(gòu)主義認為,學習總是與一定的情境相聯(lián)系的,在適當?shù)那榫持校瑢W生通過直接觀察的生動實際現(xiàn)象或者親身參與,更容易完成知識建構(gòu),并且能夠在大腦中能形成極其深刻印象。
計算機語言程序設(shè)計和算法有著較強的邏輯性和結(jié)構(gòu)性,需要學習者有較扎實的數(shù)學基礎(chǔ)和較強的邏輯思維能力。這對于初學者來說有一定的難度,尤其對于基礎(chǔ)較差的中職學生更是難上加難。在計算機語言程序設(shè)計教學中根據(jù)需要正確運用直觀性教學方法,將有助于學生去消化、理解抽象的算法和程序執(zhí)行流程,進一步提高學生的學習興趣和學習積極性。程序設(shè)計的直觀性教學可以從以下幾個方面來實現(xiàn)。
使用教學課件,幫助學生理解程序的執(zhí)行過程
計算機程序的運行是在計算機內(nèi)部進行的,是看不到、摸不著的。各種控制語句的執(zhí)行流程、函數(shù)與子程序的調(diào)用和返回過程及參數(shù)之間的傳遞,學生是無法直接感知的。即使實驗課調(diào)試程序的過程中,學生也只能看到中間或最終的結(jié)果,是對程序正確性的驗證,看不到程序的執(zhí)行過程。多媒體教學課件能夠模擬不可能或很難看到的現(xiàn)象,能使抽象的理論形象化。在程序設(shè)計教學中借助于課件,可以模擬程序的執(zhí)行過程和各參數(shù)的變化,讓學生理解控制語句的執(zhí)行流程以及函數(shù)、子程序調(diào)用過程中各參數(shù)的變化情況,一些算法的基本原理。因此,在教學中設(shè)計必要的課件,課堂教學效果遠遠超過詳細的語言講解。
程序設(shè)計的教學課件切忌花哨、濫用,教師要從教學需要和實際出發(fā),結(jié)合本班學生的知識水平和認知心理設(shè)計課件,最好在學生理解、認知有困難的知識點上使用,一定要對學生的認知有幫助,不能為使用課件而使用課件。
用好恰當類比,使抽象的內(nèi)容形象化
即使在教育技術(shù)高度發(fā)達的今天,語言講授仍然是教師在課堂上向?qū)W生傳授知識的主要方式,因為在每一節(jié)課中都讓學生去“親身體驗”是不現(xiàn)實的。課堂教學語言的質(zhì)量不僅關(guān)系到教學質(zhì)量,而且還影響著學生學習的質(zhì)量和水平。形象、生動的課堂教學語言,合乎情理的夸張,生動貼切的比喻,可以幫助學生理解不易接受的抽象知識,使學生如見其形、如臨其境、如聞其聲,對完成教學目標至關(guān)重要。這里所講的“直觀性”語言就是指使用恰當?shù)谋葦M,來解釋程序設(shè)計教學中學生難以理解的知識點。
例如函數(shù)與子程序部分教學中,學生編寫函數(shù)或子程序時總是不知道要設(shè)立多少行參,不是多就是少,調(diào)用函數(shù)時總是不理解行參與實參要個數(shù)相等、類型一致,編好了函數(shù)也不知道調(diào)用。講解時,教師可以把函數(shù)比喻成一臺電視機,函數(shù)調(diào)用比喻成看電視節(jié)目,編好了函數(shù)不調(diào)用,相當于沒有通電的電視機。要想看電視節(jié)目,必須有電源和信號,這兩個缺一不可,少了不行,多了也沒用,如給電視機接上電話信號就是多余的。行參實參的類型不一致,就相當于電源插頭兩只腳與三只腳不一致的情形等。再如條件循環(huán)可以類比成學生的平時學習生活,在一學期中每周必須重復課表中同樣的學習內(nèi)容,結(jié)束重復的條件是假期到了。實踐證明,通過這樣的類比,比重復闡述編程語言的語法規(guī)則的效果要好得多。
使用形象化語言進行教學時,要注意精煉、恰當,所使用例子或比喻要經(jīng)典,要與學生的生活經(jīng)驗和實際相關(guān),要與所反映的問題貼近,防止學生產(chǎn)生歧義。例如交換兩個變量a、b的值,如果借用第3個變量c,其程序段為:LET c=a:LET a=b:LET b=c。此時可以舉交換兩只藍墨水和紅墨水這樣的例子,可以先將藍墨水倒入第3個瓶子,然后將紅墨水倒入原來裝藍墨水的瓶子,最后將第3只瓶子中的藍墨水倒入原來裝紅墨水的瓶子。這個例子中,如果不借助于第3只瓶子,則不能交換。因此只使用2個變量,實現(xiàn)其中值的交換的程序段就不能用此例子來解釋。
重視上機實驗,幫助學生解決知識疑惑,增強知識產(chǎn)權(quán)意識
曾經(jīng)聽說一些職業(yè)學校在計算機語言程序設(shè)計教學安排中,為了培養(yǎng)學生閱讀程序、分析程序的能力,而取消了上機實驗課,這是一種錯誤的做法。實驗課中調(diào)試程序過程是分析和排錯的過程,是程序設(shè)計的一個重要環(huán)節(jié)。其目的就是讓學生輸入和調(diào)試程序,是一個讓學生親身體驗程序設(shè)計從編寫代碼、輸入程序、調(diào)試運行程序的整個過程,可以解決學生在認知過程中的疑惑,驗證分析程序的正確性和運行結(jié)果,理解程序中語法、邏輯錯誤所造成的后果,從而進一步幫助學生鞏固課堂教學中的知識,培養(yǎng)他們良好的編程習慣。同時也讓他們感知程序設(shè)計的不易,培養(yǎng)知識產(chǎn)權(quán)保護的意識。因此上好實驗課對程序設(shè)計教學及提高學生信息素養(yǎng)有很大的幫助。
上好一節(jié)實驗課必須在課前充分備好課。一方面,要根據(jù)已講授的知識內(nèi)容和學生作業(yè)反饋精心設(shè)計好要實驗任務(wù),可以有語句的基本應(yīng)用,也可以有涉及到算法的綜合編程調(diào)試,在難度上有一定的梯度。另一方面,還要設(shè)計好上機實驗流程,在充分了解學生知識和技能水平的基礎(chǔ)上,決定本次實驗前是否要補充講解算法原理,實驗過程中是否需要補充新的程序調(diào)試的方法。另外如果本次實驗需要一些現(xiàn)成的程序段,必須在實驗前復制到所有實驗用機上。實驗過程中,還要對極少數(shù)技能差的學生以必要的指導,幫助學生解決實驗中遇到的各種錯誤,使學生不畏懼出錯,能正確面對錯誤,防止產(chǎn)生畏難情緒。還要注意采用引導的方法,不要告訴學生直接答案,讓他們學會分析錯誤、排除錯誤的方法。
實驗結(jié)束后學生要寫實驗報告,寫出實驗中調(diào)試成功的程序和遇到的語法、邏輯錯誤以及排除錯誤的過程。教師通過實驗報告了解學生的學習情況,學生通過寫實驗報告總結(jié)上機調(diào)試和編程經(jīng)驗,避免下次犯同樣的錯誤,進一步提高學生程序設(shè)計的規(guī)范化。
設(shè)計好學生演練,讓學生深刻理解算法的原理
程序的算法是很抽象、極不易理解的教學內(nèi)容之一。讓學生參與一些實際表演來演練算法的執(zhí)行過程,可以進一步讓學生理解和體會算法執(zhí)行的原理和過程。如講授冒泡排序法時,教師可以設(shè)計下列表演場面:讓若干個學生排成一排,然后利用冒泡排序的原理按由高到矮的個子排列。冒泡排序的原理是從第一個數(shù)據(jù)開始發(fā)現(xiàn)相鄰的數(shù)據(jù),發(fā)現(xiàn)反序則交換的原理演示冒泡排序的排序過程,學生按照冒泡排序的原理比較相鄰兩個人的高矮,若前面的一個人比后面的高,則互換位置,經(jīng)過若干輪比較和交換后,便完成了冒泡排序。
為了比較各種排序的過程,可以將學生按照各種排序的原理進行演練,讓學生總結(jié)出各種排序的不同,加深對各種排序算法過程的理解。
直觀性教學方法在使用過程中需要注意的是,教師要正確引導和啟發(fā)學生,通過演示、表演、類比能夠使所要講授的抽象知識點形象化,易于學生理解。在教學過程中,還要防止學生看熱鬧或只注重表面現(xiàn)象,否則很難起到好的教學效果。
總之,直觀性教學方法是激發(fā)學生學習興趣的有效方法,是促進學生思維發(fā)展,幫助學生內(nèi)化知識的重要途經(jīng)。在計算機程序教學中正確使用直觀性教學方法,可以進一步提高課堂教學效益,幫助學生掌握難以理解的抽象知識,使抽象的知識形象化。
(作者單位:江蘇省海安縣雙樓職業(yè)高級中學)