劉金玲 唐 棣
文章編號:1672-5913(2009)01-0069-02
摘要:本文通過對探究式學習方式的研究,提出了將之應用于算法程序設計課程中,實踐表明探究式學習可以提高學習效率,培養(yǎng)學生探究、思考問題的學習習慣,使學生樂于去學習知識,掌握算法設計的技巧,并能將抽象的算法靈活應用到實際的問題中。
關鍵詞:探究學習;建構主義;算法設計;猜單詞;學習興趣
中圖分類號:G642
文獻標識碼:B
1 探究學習方式的優(yōu)點
探究式學習作為一種積極的學習方式,能促進學生思維能力的最佳發(fā)展,使學生在學習中探索問題,使得學生自主、獨立地發(fā)現(xiàn)問題,并通過思考、觀察、討論、調(diào)查、搜集與處理信息等一系列活動,獲得知識與技能,從中培養(yǎng)分析問題、解決問題的能力和創(chuàng)造能力。其核心是改變學生的學習方式,使學生在情感、態(tài)度與價值觀等方面得到發(fā)展,特別強調(diào)對學生探索精神和創(chuàng)新能力的培養(yǎng)。
問題是學生探究的載體,好的問題能引起學生爭論,激發(fā)學生探究的欲望。只有通過分析問題、解決問題才能充分調(diào)動學生的主觀能動性,所以探究最好從一個能引起學生爭論的問題或是一個兩難的選擇開始。如何設計一個情景,從一個極具思辨性的問題材料出發(fā)是開展探究學習的前提條件,否則可能會適得其反。在任務的設計時應注意:(1)所設計的問題必須能蘊涵或體現(xiàn)學科相關的概念、原理和方法。(2)問題應該是開放的、真實的或接近真實的,越接近生活就越具有調(diào)動力。
2 算法程序設計的課程特點
算法程序設計是一門晦澀難懂的課程,很多同學在學習初期就被抽象的概念和流程圖搞得暈頭轉向,從而失去學習這門課的興趣,使得整個課程的學習變得枯燥乏味,在學完這門課程之后根本不知道如何編程的情況比比皆是。然而算法卻是一門很重要的學科,涉及的范疇很廣,包括數(shù)學、工程學、心理學、生物學和管理學等許多學科,因此采用什么樣的方式學好這門課程變得非常重要。算法作為一門計算機課程,上機實踐是必不可少的過程,程序設計的前提是設計出好的算法,學會如何將現(xiàn)實的問題用正確、高效的算法來實現(xiàn),才是這門課程要達到的目標。
在算法課程中采用探究式學習方式,強調(diào)以學生為主體,學生的思維活動被充分調(diào)動,在探究過程中教師以學生的問題為導向,采取雙向互動的原則。教師啟發(fā)學生的發(fā)散思維和聚合思維,使學生處于一種不斷發(fā)散與聚合的創(chuàng)造性思維狀態(tài),以此順利推進學習進程。
3 探究學習在算法程序設計的應用
這里我們選取了一個猜單詞的探究實例,設置了兩種情況,一種是人與人的組合方式,也就是一個人給出單詞,告訴單詞的字母總數(shù),另外一個人猜;第二種是人機方式,這種方式事先把單詞存儲到一個文件中,計算機隨機取出一個單詞,顯示單詞中字母的總數(shù),然后猜單詞。這里我們設置猜的次數(shù)在4~10次之間,可以由猜詞一方設置。圖1和圖2列出了猜詞的幾個截圖。
下面給出教學的設計過程:
(1) 教學目標
知識與技能:了解算法設計的過程,能讀懂流程圖;理解編程的含義,培養(yǎng)學生用計算機解決現(xiàn)實問題的能力。
過程與方法:通過猜單詞的過程,歸納利用計算機解決問題的基本思想方法。
情感態(tài)度與價值觀:通過游戲方式激發(fā)學生學習程序設計的興趣和熱情,體驗程序設計的強大魅力。
(2) 內(nèi)容分析
本節(jié)課的學習任務是:從簡單問題出發(fā),設計解決問題的算法,初步體驗用計算機解決實際問題的過程。
教學重點:算法的實現(xiàn)及程序解決問題的方法。
教學難點:對算法的設計和編程的實現(xiàn)。
探究的過程:給出題目,讓學生探究在這個游戲中需要用到哪些算法知識點,該如何實現(xiàn)相應的內(nèi)容。
(3) 教學策略設計
同時讓學生參與提出問題,通過探究激發(fā)興趣。在學生討論后,引導學生回答所提出的各種問題,產(chǎn)生理性認識。教—學活動的設計如圖3所示。
(4) 探究教學實踐的效果
通過探究學習方式突出了教師的主導作用和學生的主體地位,符合了新課程改革的要求,在整個教學過程中學生成為了學習的“主角”,他們主動地學習,積極參與問題的分析、討論、交流、體驗,在自主學習的氛圍中主動學習知識,增強了自主學習的意識,不僅掌握了應學的知識,而且在實踐中體會到了學習的樂趣。這種自主學習的過程提高了學生發(fā)現(xiàn)問題、思考問題、解決問題的能力,提高了學生的自身素質。
在探究教學過程中也還存在一些問題。由于學生知識掌握的程度不同,有些同學不能充分理解算法過程,但經(jīng)過大家的討論和交流使他們對知識有了一定的理解,為了進一步掌握知識,可以給學生留下更多的探究空間,使他們通過自己的探究把問題解決,從而增強他們把課程學好的信心。
4 探究教學實踐的體會
算法程序設計是一門要求綜合運用所學知識,強調(diào)動腦、動手的課程。在教學過程中采用探究式學習可以充分調(diào)動學生的主動性,使學習活動的強制性變得弱一點,把學習內(nèi)容變得生動而有趣,如紅綠燈的設計、五子棋等問題都可以作為探究實例。通過這些適宜探究的生活實例,激發(fā)他們的學習興趣,而問題的最終解決可以增強他們學習的自信心,從而使學生喜歡算法的設計過程。在教學過程中抓住學生知識的自主建構這一核心,對探究式學習進行更加深入的理論層面思考,從而為實踐者提供一個更加深刻的思維框架。但探究式學習方法不是一把萬能鑰匙,不能一味地追求新穎而忽略課程特點和實際情況,在教學中要根據(jù)內(nèi)容掌握合適的度,否則可能會適得其反。
正如皮亞杰在評論教學方法時所說的皮亞杰在《教育往何處去》一文中所說,“所提倡的教學方法越好,教師的任務就越艱難,好的方法要求教師既要對他的學科和學生有高度專門化的知識,同時又要對他所從事的職業(yè)有真正的愛好”。好的總是難的,在算法與程序設計的探究式學習過程中還有很多問題需要我們在實際的課堂上進行適度把握和適當?shù)陌才牛瑥亩雇瑢W們真正掌握這門實用學科,將來可以應用到其他學科的實際需要中。
參考文獻:
[1] 羅星凱. 探究式學習:含義、特征及核心要素[J]. 教育研究,2002,(1).
[2] 徐學福. 摘自探究問題的內(nèi)涵及其形成[J]. 教育科學研究,2004,(11).
[3] 王曉東. 算法設計與分析[M]. 北京:清華大學出版社,2003.
[4] 陳清華,朱紅. C語言課程設計—案例精選與編程指導[M]. 南京:東南大學出版社,2003.