公務(wù)員期刊網(wǎng) 論文中心 正文

高中算法與程序設(shè)計教學(xué)意義及有效性

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了高中算法與程序設(shè)計教學(xué)意義及有效性范文,希望能給你帶來靈感和參考,敬請閱讀。

高中算法與程序設(shè)計教學(xué)意義及有效性

摘要:算法和程序設(shè)計教學(xué)會加深學(xué)生對計算機(jī)科學(xué)的認(rèn)識,使他們從游戲、聊天、打字、表格處理等對計算機(jī)工具作用的認(rèn)識上升到計算機(jī)科學(xué)的高度上來,對學(xué)生的編程教育起到啟蒙作用。筆者通過具體教學(xué)實(shí)例探討在課程中擴(kuò)展學(xué)生知識面、培養(yǎng)學(xué)生計算思維能力,依據(jù)高中生個人特點(diǎn)與算法程序設(shè)計教學(xué)情況,讓學(xué)生在學(xué)習(xí)信息課程的過程中進(jìn)一步提升核心素養(yǎng),進(jìn)一步提升計算思維能力。

關(guān)鍵詞:計算思維;邏輯思維;推理

算法與程序設(shè)計模塊教學(xué)旨在培養(yǎng)學(xué)生的計算思維、邏輯思維能力,培養(yǎng)學(xué)生把一個大問題分解成多個小問題,再用算法和計算機(jī)語言來解決問題的能力[1]。該模塊的教學(xué)與計算機(jī)技術(shù)的發(fā)展和社會對人才的需求密切聯(lián)系,能激發(fā)許多優(yōu)秀學(xué)生的學(xué)習(xí)興趣,啟發(fā)他們的智慧,促進(jìn)綜合素質(zhì)的提高。

一、算法和程序設(shè)計教學(xué)的意義

如今,人類社會對信息技術(shù)高度依賴,計算機(jī)科學(xué)越發(fā)重要,培養(yǎng)學(xué)生的計算思維能力成為必然。如何有效培養(yǎng)這方面的能力,成為國內(nèi)外計算機(jī)教育界與科學(xué)界關(guān)注的焦點(diǎn)。中學(xué)算法和程序設(shè)計的教學(xué)對學(xué)生的全面發(fā)展具有重要意義。

(一)算法和程序設(shè)計教學(xué)拓展了學(xué)生知識面,引領(lǐng)學(xué)生走進(jìn)信息科學(xué)的殿堂編程教育在世界各國已經(jīng)成為孩子繼閱讀、寫作、算術(shù)這三項基本能力外需要掌握的第四項必備技能。而計算思維屬于三大科學(xué)思維的范疇,是人應(yīng)該具備的重要能力之一[2],與我們的生活息息相關(guān),更關(guān)乎對學(xué)生創(chuàng)新能力的培養(yǎng)。算法與程序設(shè)計的教學(xué)會幫助學(xué)生推開一扇門,讓他們在一個0和1的世界中去創(chuàng)造和發(fā)現(xiàn),讓感興趣的學(xué)生及早步入信息科學(xué)的殿堂。算法與程序設(shè)計課程可以拓展學(xué)生的知識面,激發(fā)學(xué)生的求知欲。例如,在學(xué)生學(xué)習(xí)語言的過程中,教師要講信息的二進(jìn)制表示,在這個0和1、有和無的世界中,計算機(jī)是怎么用簡單的0和1表示五彩繽紛的信息的,還要講字符信息的編碼ASCII碼。在講進(jìn)位制或按位計數(shù)法的過程中,教師會講二進(jìn)制、十進(jìn)制、八進(jìn)制、十六進(jìn)制,讓學(xué)生知道不同位的意義。教師還可以加上不使用按位計數(shù)法的羅馬數(shù)字,用鐘表表盤上的羅馬數(shù)字來拓寬學(xué)生的知識面。I表示1,IV表示4,V表示5,X表示10,L表示50。古羅馬人已經(jīng)學(xué)會把IIIII看成一個單元V,即5來表示了。人類很早就掌握了把大問題分解成小問題來解決的方法。這是計算機(jī)算法設(shè)計的一個重要內(nèi)容,也是生活中問題求解的步驟和方法。教師可以帶領(lǐng)學(xué)生重溫人類計數(shù)的歷史和文明的演化,在網(wǎng)上搜索相關(guān)圖片并做成精美課件。學(xué)生會對此產(chǎn)生濃厚的興趣,恍然大悟:原來人類計數(shù)的歷史這么悠久和豐富多彩?,F(xiàn)在的計算機(jī)使用的二進(jìn)制,其速度和應(yīng)用的廣度都是人類計算領(lǐng)域的進(jìn)步。

(二)培養(yǎng)學(xué)生的探索精神及解決問題、自主學(xué)習(xí)的能力程序設(shè)計的步驟是分析問題、設(shè)計算法、編寫程序、調(diào)試運(yùn)行[3]。算法設(shè)計是程序設(shè)計的核心。學(xué)生要分析教師給出的問題,開動腦筋設(shè)計出解決問題的算法,最后編寫計算機(jī)程序來解決。這既培養(yǎng)了學(xué)生探索精神,又使學(xué)生的計算思維得到了啟發(fā)和鍛煉。例如,在猴子吃桃的例子中,猴子每天吃的數(shù)量是樹上桃子的一半再多1個,第十天,樹上還剩下1個桃子。那么,第一天有多少個桃子?學(xué)生要分析第九天、第八天桃子的數(shù)量,從而找出規(guī)律,找到遞推公式,設(shè)計出算法。面對兔子繁衍、漢諾塔、階乘等問題,學(xué)生也要學(xué)會把復(fù)雜的問題變成簡單的問題,把大問題變成小問題,找出規(guī)律和方法。這也是人們解決日常生活中的問題的方法和步驟。算法和程序設(shè)計教學(xué)使數(shù)學(xué)和程序設(shè)計融合在一起。算法設(shè)計離不開數(shù)學(xué),提高了學(xué)生學(xué)習(xí)數(shù)學(xué)的興趣。例如,在求最大公約數(shù)時,可用迭代法;在求素數(shù)時,可用枚舉法;在解決猴子摘桃問題時,可用倒推法;在解決排列組合問題時,可用歸納法;在數(shù)組排序問題中,可用冒泡、選擇、插入排序方法;在查找中,可用順序查找和二分法查找。學(xué)生通過學(xué)習(xí)算法和程序設(shè)計,能把數(shù)學(xué)和程序設(shè)計緊密聯(lián)系起來。學(xué)生要從問題中提煉出數(shù)學(xué)模型,設(shè)計算法、編寫程序,用計算機(jī)語言解讀,培養(yǎng)計算解題的能力,也就是計算思維的能力。在學(xué)習(xí)高級語言的過程中,感興趣的學(xué)生會迫不及待地去學(xué)習(xí)一些超前知識點(diǎn),如順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組排序等,很多都可以自學(xué)完成。例如,在遞歸函數(shù)的教學(xué)中,在求解階乘、裴波那切數(shù)列、漢諾塔等遞歸調(diào)用問題時,有的學(xué)生會自己在網(wǎng)上查找資料,深入地探究學(xué)習(xí),探索設(shè)計算法。這樣的學(xué)習(xí)和計算機(jī)編程實(shí)踐能培養(yǎng)學(xué)生自學(xué)能力和探索精神。自學(xué)能力是學(xué)生將來學(xué)習(xí)、工作和生活必備的法寶。

(三)培養(yǎng)學(xué)生嚴(yán)謹(jǐn)、細(xì)心的做事習(xí)慣在算法和程序設(shè)計教學(xué)中,學(xué)生要設(shè)計算法和編寫代碼。算法的設(shè)計要嚴(yán)謹(jǐn)、準(zhǔn)確,不能模棱兩可。在程序代碼輸入的過程中,學(xué)生難免會出現(xiàn)錯誤。每一個代碼的錯誤都會使程序無法執(zhí)行。在查找錯誤時,學(xué)生要不斷調(diào)試和完善,最終得出正確的結(jié)果。這能培養(yǎng)學(xué)生耐心、細(xì)致、嚴(yán)謹(jǐn)、有條不紊的做事習(xí)慣。計算機(jī)解決問題的步驟是嚴(yán)謹(jǐn)?shù)?,是不可以跳躍和省略的。學(xué)生可就此認(rèn)識到,計算機(jī)需要一條、一條地執(zhí)行語句。編程會培養(yǎng)學(xué)生細(xì)心的習(xí)慣。一種好的習(xí)慣會影響到各個學(xué)科的學(xué)習(xí),對學(xué)生的終身教育和發(fā)展具有促進(jìn)作用。

(四)培養(yǎng)學(xué)生計算思維能力算法和程序設(shè)計課程的教學(xué)能培養(yǎng)學(xué)生全面發(fā)展,尤其是培養(yǎng)學(xué)生的計算思維能力。計算思維能力的培養(yǎng)體現(xiàn)在學(xué)科教學(xué)的全過程中。計算思維需要學(xué)生擁有較強(qiáng)的創(chuàng)新能力。而有效培養(yǎng)學(xué)生思維能力,則是培養(yǎng)創(chuàng)新能力的最終目的。計算思維是培養(yǎng)創(chuàng)新性人才的主要目標(biāo)。這就需要教師以計算思維為中心,將其體現(xiàn)在不同課程中。目前,各個學(xué)科的發(fā)展對信息技術(shù)的依賴程度越來越高,要求學(xué)生必須具備計算思維。算法和程序設(shè)計的教學(xué)也能培養(yǎng)學(xué)生這方面的能力。

二、教學(xué)策略的選擇

算法與程序設(shè)計課程的理論與實(shí)踐是一體的,實(shí)踐性較強(qiáng),需要學(xué)生上機(jī)實(shí)踐操作,驗(yàn)證自己設(shè)計的算法和程序,理論和實(shí)踐相互促進(jìn)。在上機(jī)過程中,教師應(yīng)適時提供幫助,也可以把學(xué)得好的學(xué)生培養(yǎng)成小老師,有助于培養(yǎng)團(tuán)隊精神。將“講授、演示、練習(xí)”的傳統(tǒng)模式轉(zhuǎn)變?yōu)椤爸匾暷7?、練?xí)、創(chuàng)新”的模式,相較于發(fā)現(xiàn)與探究對策,效果明顯更好。

(一)確立發(fā)展計算思維的教學(xué)目標(biāo)教學(xué)目標(biāo)是在教學(xué)完成后,學(xué)生盡可能達(dá)到知識技能、過程方法及情感態(tài)度價值觀等方面的要求,被視為教學(xué)任務(wù)是否完成的參考依據(jù)之一,也被視為某節(jié)課的核心。教師在明確三維目標(biāo)的過程中,需要考慮的問題主要包括以下幾點(diǎn):本節(jié)課學(xué)生需要學(xué)習(xí)什么內(nèi)容?需要掌握什么技能?運(yùn)用哪種方式實(shí)現(xiàn)?學(xué)生最終需要獲取哪方面的情感體驗(yàn)?對此,教師應(yīng)將學(xué)生的計算思維能力發(fā)展編入教學(xué)過程和方法中,也列入情感態(tài)度價值觀的培養(yǎng)中。這就是學(xué)生需要在思維層面達(dá)到的目標(biāo)。教師要明確把培養(yǎng)計算思維寫入教學(xué)設(shè)計,具體到例題。

(二)細(xì)化任務(wù)模塊,發(fā)展計算思維教學(xué)目標(biāo)的具體化過程就是設(shè)定教學(xué)任務(wù)的過程。合理的教學(xué)任務(wù)往往具有較強(qiáng)的可行性和趣味性,對學(xué)生計算思維能力的培養(yǎng)有促進(jìn)作用。在算法與程序設(shè)計教學(xué)中,教師應(yīng)該明確學(xué)生要做的事情是什么,需要解決什么問題,最終要達(dá)到什么目標(biāo)。學(xué)生在收到任務(wù)后,應(yīng)該探究任務(wù)的完成步驟,在腦海中形成完成任務(wù)的思路,制定初步的實(shí)施方案。具體步驟如下:第一,分析問題,找出問題關(guān)鍵點(diǎn);第二,數(shù)據(jù)分類,對其進(jìn)行抽象處理;第三,啟發(fā)推理,用最自然的語言將預(yù)期方案表述出來;第四,創(chuàng)建相關(guān)模型或流程圖;第五,編寫程序代碼;第六,上機(jī)對數(shù)據(jù)進(jìn)行調(diào)試;第七,整理研究重點(diǎn)。教師設(shè)計任務(wù)無需十全十美,可以采取較為靈活的方式,將部分思考空間留給學(xué)生,引導(dǎo)他們主動嘗試和探究,從不同方面學(xué)會運(yùn)用各異的方法解決問題,避免思維固化。算法與程序設(shè)計是高中信息技術(shù)教育中不容忽視的一個模塊。設(shè)置本模塊是為了培養(yǎng)學(xué)生使用計算機(jī)解決問題的能力,不管是現(xiàn)在使用的VB程序設(shè)計,還是即將使用的Python語言,其目的都是為了培養(yǎng)學(xué)生的計算思維,其核心都是算法,是對計算機(jī)解決問題的過程進(jìn)行更好的闡述??傊?,該模塊的設(shè)置是時展的需要、人才培養(yǎng)的需要,對學(xué)生計算思維能力及其他方面能力的培養(yǎng)有極大的促進(jìn)作用,將是信息技術(shù)教學(xué)中的“點(diǎn)睛之筆”。

參考文獻(xiàn):

[1]劉寶仙.高中信息技術(shù)《算法與程序設(shè)計》模塊課堂教學(xué)有效性探究:與數(shù)學(xué)“算法初步”整合教學(xué)行動研究[J].海峽科學(xué),2012(2).

[2]趙倩倩.基于計算思維的高中信息技術(shù)課程有效教學(xué)策略探究:以“算法與程序設(shè)計”模塊為例[J].中國信息技術(shù)教育,2015(17).

[3]結(jié)城浩.程序員的數(shù)學(xué)[M].管杰,譯.人民郵電出版社,2012.

作者:范云春 單位:徐州市侯集高級中學(xué)