當前位置:文書都 >

知識文庫 >實用文檔 >

中學程序設計教學模式探究論文

中學程序設計教學模式探究論文

中學程序設計教學模式探究論文

中學程序設計教學模式探究論文

摘要:近幾年,我校將程序設計課程納入必修課範圍,小學開設了LOGO,中學開設了VB、pascal、C、C++等計算機語言。課程的開設不僅提高了學生的知識體系、信息素養,而且培養了學生的邏輯思維、創新意識。本文根據筆者多年的教學實踐,對如何引導學生自主探究、如何靈活實施課堂教學等問題進行了較深入的探究,以期能夠為中學程序設計教學模式的發展提供參考與借鑑。

關鍵詞:程序設計;教學模式;自主探究;拓展

1立足語言教學,拔高教學要求及目標,讓學生有探究的慾望

計算機程式語言教學不僅要培養學生分析問題、解決問題的編程基礎能力,更要培養學生的信息素養。因此,在開始學習程序設計時,教師首先應該讓學生清楚地認識學習的意義,不能使其停留在通過會考的目標上。正如美國心理學家Maslow所説:“如果你唯一的工具是錘子,你就會把所有的東西都當作釘子。”如果教師一開始就將學習程序設計的目標定位於通過會考,那麼教學勢必會走入傳統的應試教育模式,必將限制學生思考問題及解決問題的能力,這不利於他們產生程式語言知識的遷移效應。因此,教師在講授VB程序設計之前,應讓學生對程序設計及相關語言有足夠的瞭解,並花一定的時間讓學生自主探討程序設計對生活、未來,以及對人類科學技術所產生的影響,從思想上對學生做正能量的引導,從而為以後的學習做鋪墊,激發學生的學習興趣,讓他們有探究新知識的慾望。

2問題生活化,有的放矢,讓學生有探究的動力

程序語言教學不同於其他學科,它更注重提高學生解決實際問題的能力。因而,教師在教學中,將問題生活化有助於學生產生探究的動力。發現問題,併為瞭解決它去學習程序語言,而不是因為學了程序語言,所以才去解決問題,這是兩種不同的學習思維。例如,在講授VB中的《時鐘控件》一課時,筆者在講完時鐘控件的基本用法後,正好某年級在籌備辯論賽,需要計時器,利用這個機會,鼓勵學生寫一個計時的小軟件,並且利用一節課的時間讓學生“折騰”。事實證明,“浪費”的這一節課很有效果,學生不僅做出了實用、漂亮的計時器供各類比賽使用,而且對IF語句、循環語句有了更深入的理解和認識。

3精選例子,提高實效,讓學生有探究的興趣

知識的來源要麼是自學,要麼是教師的講解,而教師選用什麼樣的例子將直接決定學生能否快速地接受、掌握和運用知識。例如,在講解“交換兩個變量a、b”的內容時,大部分教師都採用“三個容器交換內容”的方法,但這很容易給學生造成一種錯覺:認為計算機內存也是這樣進行的。而筆者則只是舉了兩個容器內物體進行互換的例子,並直接拋出問題:交換兩個U盤中的內容,你是如何操作的呢?不同在什麼地方,引導學生去自主發現。因而,教師在選用例子時要注意以下幾個方面:①例子的算法講解儘量直觀化,直觀可以讓理性的東西用感觀的方式體現,就像上例中的交換變量,學生能夠簡單、快速地理解知識,並記憶深刻。②例子要有趣味性。興趣是最好的老師,有了興趣就有了學習的動力。可以遊戲出現的“猴子選大王”“約瑟夫的救命遊戲”來學習數組:大王如何才能選出?引導學生模擬這個過程,思考數組元素如何出列?數組元素如何重新計數?讓學生深入理解數組在程序中的應用,效果非常明顯。③例子的選取要有數學背景。數學是一門歷史悠久的學科,本身就有一定的邏輯性,將數學和程序設計有效結合,能夠大大提高學生繼續探究的興趣,促成一題多解。例如,迴文數、素數、陳景潤的數學難題、完全數、6174問題等都來源於數學中的經典問題,選用這些例題能夠凸顯研究數學問題就是研究算法,用程序實現算法也是在驗證經典的數學問題的雙贏。如此能夠打破學科間的界限,並且在學生腦海中牢牢樹立起算法與數據結構比語言語法更重要的觀念。

4畫龍點睛,拓展深入,讓學生有探究的空間

構造好算法,掌握了相關的語法,用程序語言來解決問題就不再是那麼困難的事。然而,問題得以解決,程序語言作為工具被學生掌握,我們的教學就結束了嗎?答案自然是否定的。程序設計作為一門實踐性強的學科,教師的教學還應逐層深入,並採用拓展的方式讓學生考慮一題多解。不管所要完成的任務是大還是小,在完成之後都要引導學生再設法尋找第二種方法,也許第二種方法比第一種方法更好。因此,在學習的過程中教師要積極地引導學生,使其能夠對同一問題有不同的認識,不斷提高學生認識問題和分析問題的能力。例如,在講解“冒泡排序”的內容時,筆者分為兩個課時來教學,第一節課讓學生掌握基本的冒泡算法的流程及代碼寫法,並能做一些簡單的排序題目;第二節課組織學生先討論這樣一道題目:體育課上,體育委員正按教師的要求讓同學從低到高排隊形,並不斷地對比同學的身高,再交換同學的位置,這是冒泡排序嗎?(問題生活化)接着,進行設疑:①在排序的過程中,有一些比較是無用的,能不能減少?最少比較多少次能將這個隊列排成有序?②最少要交換多少次才能完成排序?通過這些問題引出學生對冒泡優化的討論與探究,寫出多種代碼程序,並對比、改進,不斷優化程序。在上例的教學中,學生不但深入瞭解了知識體系,而且從整體上提高了全面認識問題、解決問題的能力,達到了算法同語言兩方面的真正融會貫通。同時,也拓展了思維,凸顯了程序設計教學的精髓——重思維開發。因此,在教學中,教師要對問題進行拓展,讓學生的學習有彈性空間。

5總結提高,固化、昇華知識體系,讓學生有探究成就

如果説巧妙的教學能引人入勝,那麼對精彩的教學過程作一個恰當的歸納總結,則更能讓人回味無窮。因此,教師在注重教學過程的同時,還要對教學內容進行歸納和總結,給自己的課堂畫上句號,有始有終。然而,教師不應把總結環節定位於教師,學生同樣可以畫出點睛之筆。題目是做不完的,但每道題中都包含了一定的知識點、一些解題思路。教師在教會學生各類知識點後,也應該教會他們如何歸類、總結,讓知識系統更加完善。

6課後訓練,自主探究養成,讓學生樂在其中

程序設計是一項實踐性很強的學科,因此不能採取純理論解析的教學方法,“紙上得來終覺淺,絕知此事要躬行”,只有學生親自動手、實踐,他們才能真正體會到其中的奧妙。因此,教師在重視學生掌握系統基礎知識的同時,必須要加強對他們基本技能的訓練,並創造多種多樣的形式,使學生把所學知識運用於實際,儘可能讓學生親自動手、動口、動腦地學習,培養他們利用舊知識獲取新知識的能力。但是,突出的一個問題就是高中學生所學的課程較多,沒有充足的時間完成程序設計的課後訓練。那如何解決這樣的矛盾,具體的做法就是讓學生感興趣,只有有了興趣,學生才肯擠出時間完成訓練。例如,在教學之餘,筆者借助學校的活動計劃,常常舉辦一些程序設計大賽、解題能手賽、一道難題、聰明人遊戲等活動,刺激、調動、挖掘學生解決問題的潛能,引導他們自主地去探索與探究。同時,引導一部分優秀的學生參與到信息學奧賽中去,給他們提供一個更高的平台。

7結語

正所謂“教學有法,但無定法”,在新課程背景下,如果教師能夠把新課程的一些教學理念應用到程序設計教學中來,或許會有更好的教學效果,新課程提出的“以人為本,一切從學生出發”想必也是程序設計教學的靈魂所在。在平時的教學中,只要我們做教學的有心人,靈活運用合適的模式去教、去引導學生自主探究,就一定會取得滿意的教學效果,也一定會得到豐厚的回報。

  • 文章版權屬於文章作者所有,轉載請註明 https://wenshudu.com/zhishiwenku/shiyongwendang/qegdkj.html
專題