第一篇:算法與程序設計教學思想
算法與程序設計教學思想
在高中階段開設信息技術課程的基本目的是進一步提高學生的信息素養,使他們能適應社會發展的需求,為信息社會培養合格的人才。本課程力圖通過信息的獲取、加工、管理、表達與交流等各類信息實踐活動,掌握信息技術,感受信息文化,增強信息意識,內化信息倫理。要達到這一目的,必須為學生建構起一個利于他們提高信息素養的良好學習和實踐環境。
根據教育部制訂的普通高中課程標準編寫的,由浙江教育出版社出版的高中信息技術教科書(實驗),經全國各地多年來的試用,積累起了比較豐富的教學實踐經驗。在浙江教育出版社積極倡導、支持,教科書編寫人員不懈努力和廣大任課教師的熱情參與下,多次開展了卓有成效的教學交流活動。例如,教師用書的編制與修訂,優秀教案選編的出版,開展教學資源競賽等等,都為教科書的使用和課程教學質量的提高作出了有益的貢獻。
總的說來,上述各項活動都比較側重于解決如何教的問題,受益的對象基本局限于教師范圍。但是,我們更主要的任務是如何使廣大同學直接受益,如何為廣大高中同學創造一個便于進行自主學習信息技術課程的輔助學習的平臺,通過這一平臺來掌握高中課程范圍內的信息技術基礎知識和基本技能。使同學們能根據自己的基礎、特長和興趣,學會創造性地利用信息技術解決學習和生活中的實際問題。《高中信息技術輔助教學平臺》(計算機光盤版)就是為這一目的開發和編制的。為了使信息技術課程的教學能全面貫徹教育部制訂的課程標準精神,使廣大任課老師在教學過程中有所參照,也為了減輕老師們的備課負擔,更主要的是為了激發同學們學習本課程的積極性,能循序漸進地掌握信息技術的基礎知識、基本技能和相關的應用能力。“平臺”的設計是以“教案”或“學案”的形式呈現的。
信息技術輔助教學平臺共分六個模塊,分別是:信息技術基礎、算法與程序設計、多媒體技術應用、網絡技術應用、數據管理技術、研究與探索(機器人活動和信息學活動)。前5個模塊按32課時來安排內容。任課老師可按本校生源、設備、師資條件的實際情況進行適當調整。
根據本“平臺”的設計目標及其所肩負的任務,前5個模塊的基本結構欄目為:課標理解、教材分析、教法實踐、知識貨架、素材下載等項。
課標理解:以課程標準為依據,提出對本單元教學內容在課程中的作用和地位的理解,使教師和學生的信息技術教學活動更符合課程目標。
教材分析:指明本課時的學習目的,基本教學內容,需要掌握的學習重點和要解決的難點。對部分重點或技術難點提供簡明動畫,幫助同學理解。
教法實踐:根據教學內容,提出教學流程或教學方法,進行討論交流、實踐體驗、綜合探究等實踐活動;通過實例演示或練習(含拓展練習),對同學反饋的知識、技能進行評價。知識貨架:是本模塊、本章、本節、本課涉及的知識和概念的匯編,供教師和同學查閱。
素材下載:為教師備課提供相關素材內容;為學生的學習、作業、練習準備必要的素材,以節約學生時間,提高學習效率。其中有些內容是為了拓展教師和學生的視野提供幫助。
《算法與程序設計》是高中信息技術課程的選修模塊。由于算法與程序設計在解決問題過程中所起的關鍵作用,因此,它被各地學校廣泛地選修,這也為本模塊教學積累起了比較豐富的經驗。本模塊所擔負的主要任務是:讓學生體驗算法思想,了解算法和程序設計在解決問題過程中的地位和作用,并能對簡單問題設計算法,初步學會用一種程序設計語言編制程序,實現算法,解決問題。
本“平臺”匯集了豐富的算法與程序設計教學內容和相關素材。它可以用來幫助教師備課,進行課堂教學;也可以幫助學生學習,提高他們的學習興趣,激發他們對未知領域積極探究的欲望和提高分析問題、解決問題的能力。本“平臺”努力為學生提供一個較為優良的學習環境,促進學生主動學習,以充分發揮其主體潛能,為學生個性化學習開辟一個新領地。
《算法與程序設計》既有嚴謹的理論,需要對被解決的問題進行周密的分析,把問題模型化,又要有解決問題的科學的、嚴格的方法。具備算法理念,初步掌握算法的設計與分析方法是一件對學生終身有用的好事。本“平臺”對“課標理解”、“教材分析”等5個基本欄目都有較詳盡的敘述;對部分比較典型和難度較大的內容還配置了相應的Flash動畫幫助師生們進行教和學。
問題求解存在于社會生活的各個領域,在“拓展學習”欄目中“平臺”提供了許多來源于學習、生活、工作的算法設計實例,供學生課內或課后進行自主學習,以進一步形成算法理念,提高自己的算法設計和算法表達的能力。所有的示例程序、練習素材及輔助動畫都可在“素材下載”欄目中找到,供下載,以節省師生的教學與學習的時間,提高效率。
由于“平臺”是在實踐教學經驗基礎上的一種再創作,難免有欠妥和不足之處。編者殷切祈望使用本“平臺”的廣大師生不吝賜教,以期不斷總結經驗,完善內容,改進形式,能更好地為廣大師生服務,為提高教學質量作一點微薄貢獻。
第二篇:算法與程序設計思想
《算法與程序設計思想》教學案例1
一、教學目標 1.知識與技能:
求一批數據中最大值的算法設計思想,并將算法的設計思想用流程圖表示出來。2.過程與方法:
利用現實生活中比較身高的活動,以及對武術比賽中“打擂臺”流程的逐步梳理,讓學生學會從此類生活實際中提煉出求最大值的思想方法,即算法思想。
培養學生分析問題、解決問題的能力,讓學生學會在面對問題時能梳理出解決問題的清晰思路,進而設計出解決某個特定問題的有限步驟,從而理解計算機是如何解決、處理某種問題的。
3.情感、態度與價值觀:
讓學生全身心地投入到教學活動中,積極與同伴合作交流,進行探索活動。培養學生良好的思維品質,發展他們的創新思維,并養成積極的學習態度和良好的學習習慣。
創設情境,以激發學生的學習興趣。努力營造一個可以接納的、支持性的、寬容的課堂學習環境,讓學生置身于民主和愉悅的課堂氛圍中放飛思維、潛心研究、快樂創造。
二、教學重點、難點 教學重點:建立求一批數據中最大值的算法設計思想,并將此算法設計思想用流程圖表示出來。
教學難點:上述重點問題同樣是本課教學的難點。另外,如何把人解決問題的思路、步驟用計算機語言描述出來也是本課的難點之一。
三、教學對象分析
高一年級的學生。他們已具備了一定的觀察、思考、分析和解決問題能力,也已有了順序結構、分支結構、循環結構等知識的儲備。因此,對于如何將解決問題的思路畫成流程圖,學生已有一定的基礎,但可能還不很熟練,尤其對剛學過的循環結構,教師在課堂上要注意引導。
四、教學策略及教法設計
利用現實生活中比較一組學生身高這一事件,引導學生去發現求最大值的一種方法。如何設計求一批數據中最大值的算法?我認為讓學生自己去經歷整個探究過程,要比直接把現成的算法告訴學生有意義得多。它能迅速、有效地幫助學生建立程序設計思想。在完成這個任務的過程中,教師的循循善誘起到了非常關鍵的作用。找出一批數據中的最大者,從表面上來看是一個很簡單的問題。在比較數的過程中,人因為動用了眼睛,比較大小的思維過程一閃而過,所以能很快求出一批數據中的最大值。而計算機與人不同,它對這些數據看不見、摸不著,怎么來完成這一任務呢?其實,計算機解決問題的關鍵,就是要把人解決問題的思維過程用計算機語言描述出來,即為大腦思維的每一步“拍照”。這是計算機程序設計教學的一個重點,也是一個難點,需要教師在教學過程中逐步引導和訓練學生,使學生逐漸學會分析問題,尋求解決問題的方法和步驟。本案例運用生活中“打擂臺”的實例引導學生分析求最大值的方法,通過對這一現象的分析,逐步引出求最大值的算法設計思想。1 孫朝霞.從生活中探究和建立程序設計思想——《算法與程序設計思想》教學案例.中小學信息技術教育,2005(12)
五、教學過程 1.情境創設 師(提問): 今天在第一排就座的有10 多位同學,誰是我們第一排在座各位中的最高者呢?
師(引導): 大家思考,通常這個任務我們是怎樣去完成的? 教師根據學生對問題的回答進行分析。引導學生往古時候比武時常常采用的“打擂臺”的方式上想,提示學生可參考電視上經常播放的“挑戰主持人”節目。
師生: 打擂的過程可以描述為:
(1)確定一個擂主(討論第一個擂主是如何確定的);(2)挑戰者上臺;
(3)擂主和挑戰者比較;
(4)挑戰者勝的話,挑戰者做擂主,否則擂主衛冕;(5)重復執行(2)~(4)步驟,直到最后一個挑戰者。
師: 在打擂的過程中,我們看到(2)~(4)步驟是要重復做的,所以我們該怎么辦呢?
生: 需要循環結構來實現。
師: 這幾個步驟序列重復到什么時候結束呢?由學生討論結束的辦法,很顯然,需要在最后加上一個能判斷什么時候結束的判斷框。
根據討論的步驟,最后師生共同得出打擂臺的算法和流程圖(如圖1)。
2.求一般情況下的最大值的算法 師(引導): 如果我們面對的是一堆數據,現在希望我們求出這一堆數據中的最大值該怎么辦?通過教師和學生的共同分析,把問題進一步細化為:
(1)從第一個數據開始看起;
(2)把第一個數據的值在變量中記下來;(3)再取一個數據;
(4)比較這個數據與變量中記下的數據的值;
(5)如果這個數據的值比記下的數據的值大,則去掉變量中原來那個數據,記下新數據的值;
(6)重復執行(2)~(4),繼續比較,直到最后一個數據。也就是說,計算機的變量始終記著當前比較過數據中的最大者(我們不妨用X 表示它),當取完最后一個數據時,X 中留下的也就是最大值了。
求最大值的算法設計思想用圖2 表示。
注意:
a.再次讓學生討論變量的意義,弄清賦值語句的意義。
b.一些物理量用變量表達的意義。如X 表示最大值,X 表示輸入的一個值,且每次循環時都用同一個變量X。
c.為了控制循環結束,必須加入一個控制循環次數的計數器I,當I 達到一定的次數后,循環工作結束。
3. 回顧小結
師生共同總結算法設計的過程,就是將大腦思維的每一步都記錄下來,并且用計算機能達到的功能來實現人解決問題的思路。
第三篇:教案算法與程序設計思想
算法與程序設計思想
【課標要求】
(一)利用計算機解決問題的基本過程
(1)結合實例,經歷分析問題、確定算法、編程求解等用計算機解決問題的基本過程,認識算法和程序設計在其中的地位和作用。
(2)經歷用自然語言、流程圖或偽代碼等方法描述算法的過程。
(4)了解程序設計語言、編輯程序、編譯程序、連接程序以及程序開發環境等基本知識。
【學情分析】
高一年級的學生已具備了一定的觀察、思考、分析和解決問題能力,也已有了順序結構、分支結構、循環結構等知識的儲備。因此,對于如何將解決問題的思路畫成流程圖已有一定的基礎,但可能還不很熟練,尤其對剛學過的循環結構,教師在課堂上要注意引導。『此處說“已有了順序結構、分支結構、循環結構等知識的儲備”,應該是指在必修部分對“計算機解決實際問題的基本過程”已有所體驗與了解,或是指已學習過數學中相關模塊的知識,這是本案例教學得以實施的必不可少的前提條件。』
【教學目標】
1.知識與技能:
建立求一批數據中最大值的算法設計思想,并將算法的設計思想用流程圖表示出來。2.過程與方法:
利用現實生活中比較身高的活動,以及對武術比賽中“打擂臺”流程的逐步梳理,讓學生學會從此類生活實際中提煉出求最大值的思想方法,即算法思想。培養學生分析問題、解決問題的能力,讓學生學會在面對問題時能梳理出解決問題的清晰思路,進而設計出解決某個特定問題的有限步驟,從而理解計算機是如何解決、處理某種問題的。
『在過程上,通過現實生活中的實例來引導學生總結“求最大值”的算法思想。過程的實現關鍵在于實例引用是否貼切,是否有利于學生向抽象結論的構建。本案例的實例選擇是符合這一要求的。在方法上,注重培養學生分析、解決問題的一般能力,再次體驗與理解應用計算機解決問題的基本過程,為后面更一步的學習打下基礎,積累信心。』
3.情感態度與價值觀:
讓學生全身心地投入到教學活動中,積極與同伴合作交流,進行探索活動。培養學生良好的思維品質,發展他們的創新思維,并養成積極的學習態度和良好的學習習慣。
創設情境,以激發學生的學習興趣。努力營造一個可以接納的、支持性的、寬容的課堂學習環境,讓學生置身于民主和愉悅的課堂氛圍中放飛思維、潛心研究、快樂創造。
『本案例對“情感、態度與價值觀”目標的設計,更多的是試圖建立一個活躍、民主、快樂的學習環境。良好的學習環境是學生樂學好學、教師提高課堂效率的重要條件。如果真能實現這樣一個環境,營造出理想狀態中的學習氛圍,無疑會使學生在學到“知識與技能”的同時收獲到更多的東西——合作、分享、成就。而且如果能夠結合教學內容來描述目標,則會使目標顯得更具體,更有針對性。』
【重點難點】
教學重點:建立求一批數據中最大值的算法設計思想,并將此算法設計思想用流程圖表示出來。
教學難點:上述重點問題同樣是本課教學的難點。另外,如何把人解決問題的思路、步驟用計算機語言描述出來也是本課的難點之一。
『建議,此處可添加關于教學重、難點的確立依據,以及解決教學難點的關鍵方法方面的描述。同一段知識內容的教學重、難點對于同類教師基本上是一致的,不同的是對教學重、難點的認識與處理方法。應該說,對教學重、難點認識的越深刻就越有可能找到更好的處理方法。』
【教學思路】
利用現實生活中比較一組學生身高這一事件,引導學生去發現求最大值的一種方法。如何設計求一批數據中最大值的算法?我認為讓學生自己去經歷整個探究過程,要比直接把現成的算法告訴學生有意義得多。它能迅速、有效地幫助學生建立程序設計思想。在完成這個任務的過程中,教師的循循善誘起到了非常關鍵的作用。找出一批數據中的最大者,從表面上來看是一個很簡單的問題。在比較數的過程中,人因為動用了眼睛,比較大小的思維過程一閃而過,所以能很快求出一批數據中的最大值。而計算機與人不同,它對這些數據看不見、摸不著,怎么來完成這一任務呢?其實,計算機解決問題的關鍵,就是要把人解決問題的思維過程用計算機語言描述出來,即為大腦思維的每一步“拍照”。這是計算機程序設計教學的一個重點,也是一個難點,需要教師在教學過程中逐步引導和訓練學生,使學生逐漸學會分析問題,尋求解決問題的方法和步驟。本案例運用生活中“打擂臺”的實例引導學生分析求最大值的方法,通過對這一現象的分析,逐步引出求最大值的算法設計思想。
『作者在此處點出了解決教學難點的方法,即采用“逐步引導和訓練”的方法。其意圖就是希望學生經歷整個過程,從而鍛煉、提升探究能力,領悟、理解其中的思想,實現授人以漁的目的。』
【教學過程】
1.情境創設___________如何建立支架的? 師(提問): 今天在第一排就座的有10 多位同學,誰是我們第一排在座各位中的最高者呢? 師(引導): 大家思考,通常這個任務我們是怎樣去完成的? 教師根據學生對問題的回答進行分析。引導學生往古時候比武時常常采用的“打擂臺”的方式上想,提示學生可參考電視上經常播放的“挑戰主持人”節目。師生: 打擂的過程可以描述為:
(1)確定一個擂主(討論第一個擂主是如何確定的);
(2)挑戰者上臺;
(3)擂主和挑戰者比較;
(4)挑戰者勝的話,挑戰者做擂主,否則擂主衛冕;
(5)重復執行(2)~(4)步驟,直到最后一個挑戰者。
師: 在打擂的過程中,我們看到(2)~(4)步驟是要重復做的,所以我們該怎么辦呢? 生: 需要循環結構來實現。師: 這幾個步驟序列重復到什么時候結束呢?由學生討論結束的辦法,很顯然,需要在最后加上一個能判斷什么時候結束的判斷框。
根據討論的步驟,最后師生共同得出打擂臺的算法和流程圖(如圖1)。
『作者的引導可以總結為:比身高(學生的回答可能多種多樣,也可能偏離預設方向)——比武、“打擂臺”(將學生發散出去的思考往預設方向上牽引)——“挑戰主持人”節目(進一步將學生的思考引到其頭腦中已有的認識上,前提是學生要看過該節目)——用自然語言的方式整理出比賽的規則(即算法的自然語言描述)——得到表示算法的流程圖。應該說,這樣的引導方式完全可以達到作者的預設目標。』 2.求一般情況下的最大值的算法 師(引導): 如果我們面對的是一堆數據,現在希望我們求出這一堆數據中的最大值該怎么辦?通過教師和學生的共同分析,把問題進一步細化為:
(1)從第一個數據開始看起;
(2)把第一個數據的值在變量中記下來;
(3)再取一個數據;
(4)比較這個數據與變量中記下的數據的值;
(5)如果這個數據的值比記下的數據的值大,則去掉變量中原來那個數據,記下新數據的值;
(6)重復執行(2)~(4),繼續比較,直到最后一個數據。
也就是說,計算機的變量始終記著當前比較過數據中的最大者(我們不妨用X 表示它),當取完最后一個數據時,X 中留下的也就是最大值了。求最大值的算法設計思想用下圖表示。
『教學在上一環節的基礎上再做進一步的深入,即擴大數據的比較范圍,討論一般的情況。由于學生已經經歷了上一環節的思考過程,因此,再次思考一般性問題的解決方案就變得容易多了,這又是另一維度的“逐步引導和訓練”,即具體到一般的過渡。這是作者對教學策略設計的準確實現。』 注意:
a.再次讓學生討論變量的意義,弄清賦值語句的意義。b.一些物理量用變量表達的意義。如X 表示最大值,X 表示輸入的一個值,且每次循環時都用同一個變量X。
c.為了控制循環結束,必須加入一個控制循環次數的計數器I,當I 達到一定的次數后,循環工作結束。
『除了對教學目標宏觀上的關注與設計之外,也注意到了教學內容細節上的把握。作者在此處提出的三點注意都是編程語言細節上的問題,應該說,這“三點注意”是作者多年或是本案例實踐過后總結的教學經驗,當然也可能是教師在教學設計時預先設想的教學問題。這些要“注意的點”正是教學實踐或設計中的精華所在,也是值得我們借鑒與學習的內容之一。』
3. 回顧小結
師生共同總結算法設計的過程,就是將大腦思維的每一步都記錄下來,并且用計算機能達到的功能來實現人解決問題的思路。
『最后帶領學生總結本節課的中心思想,即回答“算法設計的過程是怎樣的?”這一問題。使整節課有了一個明確的結論。』
第四篇:算法與程序設計
《算法與程序設計》教學中實施研究性學習探步
作者:趙濮民
摘要:研究性學習是教育科研領域中一個嶄新的課題。信息技術教學作為以培養創新精神、研究能力和實踐能力為目標取向的必修課程,它強調讓學生通過研究性學習,提出問題,收集材料,對研究性課題進行探索、分析、研究,最后基于問題解決模式,在實踐操作中培養學生科學的態度和價值觀以及創新精神、創新思維、創造能力,并學會解決生活中與信息技術學習有關的實際問題。職業學校的學生,不僅應具有獨立接受知識的能力,更應具有獨立探索知識的能力,由“研究性學習”補充原有的“接受式學習”,使學習方式更趨完善,只有當這兩種學習方式結合起來,優勢互補,才能使基礎教育適應時代對人才培養的要求。
關鍵詞:程序設計;研究性學習;求真;求全;求變;求新;優勢互補
《算法與程序設計》是職業學校信息技術教學中的一個重點,也是難點。傳統的程序設計教學以老師講授型為主,由于算法與程序設計的內容邏輯性強,普遍認為在程序設計教學中難以實施研究性學習。
研究性學習是以“培養學生具有永不滿足、追求卓越的態度,培養學生發現問題、提出問題、從而解決問題的能力”為基本目標,以學生從學習中獲得作品設計與制作方法的困惑為方向,以在提出問題和解決問題的全過程中學習到算法與程序設計為學習方法的課程。經過反復研究,我們認為研究性學習可以應用于程序設計教學中。實施研究性學習的關鍵是要確定一個目標,要鼓勵學生主動地發現問題,并且通過探究或實踐活動去試圖解決問題。在課題研究的過程中采用分組交流討論、查閱資料、協作探究、歸納總結等方式,一步步引領學生深刻掌握算法與程序設計的精髓。
一、通過研究性學習,重構算法知識體系,要求真 研究性學習是學生在老師的指導下,結合真實生活,選定主題,然后搜集相關材料,對材料進行歸納、加工處理、分析、總結,得到相應結論的學習活動。在《算法與程序設計》教學中,根據教學內容,經過反復研究,確定了研究主題《搜索算法的應用研究》和《動態規劃算法的解題應用研究》,并根據學生的自愿報名成立了兩個研究小組。然后各小組根據自己研究的算法,重新整理相應的知識,對知識進行認知、歸納、總結。如《搜索算法的應用研究》小組,對搜索算法從以下幾方面進行整理:
1、搜索算法的算法思想、分類;
2、深度優先搜索的算法思想與算法結構;
3、廣度優先搜索的算法思想與算法結構;
4、深度優先搜索的優先策略;
5、廣度優先搜索的優化策略;
6、深度優先搜索與廣度優先搜索的異同。學生通過對搜索算法知識進行整理、分類、小結,加深了對搜索算法的理性理解與感性認知。
二、通過研究性學習,同學之間取長補短,要求全
每個學生都有所長,也有所短,研究性學習一個重要的特點就是:分工合作,共同討論,共同提高,使參與的學生全面發展。我們的“搜索算法的應用研究”小組共有五個成員,根椐學生的特點、特長,對他們進行分工,每位學生研究上述其中一個問題,然后整個小組一起討論,每位學生介紹自己的研究情況、研究成果,然后其他同學進行補充,發表自己的見解,這樣每個同學都使自己的研究內容得到補充,同時也學習到了其他同學研究方面的知識,可以取長補短,共同提高,得到全面發展。
三、通過研究性學習,總結算法的應用規律,要求變
研究性學習的目的,是要求學生搜集與主題有關的資料,歸納整理相關資料,根據相關材料和知識,對主題進行研究,提出自己的觀點或結論。我們在程序設計教學中進行算法專題研究也是這樣,除要求學生歸納、整理專題算法知識外,還要總結出算法的應用規律、應用算法解題的步驟和算法的框架,能根據實際情況,隨機應變。如在“動態規劃的應用研究”中,學生總結出:動規劃是解符合“無后效性原則”的最優問題的一種算法思想;用動態規劃解題的一般步驟是:(1)判斷題目是否為求最優問題,是否符合“無后效性原則”;(2)確定如果劃分階段;(3)確定每個階段有幾種狀態;(4)找出狀態轉移方程和邊界條件;(5)用算法語言實現算法過程。又如在“搜索算法的應用研究”中,研究小組的同學總結出:(1)廣度優先搜索算法通常應用于解最少步數問題,而深度優先搜索算法則通常用來解所有路徑問題;(2)深度優先搜索和廣度優先搜索都是搜索算法,前者時間復雜度較大,而后者則占用的內存較大;(3)深度優先搜索在實現時用遞歸或用堆棧來實現,而廣度優先搜索是用隊列來實現,實現兩種算法所用的數據結構不同;(4)深度優先搜索和廣度優先搜索都是搜索算法,但兩者的算法結構有較大的不同。學生通過自己對算法應用規律的總結,對算法的應用得到升華,進一步提高算法的應用能力和程序設計能力。
四、通過研究性學習,提高分析、歸納和綜合能力,要求新
對算法的專題研究,不僅要對算法理論進行總結,算法應用的研究也是很重要的一方面,通過算法的解題應用,既提高了學生分析問題的能力,也加深了學生對算法的理解,提高了學生的算法應用能力,進而得到對學生創新能力的培養。另外,我們在算法研究過程中,要求學生透切理解算法內容,用算法語言準確描述算法,通過這種途徑,進一步加深學生對算法的理解,同時也提高了學生的算法表達能力和歸納、總結的能力。
通過對算法進行專題研究,可以進一步加深學生對算法知識的理解,也可以提高學生的算法應用能力和程序設計能力。實踐告訴我們:在整個研究過程中要注意以下幾個問題:
1、課題不宜太大。研究課題的確定是研究性學習實施過程中重要的一環,課題選擇恰當與否,直接關系到整個課題研究的成敗。在程序設計教學中進行研究性學習活動,選題要遵循下面的原則:(1)課題的范圍不宜太大;(2)有一定的應用價值;(3)結合學生的實際。一個好的開始是成功的一半,在研究性學習活動中也是如此。
2、要理論研究與算法應用相結合。對算法的專題研究,算法應用是重點。在算法知識歸納總結的基礎上,重點應研究算法應用的一般規律、算法結構、應用算法解題的一般步驟等。不應該只是對算法理論的空洞論述,否則效果不好、意義也不大。
3、充分發揮教師的引導作用、學生的主體作用。在算法研究活動中,應充分發揮教師的引導和指導作用,既不能放任自由,也不能包辦代替,要充分發揮學生的主體作用。當學生遇到問題和困難時,老師應當引導和啟發學生,讓學生去探索和研究,而不是直接告訴學生答案,老師始終是學生的引導者,學生是真正的參與者,使學生通過算法研究,加深對算法的理解,提高算法應用能力和程序設計能力。
職業學校的學生,不僅應具有獨立接受知識的能力,更應具有獨立探索知識的能力,由“研究性學習”補充原有的“接受式學習”,使學習方式更趨完善,只有當這兩種學習方式結合起來,優勢互補,才能使基礎教育適應時代對人才培養的要求。
第五篇:高中算法與程序設計教學
高中算法與程序設計教學方法初探
左權中學 張彥萍
算法與程序設計是高中信息技術選修課。本模塊強調的是通過算法與程序設計解決實際問題的方法。對于學生來說,程序設計的思維方式、方法和概念都是全新的,學生接受起來比較困難,因此必須認真研究程序設計的教學方法。我在近幾年的高中信息技術課教學過程中進行了一些研究與探索,對程序設計教學方法有了一些淺顯的認識,與大家共同探討。
一、培養學生編程的學習興趣,調動學習積極性
愛因思坦說“興趣是最好的老師”。興趣相當程度上決定了教學效果的好壞。如何培養學生學習程序設計的興趣,我認為可以從以下幾個方面入手。
1、讓學生認識到學習程序設計在提高自身素質的突出作用。講一些IT界精英的故事;社會需要提高學生未來的生存能力;自身素質提高:可以培養學生的思維品質,培養學生發現問題、思考問題和解決問題的能力;學習程序計算機教育對其他學科的影響等方面入手。
2、程序設計教學中要從學生的興趣入手,利用學生對事物的好奇心,選擇學生身邊的,學生感興趣的、有實際意義的程序,激發學生的學習興趣。比如:第一堂課講VB界面設計,可設計一個QQ登錄界面。學完選擇語句后,我設計了利用隨機函數加法練習小程序,加數和被加數隨機產生(1-100),結果自己輸入,可判斷對錯,程序結束可計算得分。例程也可以找班內學生自己編寫的程序,學生非常喜歡。
3、一定要分層次教學。文科班和理科班、尖子班教學內容難度上有所變化。一個班級布置作業時也要分層次。
4、輕入淺出,消除學生們對程序設計的畏難心理。在教學時,低起點,從一個個簡單實例出發,讓學生們從自身的實踐中感受到這個的確很簡單,從而迎合了學生渴望成功的心理特點。前兩節課千萬不能羅列過多的概念,讓學生不知東西,打擊學生的學習興趣。
二、適當調整教材結構,立足具體實例,滲透基本概念
VB程序設計概念比較多,如何讓學生較容易按受、理解是我在最初的教學中較為頭痛的問題。剛接觸程序設計的學生,對程序設計充滿了好奇,如果把一開頭還用不上的許多的控件、屬性放在前面,一下子引入大量抽象的名詞、概念,就會讓不少學生望而生畏。因此要想讓學生領會這些抽象的概念,教學中我選擇的方法是先少講控件,最多講窗體、按鈕,三個控件。結合數學課本已學的知識,先復習、鞏固、提高基本知識。從數據類型,基本運算,講到三種基本控制結構后,然后再講基本的控件。這時,控件用于程序設計的例子就可以講明白了。但是,我仍然不敢把控件的每一個屬性都細講。突出按問題需要設計界面來選用控件,以一個個鮮活的具體實例為切入點,在每個例子中適時、適量滲透一些相關的概念和知識,讓學生在做中學,在學中做,使學生在完成任務的過程中,逐漸地、很自然地去體會控件、對象、事件的概念。教學中要安排足夠的課時把這些控件的用法滲透到一個個程序實例中,由淺入深逐漸介紹,讓學生在編寫程序的過程中總結控件的用法。
三、采用啟發、引導的教學方法,培養學生的實際應用能力、設計教學的主要環節,因“材”施教與因“需”施教相結合
《VB程序設計》課程的內涵十分豐富, 涉及的知識單元和知識點很多。因此在教學過程中,不僅要培養學生程序設計的技能,還要培養學生系統分析和系統開發的技能。實施VB的教學,首先要選擇合適的教材,這樣既有利于教師設計教學過程,又有助于學生的學習。這里所講的“材”是指以教材為綱,按照教材的章節按部就班地講授,課堂教學中往往以教師講課為主,要求學生緊跟教師的思路,但是教學方法極易造成教與學的脫節,限制學生創造力的正常發揮。而“需”是緊扣教學大綱所確定的培養目標,以應用為目的,以必需夠用為尺度,打破課程界限,將相關課程的知識點加以整合,按照“實際、實用、實踐”的原則重新組織教學內容,這是VB教學方法的重要方面,也為教師在講課過程中提出了更高要求。另外,程序設計是設計與實踐并用的工作,只聽、看、讀是學不會的,只有讓學生多動腦、多動手、多實踐,通過編寫調試大量的程序,才能使學生從中理解程序設計的思想方法、積累程序調試的經驗,體會成功的喜悅。因此,在實驗環節,除了驗證型實驗外,增加了設計型實驗和綜合型實驗。為了解學生學習的具體情況,提高教學效果,授課教師要督促學生獨立完成上機實驗,以提高學生的動手能力,為學生創造性發展提供良好的條件。
2、實例教學
《VB程序設計》是一門實用性很強的課程,它既有理論又有實踐,既講方法又講動手能力。講授《VB程序設計》,像任何其他語言的程序設計一樣,教材中前幾章多數都是先介紹對象、對象的屬性、方法和事件及VB語言基礎等等一系列的在程序設計中比較抽象難懂的概念,然后才介紹程序的建立和運行。因此在教學中,可適當打破課本原有以知識的邏輯結構體系為順序組織課堂教學的方式,改用從簡單有趣的實例入手,通過讓學生觀看、模仿,在實際操作中去探究和領悟這些概念,例如,在一開始學習VB對象及對象的方法和事件的有關概念時,我設計了一個求外語、教育學平均成績的并打印平均成績的程序實例,讓學生和教師一起做,在當前打開的窗體內添加了三個命令按鈕、三個文本框和兩個標簽,設置好各對象的屬性;并分別在三個命令按鈕的單擊事件過程中添加相應代碼,按功能鍵F5運行程序。在操作的過程當中,教師開始只簡單提示學生完成程序,等學生完成任務后,教師通過設問,讓學生思考:什么是對象的方法和事件?并讓學生找出本實例中各對象的名稱、不同對象的方法和事件過程名稱,教師再適當加以歸納和小結:窗體以及添加到窗體中的控件,統稱為對象;而方法卻是VB提供的內置于對象的特殊子程序,它可以直接調用,如Print方法;而事件則是對象能夠響應和識別的動作,如單擊鼠標觸發Click事件等,同時提醒學生注意觀察在VB中方法與事件的區別。在此基礎上,再適當引導學生歸納總結出創建VB應用程序的基本步驟,及如何在界面內添加對象、設置事件等等,一切問題都迎刃而解。在講解實例時,教師當以精選出的具有代表性的程序實例,把重點放在具體實例的分析和講解上,把要學習的語法和概念融入到具體實例中來講解。
3、重視算法,抓住核心
在教學中經常存在這樣一種現象:很多學生對語法、結構等知識掌握得很好,但一旦碰到實際問題就束手無策,不知道如何用學到的知識解決實際問題,其實這是算法能力欠缺的一種表現。教師經常注重于分析每條語句的含義,卻忽略了算法描述過程的展現,造成學生知其然不知其所以然。其實,在VB中,算法設計是它的核心。如果學生掌握了良好的算法設計能力,也就掌握了釣魚的本領,無論遇到什么問題都可以很好的解決。那么在教學中可以通過多種方法培養學生的算法設計能力:(1)詳細講授常用的算法。算法有很多種,學生一般只要掌握常用的就可以滿足編寫模塊的需要。而與數據結構、軟件工程相關聯的算法則不做要求。(2)教師帶領學生多閱讀程序,分析過程,吸取他人的經驗和成熟的算法,使學生少走彎路或不走彎路。(3)開展實踐性學習,引導學生積極參與編程實踐,促進思維的飛躍,比如讓學生練習編輯班級學生檔案管理軟件等等。在這個過程中,學生親自動手解決具有一定難度的實際問題,為之設計合適的算法, 經過實踐去培養學生的創新意思、應用意識和探究能力。這些意識和能力一旦形成,就會使學生利用VB解決實際問題能力得到很快的提高。
4、培養學生綜合運用知識及自己動手的能力
程序設計課程的實踐性很強,“精講多練”是程序設計課程教學的一大特點,實驗教學在程序設計教學中起著重要的作用,學生只有通過自己編寫程序、上機調試程序,才能從中理解程序設計的思想方法、積累程序調試的經驗,體會成功的樂趣,從而激發學生的學習興趣,學生只聽不練根本達不到學習的目的。學生在完成課后習題時積極性不高,興趣不大,甚至想抄作業應付老師。只有讓學生動手編制他們感興趣的程序,學生才會有成就感,才會對課程產生興趣,學起來才會從容自如。如在學生學會編寫求1+2+?+N!=?的程序后,即引導學生設計求N!的程序,待學生設計出N!的程序后,接著又讓學生進一步設計求1!+2!+?+N!=?的程序。這種一環緊扣一環的探究式的動手實踐練習, 以發展學生探索能力為主線來組織實踐, 以培養探究性思維的方法為目標,以基本的教材為內容,使學生通過再發現的步驟進行主動實踐的過程,產生一種探索和發現的心理。因此如何讓學生綜合應用所學知識解決實際問題,提高綜合應用能力和動手操作能力,激發學習興趣也是我們需要加入課程設計的內容。課程設計時,老師要重點設計選題, 使得選題既貼近實際需要,又能夠讓學生感興趣,并且能夠運用所學知識解決問題,課程設計題目分為基本題和綜合題。基本題按教學順序設計,盡量避免涉及后續章節的知識,后續的課程設計題目盡量引用前面的課程設計內容,以便加深對前面所學知識的理解;綜合性題目是對一學期所學知識的總結和鞏固,應與實際生活或工作相關且具有一定規模,可將其分成幾個子項目,由更多的學生參與,分工合作,以期進一步鍛煉學生的動手能力,從而進一步培養學生分析問題、解決問題、研究和探索問題的能力和團隊協作精神。
四、切實落實以學生為中心,學生為主體,教師為主導的新課改思想。信息課教師絕大部分為青年教師,無論教學理論和教學經驗上都相當缺乏。特別是在程序設計內容時,自覺不自覺地還是走向了教師為主的教學模式。教師與學生缺乏互動,課堂氣氛沉悶。在課堂教學中,要鼓勵學生質疑是激發學生的主體性、培養學生思維能力和創造能力的起點。學生的主體性主要體現在學習過程中能掌握學習主動權,能夠主動、自覺、積極地學習。因此,在教學過程中特別要注意設置恰當的問題,通過啟發引導,體現教師的主導作用。集中學生的注意力,促進學生主動思考、主動探索,可以使學生在學習的過程中成為主體。總之,VB作為一門重要的編程語言,在高校的計算機基礎教學中仍然占據重要位置,教學方法在程序設計教學中的舉足輕重制約著程序設計教學的效率。科學的教學方法一定會為學生提供良好的幫助。我們在教學過程中應以學生為主體,教師為主導,采用符合學生認知規律的、科學的教學方法,充分調動學生學習的主動性,同時,采用綜合評價學生的方式,努力培養學生自主學習的興趣,提高學生實際應用能力,從而使得VB課程的教學質量得到不斷地提高