郭華
《算法與程序設計》作為高中信息技術選修課,長期以來一直是高中信息技術教學的重點和難點。程序設計與數(shù)學學科存在千絲萬縷的聯(lián)系,但它又不單是有數(shù)學知識就能掌握的,如何在教學中因材施教、激發(fā)學生興趣、 指導學生學習是程序設計教學的首要問題。
一、程序設計教學中存在的 普遍問題
1、內(nèi)容多,時間緊,教學目標不能很好地完成。《算法與程序設計》 模塊中基本上涵蓋了程序設計中用到的所有知識,有大量的數(shù)據(jù)、語句以及 其它的過程和函數(shù),這些理論知識學生都必須掌握并能在python中熟練應用, 這就需要老師詳細地講解,學生在課堂上做大量的練習。書本上還包括幾種 典型的算法、程序設計思想和項目實踐,雖然這部分只要求學生初步掌握, 但是教師要一步一步講透徹,否則學生難以理解。一個完整的算法講解、編 寫最少需一兩節(jié)課的時間,而要讓多數(shù)學生真正能自主編寫,甚至需要投入 更多時間。但是一般信息技術課程每周才一節(jié)課,再除掉其他假期,真正 可以上課的時間不多,要學生全面理解算法并會編程真是很難。
2、學生基礎參差不齊,存在“吃不飽”和“吃不了”的現(xiàn)象?!端惴?與程序設計》模塊教學方式與學生基礎密切相關。由于各學校的經(jīng)濟條件、 師資力量等因素,高一新生計算機基礎相差較大,這給組織教學帶來了很大 的困難。如果教學起點過低,必然會使程度較好的學生受到影響;若起點太 高,教學就只能為少數(shù)優(yōu)秀學生服務,這會挫傷大多數(shù)學生的學習積極性, 導致差生越來越差,降低整體教學質(zhì)量。長期以來,教師在布置上機實驗時 總是全班統(tǒng)一要求,忽視了學生之間存在的個別差異。統(tǒng)一的實驗內(nèi)容、實 驗形式及實驗難度不能適應每個學生的實際情況,讓有差異的學生做無差異的實驗內(nèi)容,勢必會造成“吃不飽”和“吃不了”的現(xiàn)象。這樣的“統(tǒng) 一”,遏制了學生學習能力的發(fā)展。
3、學生對傳統(tǒng)的課堂講練教學有厭倦感。高中信息技術課基本上都是 在多媒體網(wǎng)絡教室進行,所以學生潛意識中就認為信息技術課上課方式應該 與其他科目不同。但事實上程序設計這門課基本上都是采用傳統(tǒng)的教師先講 后演示、學生先聽后編程的方式,學生在聽或者看的過程中往往注意力不集 中,到實踐編程時又無從下手。而由于高考的壓力,在課外基本上是不看課 本的,再加之學校普遍存在信息技術課時不足的問題,等到下節(jié)課再來上課 的時候學生更是忘得一塌糊涂,形成惡性循環(huán),最終導致學生對信息技術課 產(chǎn)生抵觸心理。
二、教學方法實踐探索
1、合理安排課程,尋找學科間整合。 算法初步是高中新課程數(shù)學科目中的一項新增內(nèi)容,在高一第二學期學 習。《算法與程序設計》模塊與數(shù)學課程算法初步部分內(nèi)容相銜接,因此將 選修模塊安排在高中一年級第二學期或以后開設。信息技術教師可以從同學 們在數(shù)學課上已經(jīng)熟悉的知識點入手,進行算法的講解,讓同學們對已有知 識有更深一步的了解,達到事半功倍的效果;甚至可以和數(shù)學教師溝通,合 理安排教學進度,做好數(shù)學與信息技術的整合。
2、采用分層策略設計教學 任務。分層教學承認學生的差異,符合教學中的可接受原則和因材施教的原 則。分級教學面向全體學生,使教學適合每個學生的發(fā)展需要和實際水平, 這也符合學生的心理要求,能激發(fā)他們學習的自信和興趣,提高他們的學習 主動性和積極性。為了使學生樂于編程并學有所得,教師在設置教學任務 時,應改變以往硬性規(guī)定、呆板單一的做法,可將任務分為必做任務和自主
任務兩個層次。必做任務一般為基礎問題,主要用于基礎知識和基本技能的 訓練,一般每個同學都基本能夠完成,所以要求每個同學必須完成。自主任 務則是課堂相關知識的拓展延伸或創(chuàng)新,每個同學可視自己的學習基礎量力 而為,自主選擇是否完成或者完成多少。
3、打破課本原有的知識結構體系?!端惴ㄅc程序設計》教材的安排基 本是按照“先理論后實踐,先語句再程序”的順序,這就容易導致教師在上 課時先講基礎理論部分,像算法的概念、流程圖的畫法,再講具體的算法程 序。由于大多數(shù)學生以前沒有接觸算法,使得他們學習很茫然,不知道學這 些理論有什么用,從而喪失學習興趣。我們可以改變這種體系,從程序設計 學習一開始就讓學生接觸功能簡單、結構清晰的程序,以建立對程序和語句 的整體概念,體會各種語句的格式功能,了解語言的有關規(guī)定,理解計算機 解決問題的一般過程。
4、增強課堂教學藝術,提升學生興趣,以競賽、活動帶動信息技術課 程的學習。算法教學最好通過實驗,在解決具體問題的過程中學習一些基本 的邏輯結構,并且盡可能地上機嘗試。選取教學案例時要盡可能做到:①貼 近生活,或者數(shù)學課本上的一些典型例題;②要有趣味性,如一個故事、一 段相聲、一則奇聞等等;③問題本身要簡單,但要包含要學習的算法思想。
5、創(chuàng)建開放式的網(wǎng)絡教學模式,培養(yǎng)學生的自主探究能力。高效學習 必須是主動的學習。如何能讓學生主動地學習編程呢?我們要把學習的主動 權交給學生,以一種開放的方式誘發(fā)學生的學習欲望,提高學生的自主學習 興趣,輔助課堂教學構建高質(zhì)量、有價值的多媒體網(wǎng)絡教學資源,培養(yǎng)學生 在網(wǎng)絡環(huán)境下進行高效率的互助學習。
《算法與程序設計》模塊在教學實踐中,我努力做到轉變教育觀念,重視學生的發(fā)展性和主體性,采用正確的方法和策 略,從根本上提高學生學習的積極性和主動性。在課堂教學的轉變中,學生的學習興趣和學習責任感日益增強,即使基礎不好的學生也對程序設計有 獨特的興趣。算法和程序設計教學會加深學生對計算機科學的認識,使他們從游戲、聊天、打字、表格處理等對計算機工具作用的認識上升到計算機科學的高度上來,對學生的編程教育起到啟蒙作用。通過教學實例探討在課程中擴展學生知識面、培養(yǎng)學生計算思維能力,依據(jù)高中生個人特點與算法和程序設計的教學情況,讓學生在學習課程的過程中進一步提升核心素養(yǎng),進一步提升計算思維能力。