前言:想要寫出一篇引人入勝的文章?我們特意為您整理了高中算法與程序設計教學意義及有效性范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:算法和程序設計教學會加深學生對計算機科學的認識,使他們從游戲、聊天、打字、表格處理等對計算機工具作用的認識上升到計算機科學的高度上來,對學生的編程教育起到啟蒙作用。筆者通過具體教學實例探討在課程中擴展學生知識面、培養(yǎng)學生計算思維能力,依據(jù)高中生個人特點與算法和程序設計的教學情況,讓學生在學習信息課程的過程中進一步提升核心素養(yǎng),進一步提升計算思維能力。
關(guān)鍵詞:計算思維;邏輯思維;推理
算法與程序設計模塊教學旨在培養(yǎng)學生的計算思維、邏輯思維能力,培養(yǎng)學生把一個大問題分解成多個小問題,再用算法和計算機語言來解決問題的能力[1]。該模塊的教學與計算機技術(shù)的發(fā)展和社會對人才的需求密切聯(lián)系,能激發(fā)許多優(yōu)秀學生的學習興趣,啟發(fā)他們的智慧,促進綜合素質(zhì)的提高。
一、算法和程序設計教學的意義
如今,人類社會對信息技術(shù)高度依賴,計算機科學越發(fā)重要,培養(yǎng)學生的計算思維能力成為必然。如何有效培養(yǎng)這方面的能力,成為國內(nèi)外計算機教育界與科學界關(guān)注的焦點。中學算法和程序設計的教學對學生的全面發(fā)展具有重要意義。
(一)算法和程序設計教學拓展了學生知識面,引領學生走進信息科學的殿堂編程教育在世界各國已經(jīng)成為孩子繼閱讀、寫作、算術(shù)這三項基本能力外需要掌握的第四項必備技能。而計算思維屬于三大科學思維的范疇,是人應該具備的重要能力之一[2],與我們的生活息息相關(guān),更關(guān)乎對學生創(chuàng)新能力的培養(yǎng)。算法與程序設計的教學會幫助學生推開一扇門,讓他們在一個0和1的世界中去創(chuàng)造和發(fā)現(xiàn),讓感興趣的學生及早步入信息科學的殿堂。算法與程序設計課程可以拓展學生的知識面,激發(fā)學生的求知欲。例如,在學生學習語言的過程中,教師要講信息的二進制表示,在這個0和1、有和無的世界中,計算機是怎么用簡單的0和1表示五彩繽紛的信息的,還要講字符信息的編碼ASCII碼。在講進位制或按位計數(shù)法的過程中,教師會講二進制、十進制、八進制、十六進制,讓學生知道不同位的意義。教師還可以加上不使用按位計數(shù)法的羅馬數(shù)字,用鐘表表盤上的羅馬數(shù)字來拓寬學生的知識面。I表示1,IV表示4,V表示5,X表示10,L表示50。古羅馬人已經(jīng)學會把IIIII看成一個單元V,即5來表示了。人類很早就掌握了把大問題分解成小問題來解決的方法。這是計算機算法設計的一個重要內(nèi)容,也是生活中問題求解的步驟和方法。教師可以帶領學生重溫人類計數(shù)的歷史和文明的演化,在網(wǎng)上搜索相關(guān)圖片并做成精美課件。學生會對此產(chǎn)生濃厚的興趣,恍然大悟:原來人類計數(shù)的歷史這么悠久和豐富多彩。現(xiàn)在的計算機使用的二進制,其速度和應用的廣度都是人類計算領域的進步。
(二)培養(yǎng)學生的探索精神及解決問題、自主學習的能力程序設計的步驟是分析問題、設計算法、編寫程序、調(diào)試運行[3]。算法設計是程序設計的核心。學生要分析教師給出的問題,開動腦筋設計出解決問題的算法,最后編寫計算機程序來解決。這既培養(yǎng)了學生探索精神,又使學生的計算思維得到了啟發(fā)和鍛煉。例如,在猴子吃桃的例子中,猴子每天吃的數(shù)量是樹上桃子的一半再多1個,第十天,樹上還剩下1個桃子。那么,第一天有多少個桃子?學生要分析第九天、第八天桃子的數(shù)量,從而找出規(guī)律,找到遞推公式,設計出算法。面對兔子繁衍、漢諾塔、階乘等問題,學生也要學會把復雜的問題變成簡單的問題,把大問題變成小問題,找出規(guī)律和方法。這也是人們解決日常生活中的問題的方法和步驟。算法和程序設計教學使數(shù)學和程序設計融合在一起。算法設計離不開數(shù)學,提高了學生學習數(shù)學的興趣。例如,在求最大公約數(shù)時,可用迭代法;在求素數(shù)時,可用枚舉法;在解決猴子摘桃問題時,可用倒推法;在解決排列組合問題時,可用歸納法;在數(shù)組排序問題中,可用冒泡、選擇、插入排序方法;在查找中,可用順序查找和二分法查找。學生通過學習算法和程序設計,能把數(shù)學和程序設計緊密聯(lián)系起來。學生要從問題中提煉出數(shù)學模型,設計算法、編寫程序,用計算機語言解讀,培養(yǎng)計算解題的能力,也就是計算思維的能力。在學習高級語言的過程中,感興趣的學生會迫不及待地去學習一些超前知識點,如順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組排序等,很多都可以自學完成。例如,在遞歸函數(shù)的教學中,在求解階乘、裴波那切數(shù)列、漢諾塔等遞歸調(diào)用問題時,有的學生會自己在網(wǎng)上查找資料,深入地探究學習,探索設計算法。這樣的學習和計算機編程實踐能培養(yǎng)學生自學能力和探索精神。自學能力是學生將來學習、工作和生活必備的法寶。
(三)培養(yǎng)學生嚴謹、細心的做事習慣在算法和程序設計教學中,學生要設計算法和編寫代碼。算法的設計要嚴謹、準確,不能模棱兩可。在程序代碼輸入的過程中,學生難免會出現(xiàn)錯誤。每一個代碼的錯誤都會使程序無法執(zhí)行。在查找錯誤時,學生要不斷調(diào)試和完善,最終得出正確的結(jié)果。這能培養(yǎng)學生耐心、細致、嚴謹、有條不紊的做事習慣。計算機解決問題的步驟是嚴謹?shù)?,是不可以跳躍和省略的。學生可就此認識到,計算機需要一條、一條地執(zhí)行語句。編程會培養(yǎng)學生細心的習慣。一種好的習慣會影響到各個學科的學習,對學生的終身教育和發(fā)展具有促進作用。
(四)培養(yǎng)學生計算思維能力算法和程序設計課程的教學能培養(yǎng)學生全面發(fā)展,尤其是培養(yǎng)學生的計算思維能力。計算思維能力的培養(yǎng)體現(xiàn)在學科教學的全過程中。計算思維需要學生擁有較強的創(chuàng)新能力。而有效培養(yǎng)學生思維能力,則是培養(yǎng)創(chuàng)新能力的最終目的。計算思維是培養(yǎng)創(chuàng)新性人才的主要目標。這就需要教師以計算思維為中心,將其體現(xiàn)在不同課程中。目前,各個學科的發(fā)展對信息技術(shù)的依賴程度越來越高,要求學生必須具備計算思維。算法和程序設計的教學也能培養(yǎng)學生這方面的能力。
二、教學策略的選擇
算法與程序設計課程的理論與實踐是一體的,實踐性較強,需要學生上機實踐操作,驗證自己設計的算法和程序,理論和實踐相互促進。在上機過程中,教師應適時提供幫助,也可以把學得好的學生培養(yǎng)成小老師,有助于培養(yǎng)團隊精神。將“講授、演示、練習”的傳統(tǒng)模式轉(zhuǎn)變?yōu)椤爸匾暷7?、練習、?chuàng)新”的模式,相較于發(fā)現(xiàn)與探究對策,效果明顯更好。
(一)確立發(fā)展計算思維的教學目標教學目標是在教學完成后,學生盡可能達到知識技能、過程方法及情感態(tài)度價值觀等方面的要求,被視為教學任務是否完成的參考依據(jù)之一,也被視為某節(jié)課的核心。教師在明確三維目標的過程中,需要考慮的問題主要包括以下幾點:本節(jié)課學生需要學習什么內(nèi)容?需要掌握什么技能?運用哪種方式實現(xiàn)?學生最終需要獲取哪方面的情感體驗?對此,教師應將學生的計算思維能力發(fā)展編入教學過程和方法中,也列入情感態(tài)度價值觀的培養(yǎng)中。這就是學生需要在思維層面達到的目標。教師要明確把培養(yǎng)計算思維寫入教學設計,具體到例題。
(二)細化任務模塊,發(fā)展計算思維教學目標的具體化過程就是設定教學任務的過程。合理的教學任務往往具有較強的可行性和趣味性,對學生計算思維能力的培養(yǎng)有促進作用。在算法與程序設計教學中,教師應該明確學生要做的事情是什么,需要解決什么問題,最終要達到什么目標。學生在收到任務后,應該探究任務的完成步驟,在腦海中形成完成任務的思路,制定初步的實施方案。具體步驟如下:第一,分析問題,找出問題關(guān)鍵點;第二,數(shù)據(jù)分類,對其進行抽象處理;第三,啟發(fā)推理,用最自然的語言將預期方案表述出來;第四,創(chuàng)建相關(guān)模型或流程圖;第五,編寫程序代碼;第六,上機對數(shù)據(jù)進行調(diào)試;第七,整理研究重點。教師設計任務無需十全十美,可以采取較為靈活的方式,將部分思考空間留給學生,引導他們主動嘗試和探究,從不同方面學會運用各異的方法解決問題,避免思維固化。算法與程序設計是高中信息技術(shù)教育中不容忽視的一個模塊。設置本模塊是為了培養(yǎng)學生使用計算機解決問題的能力,不管是現(xiàn)在使用的VB程序設計,還是即將使用的Python語言,其目的都是為了培養(yǎng)學生的計算思維,其核心都是算法,是對計算機解決問題的過程進行更好的闡述??傊撃K的設置是時展的需要、人才培養(yǎng)的需要,對學生計算思維能力及其他方面能力的培養(yǎng)有極大的促進作用,將是信息技術(shù)教學中的“點睛之筆”。
參考文獻:
[1]劉寶仙.高中信息技術(shù)《算法與程序設計》模塊課堂教學有效性探究:與數(shù)學“算法初步”整合教學行動研究[J].海峽科學,2012(2).
[2]趙倩倩.基于計算思維的高中信息技術(shù)課程有效教學策略探究:以“算法與程序設計”模塊為例[J].中國信息技術(shù)教育,2015(17).
[3]結(jié)城浩.程序員的數(shù)學[M].管杰,譯.人民郵電出版社,2012.
作者:范云春 單位:徐州市侯集高級中學