葉 泉
(桂林市第五中學信息組,廣西桂林,541000)
建構主義理論告訴我們,教學的有效性最終是以學生的“意義建構”為最終的目標和歸宿。如何在有限時間內(nèi)合理運用教材,采取恰當?shù)慕虒W方法,激發(fā)學生的學習興趣,提高《算法與程序設計》課堂教學的有效性,教師不妨從以下幾個方面去解決。
興趣是學習的關鍵,興趣決定了教學效果的好壞。在程序設計教學中,教師要從學生的興趣入手,利用學生對事物的好奇心,選擇一些有趣的、有實際意義的程序,激發(fā)學生的學習興趣。
在程序設計中的第一課,筆者進行了教學嘗試,引入學生感興趣的“五子棋”(見圖1)作為切入點,組織學生開展人機互動的游戲活動。五子棋的輸贏規(guī)則雖然比較簡單,但是如何讓電腦落子在棋盤上確定的一點,這需要對棋盤上每一點的重要度作出判斷。這其中就包涵復雜的計算機解決問題的方法,比如沖四比沖三強,沖三比造二強,遇四三時,如果是對方則堵死,如果是我方則優(yōu)先落子。通過這個方法引入《算法與程序設計》的教學第一堂課,讓學生對有關知識產(chǎn)生了興趣并樂于學習。
此外,在第一課的教學中教師還可以再演示一些由學生自己編寫的、有趣的程序從而吸引學生,并告訴他們學習了VB程序設計的內(nèi)容后就都能夠編出這些有趣的小程序。

在描述問題及解決方案時,對于VB程序界面的設計應采用先易后難、循序漸進的方法。由于未涉及程序代碼的編寫,學生容易入門,不會感到有非常大的困難,以此激發(fā)學生進一步學習的熱情。用一種簡潔、一致的手段來詳細、精確地描述界面,例如“界面圖+對象屬性表”,可以有效地提高課堂教學效率。
在教學時,教師可選擇學生所熟悉圓的周長問題進行VB入門教學,避免學生在開始接觸VB時又面臨較復雜的算法問題,使學生了解計算機如何完成計算圓周長的任務,讓學生把學習的重點放在對控件屬性、對象的事件的設計。了解VB程序設計的特點、文本框和命令按鈕的相互關系,其教學步驟如下:
第一步:先運行一個已經(jīng)設計好的窗體界面,讓學生了解程序設計的目標與布局,如圖1所示。
第二步:分析控件類型,新建一個工程文件,在窗體上布局相關控件,如圖2所示

第三步:修改窗體中的控件屬性。
Label1:Caption/輸入圓的半徑
Label2:Caption/圓的周長
Text1:Text/ 空白 并設計其背景色&H00C0FFFF&(淺黃色)
Text1:Text/ 空白 并設計其背景色&&H00FFFFC0& (淺藍色)
Command1:Caption/計算
第四步:對“計算”按鈕設計對雙擊時的程序代碼。
Sub command1 click()
Dim r as double rem 定義變量r
r=val(text1.text) rem 獲取對象text1的text屬性值轉(zhuǎn)換成數(shù)值型送到變量r
Text2.text=str(2*3.14*r) rem 計算圓的周長,將周長值轉(zhuǎn)換成字符串型送到text2的text屬性
End sub
這樣,學生從界面設計的感性認識開始,逐步了解VB程序設計的學習思路。教師應根據(jù)學生實際的接受能力,用通俗的語言對每一個知識點進行講解,切忌貪多求全,要盡量消除學生對編寫程序代碼的畏懼心理,讓他們產(chǎn)生自信心和自豪感,建立起編程思想。
概念的形成過程常常是學生進行邏輯思維的過程。在教學導入時,教師可設置適當?shù)那榫埃乖撉榫爱a(chǎn)生或引發(fā)一個學生感興趣的核心問題。而這個核心問題只有在學完了整堂課的內(nèi)容后才能回答或解決,從而使課堂在核心問題的引領下順利推進,使學生認知結構中原有的概念與新的知識建立起實質(zhì)性的聯(lián)系。在使用這種方法的過程中,確定核心問題是關鍵,需要教師鉆研教材,從學生已有的知識經(jīng)驗出發(fā),尋求一個最能激發(fā)學生學習愿望的切入口或突破口。
以下以《3.1用解析法解決問題》(《算法與程序設計為實例加以說明。(選修),教育科學出版社)》

圖3
在進行“解析法”教學時,通過對教材的研究分析,不要選擇教材中“鉆石切割”的實例,因為其數(shù)學模型比較復雜,對于數(shù)學基礎比較薄弱的學生而言有一定的困難。于是,自編一個以“身體指標計算”小程序,引發(fā)學生思考“解析法”的核心思想:如何根據(jù)實際問題建立數(shù)據(jù)模型,并應用VB語言實現(xiàn)程序的編寫。
引入:教師演示自編小程序,如身體健康指數(shù)計算程序。
請同學思考:計算機是如何分析判斷出此結論的?
新課:
1.第一環(huán)節(jié):通過身體健康指數(shù)的計算學習數(shù)學模型的建立
教師PPT展示:科學家經(jīng)過大量的統(tǒng)計、分析,得出計算身體健康指數(shù)的結論:身體健康指數(shù)BMI值與體重W(單位為kg)成正比,與身高H(單位m)的平方成反比。理想指數(shù)范圍是 20-25 。當指數(shù)小于20屬于營養(yǎng)不良,當指數(shù)在25-30之間屬于體重超重,當指數(shù)大于30為過于肥胖。
小組討論問題:怎樣將此文字敘述的表達轉(zhuǎn)化為數(shù)學公式的表達?
學習任務:(1)身體健康指數(shù)的計算公式;(2)身體健康的判斷有幾種情況,其條件如何。
身體健康指數(shù)計算公式:BMI=W/(H*H)
①
身體健康指數(shù)判斷的表達:

②
①→②則是解決身體健康指數(shù)計算數(shù)學模型,由此引出解析法的概念。
引導學生總結1:應用解析法解決問題的步驟。
2.第二環(huán)節(jié):根據(jù)身體指數(shù)的計算及判斷表達寫出相關的流程圖(如圖4)

圖4
教學時,教師可以把流程圖的框架先建立起來,學生根據(jù)身體健康計算說明,填寫計算公式、判斷條件、判斷結果,從而完成流程圖的表達。這樣可以降低學習的難度,讓學生能夠?qū)W會由解析式寫出流程圖的學習過程。
引導學生總結2:用解析法解決問題時其流程圖通常呈現(xiàn)分支結構的形式。
3.第三環(huán)節(jié):依據(jù)流程圖編寫代碼
教學時,教師預先將界面設計(如圖3所示)的工程文件準備好,學生通過理解流程圖,把程序代碼完成,即對按鈕設計單擊時的程序代碼(略)。
4.第四環(huán)節(jié):課堂小結
(1)應用解析法解決問題的步驟有哪幾步驟;(2)解析法解決問題時其流程圖的形式。
本課從學生的生活出發(fā),選擇數(shù)學模型比較簡單的“指數(shù)”計算問題,將教學重點放在“解析法”的概念,因材施教。在教學過程中,基于問題的學習模式,通過剖析指數(shù)計算,學習應用解析法解決問題過程中如何建立數(shù)學模型,從而總結解析法解決問題的過程的一般步驟,并將其轉(zhuǎn)化為流程圖的算法描述,從而突破本課的難點。
總之,《算法與程序設計》對于教師、學生來說都是全新的一門課,在教學過程中必然會存在許多問題,需要教師不斷地改革創(chuàng)新、總結經(jīng)驗。
[1] 李倩倩.高效課堂下的課堂設計——《二次函數(shù)》的課堂結構設計與操作[J].教育觀察,2013(8).
[2] 侯法政.如何構建有效課堂[J].學周刊,2011(21).
[3] 余昱.“教師是反思性實踐者”在教育日常中的缺席[J].廣西師范大學學報:哲學社會科學版,2012(6).