算法與程序設計是高中信息技術課程體系的重要選修模塊,同時也是一門具有嚴謹性、抽象性、邏輯性和程序化的學科,是高中信息技術教學的重點和難點之一。
最近幾年,隨著新課改的不斷向前推進,高中教學領域將現(xiàn)代信息技術納入整個課程體系中,大多數(shù)高中更加注重學生的信息素養(yǎng)培養(yǎng)。算法與程序設計作為高中信息技術的重要選修課程,其在教學方面存在一定的問題,由于整個課程內容本身比較抽象、枯燥且邏輯思維相對較強,對于初學者來說理解難度較大。同時,教師還要對學生所求解的問題進行進一步的算法分析。信息技術教師應該把握算法與程序設計課程的教學本質,在新課改背景之下轉變傳統(tǒng)的教學思路和教學方法,加速建立健全教學制度,制訂相關教學計劃,使學生可以充分地融入課程體系之中,更好地理解理論知識,應用理論知識,培養(yǎng)學生的邏輯思維能力,保證他們能運用現(xiàn)代信息技術更好地解決現(xiàn)實問題[1]。
一、當前算法與程序設計教學面臨的幾個問題
(一)教學內容把握不準確
當前很多高中信息技術教師在開展算法與程序設計教學中對教材的重點語句進行了剖析,但缺乏關于算法核心的編程教學內容。在算法與程序設計教學中,整個教學體系當中首先會給出一般的語法模式,然后教師會對這些語法模式進行重點講解,之后再給出具體例子。教師在課堂教學中偏重于舉一反三地使用語法語句開展深入教學,而不是將語法教學與算法教學有效結合構建算法思想。由于教學內容與學生的實際生活聯(lián)系不大,因此其無法激發(fā)學生的學習興趣,加之學生對編程的了解非常有限,導致學生不知道如何去編寫程序,尤其是在解決實際問題時,不知道用編程的手段來解決問題,產(chǎn)生無從下手的情況。
(二)課堂教學模式固化,跟進教學理念
近些年,隨著新課程教學改革的不斷向前推進,現(xiàn)代化的教學理念、教學方法在各個學科得以有效推廣和應用,但在高中信息技術課程當中,一些信息技術教師沒有跟進新的教學理念。高中信息技術屬于選修課,所以一些信息技術教師認為這門課并不重要,他們對信息化教學的整體結構認知不到位,教學中也不能結合新課改的現(xiàn)實需要對其進行改革,始終采用傳統(tǒng)的教育方式,這些都不利于教學效率的提高。
在課堂教學時,一些教師仍然固守著傳統(tǒng)的、以教師為中心的教育方式,普遍采用先講后編或者先聽后編的方式,導致學生參與學習的積極性不足,產(chǎn)生厭倦心理。教師和學生互動過程中,也缺少行之有效的方式,因此不能幫助學生獲得更多的知識和有效的學習方法,這也間接影響了學生對算法與程序設計課程的學習興趣。
因此,教師要從信息技術這門學科核心素養(yǎng)出發(fā),把握其教學目標。算法與程序設計的重點在于“設計”,算法與程序的設計強調邏輯的嚴謹性、高效性,教學過程中不能把程序當成設計,也不能把算法當成設計。
(三)業(yè)務知識、能力欠缺,警惕教學誤區(qū)
對于初學者來講,算法與程序設計課程是一門邏輯性和抽象性相對較強的課程。學生學習信息技術的起點低,知識面窄,對算法、程序、設計的概念缺少很好的理解,而部分教師也并不能很好地區(qū)分它們的不同之處,這就需要提升信息技術教師的業(yè)務能力,結合教學的實際情況對算法與程序設計展開教學。
教學中,教師要先理解概念。算法不等于程序,算法可以用文字表達,可以用圖形表達,也可以用IE流程圖表達等。算法是一種思想,是一種邏輯結構,是用以解決問題的方法。程序是算法的一種表達方式,也可以用數(shù)學的方式、實踐的方式去表達。程序不是唯一的表達方式。而算法與程序設計,說的是如何找到一種解決實際需求的算法,最后用程序的方式來表達的一種過程。
同時,教師要擺脫教學誤區(qū)。在操作或者解決實際問題時,語法錯誤或者邏輯錯誤是十分常見的,但教師在教學本模塊內容時,不能把重心放在這個地方。教師需要提醒學生及時進行自我改正,培養(yǎng)其發(fā)現(xiàn)錯誤的能力。教師也不能陷入語法教學的誤區(qū),要把重心放在培養(yǎng)學生的整體設計思維和教學設計上,要思考如何引導學生形成解決問題的信息思維。
二、算法與程序設計教學方法
(一)構建聯(lián)想教學模式,重新構建知識結構
高中信息技術課程當中的算法與程序設計是按照理論、實踐語句和程序的順序安排的,通常情況下教師在課堂上往往會講解本節(jié)課所涉及的理論知識,包括算法的概念、算法的描述方法、流程圖、畫法等,然后再講解具體的算法操作程序[2]。但由于很多高中生在初中階段并沒有接觸過算法與程序設計的相關內容,學習新知識的難度相對較大,很容易喪失學習興趣,所以要求教師在教學過程中必須改變傳統(tǒng)的教學管理方式,采用聯(lián)想教學方法,以更好地加深學生對知識點的理解。所謂的聯(lián)想教學方法,就是在教學過程中讓學生根據(jù)已有的信息技術知識開展針對性的聯(lián)想,激發(fā)學生的邏輯思維,以此來提高課堂教學效率。
例如,在進行計算機解決問題步驟分析時,教師可以利用之前所學習的程序設計語言來進行進一步的算法描繪教學,運用VB語言來編寫程序,讓學生進行觀摩,并綜合運用之前所學數(shù)學知識初步判定程序代碼的運用是否合理。最后讓學生自行總結解決問題的過程,并用文字或圖形表示出來。學生總結的過程,實際上就是設計的過程;學生思考的過程,就是信息思維的培養(yǎng)過程。通過聯(lián)想教學,學生能夠將前后所學知識進行有效的串聯(lián),加快構建完善的知識體系,提升學習興趣和學習效率。
(二)注重實踐教學,提高學習效率
算法與程序設計雖然具有較強的邏輯性和理論性,但是其更加具有實踐性,通過實踐操作,能夠讓學生將課堂上學習到的理論知識綜合應用到解決問題的過程中。課堂上教師的講解和示范操作是學生掌握新知識的一種主要方式。隨著新的教育理念以及教學方法的不斷完善,傳統(tǒng)的教學方式已經(jīng)不能適應課程教學的實際需求,這就需要教師在理論教學的基礎上融入更多的實踐教學內容,以鍛煉學生解決問題的能力。實踐教學是鞏固和檢驗理論知識的重要學習方式和有效途徑。通過理論知識的學習,學生能夠初步掌握基本的算法和程序設計的相關知識。在這個基礎上,教師可以為學生提供相應的設計練習習題,以此檢驗學生所學習知識的扎實性以及是否能夠應用理論知識來解決實際問題[3]。在實踐操作過程中,知識是基礎導向,知識的應用是教育教學的重要目標。
很多教師在完成一個章節(jié)知識點的教學之后,往往會急于開啟下一章節(jié)知識的學習,這容易忽視學生對學習內容的掌握程度。所以在實際教學期間,教師不能急于開展新內容的學習,要引導學生對前面所學習的內容進行進一步的鞏固訓練,通過練習題加深學生對知識的理解和認知。只有打好基礎,學生的學習效率才會更高。例如,在進行選擇結構學習時,教師可以為學生創(chuàng)造一個良好的學習環(huán)境,更好地引領學生進入課堂。教師在課堂教學中可以運用實際案例引導學生進入課堂學習。
例如,怎樣查找出第一宇宙速度,如何實現(xiàn)通過輸入飛船速度來讓程序判定飛船是否能夠進入深空,并給出具體的流程圖。教師和學生一起討論并畫出運行流程圖。通過具體的事例,教師能夠引導學生更好地歸納相關知識,同時給出例句,和學生一起分析每一個例句表達的含義,歸納出IF語句格式。為了檢測學生的整體學習成效,教師可以給出判定飛船是否能夠升空的VB程序半成品,讓學生對半成品進行進一步的編程處理,及時發(fā)現(xiàn)其中的問題并形成完善的程序。在實際操作過程中,教師可以根據(jù)學生對IF語句格式和VB程序的設計掌握情況進行相應的調整。
在實踐中,學生能夠將課堂上所學習的知識轉化成操作技能,加強對選擇結構的了解。這樣學生能更好地理解課堂上學習到的編程知識,也能夠切切實實地感受到信息技術對我們生活的改變。
(三)利用游戲教學提升學習興趣
游戲化的教學方式是提高課堂教學主動性、提高教學效果、激發(fā)學生學習熱情的一個主要途徑。采用游戲的形式開展教學時,通過教師與學生、學生與學生之間的游戲互動,可以使學生更好地了解有關算法和編程的知識,從而達到信息技術教學的目的。有條件的學校在算法教學中可以利用實驗的手段來解決實際問題,以達到實踐訓練的目的[4]。算法與程序設計是一門實踐性和操作性相對較強的課程,兼具理論性和抽象性,所以教學過程中要盡可能讓每一名學生都能夠上機操作。教師在選取教學案例時一定要保證所選擇的內容能夠更好地貼近學生的生活,便于學生理解和記憶。所選擇的案例本身兼具趣味性和引導性,這樣才能夠吸引學生的關注,激發(fā)學生的探求心理和探知欲望。
在傳統(tǒng)教學模式下,很多學生對算法與程序設計存在畏難情緒和恐懼心理,覺得課本上的知識過于枯燥、過于抽象,難以理解。而游戲教學法對學生克服恐懼心理有很大的幫助,它可以讓學生的邏輯思考、發(fā)散性思維得到更深層次的刺激,讓學生在學習信息技術過程中自信和熱情得到提升,同時還可以讓他們的交流能力得到提高。比如,在進行算法和算法描述的教學時,教師可以使用一些有趣的智慧題來激發(fā)學生對問題的興趣。
如可以利用羊和狼過河的故事,讓學生在課堂上進行有效的探討。有學生會提出先讓人、羊過河,之后留下羊,人返回,再讓人、狼過河。不同的學生會給出不同的過河方案。游戲教學法能夠引導學生在課堂上進行更多的思考,更好地總結算法的概念、算法設計以及如何進行計算。最后,教師可以對課堂內容進行針對性的評價。游戲的方式可以讓學生對問題展開針對性的討論,這樣可以調動學生的學習熱情,讓他們快速地進入學習狀態(tài)中。
(四)分層教學凸顯教學作用
高中階段的學生受到學習基礎、自學能力、學習背景等諸多因素的影響,因此,在開展算法與程序設計教學中,教師必須因材施教。分層教學就是一種以學生為導向的教育思想,它根據(jù)學生的能力、智力水平、現(xiàn)有的知識程度,將學生劃分成若干小組,并實施不同的教學方案。分層教學能夠更好地解決學生關于信息技術學習的個體差異。在進行分層教學時,教師要充分考量不同學生之間的個體差異,制訂不同的教學方法和學習目標,改變過去單一、呆板的任務布置方法,將任務分為必做任務和選做任務,讓學生根據(jù)自己的學習能力選擇完成。開展分層教學,既能夠提高教學效率,保證學生更加主動地融入課堂教學中,還能夠促進學生的個性發(fā)展。
三、結語
在算法與程序設計教學中,教師要提高自身的專業(yè)素養(yǎng),改變傳統(tǒng)灌輸式的理論教學方式,制訂行之有效的教學計劃,從整體認識的結構上規(guī)劃,以培養(yǎng)學生信息思維為目標進行教學設計。這樣不但可以在某種意義上提升算法與程序設計的教學效率,而且可以激發(fā)學生對這一課程的興趣,所以,中學信息技術教師要運用多種途徑、多種方式探索新的教學思想、新的教學方式來適應新的課程標準要求,給算法與程序設計這一課程的教學帶來新的生機、新的思維,最終實現(xiàn)對學生信息素質的全面提升。
參考文獻:
[1]李天巨.如何在“算法與程序設計”教學中培養(yǎng)計算思維[J].實驗教學與儀器,2019,36(10):42-43.
[2]李寶華.基于核心概念的單元整體教學設計策略:以“算法與程序設計”為例[J].中國信息技術教育,2022(16):33-35.
[3]魏亞茜.項目式學習在高中信息技術“算法與程序設計”中的實踐研究[D].牡丹江:牡丹江師范學院,2022.
[4]詹建兵.計算思維視野下算法與程序設計題的學生解題能力培養(yǎng)[J].中國信息技術教育,2021(1):59-61.
(作者單位:凱里實驗高級中學)
編輯:常超波