俞詠梅
近日,國務院出臺了《新一代人工智能發展規劃》,要求在中小學階段設置人工智能相關課程、逐步推廣編程教育,鼓勵進行形式多樣的人工智能科普創作。這就意味著學校的課程結構、信息科技學科師資配備以及硬件設備配置都要有所調整??紤]到此次國務院重點提出要推廣編程教育,預計會有更多地區高考將涉及編程科目。
程序設計教學是信息科技課程的核心和靈魂,最能體現和提升學生的思維品質,提升學生的信息處理能力。用計算機解決任何問題都必須運用算法和程序設計。程序設計與算法現在已成為高中新課程的一個重要的教學內容,但對學生而言,程序設計具有很強的抽象性。程序設計能力的提升,重點在于對算法概念的理解,對算法思想的感受,教學的難點在于算法的創新思維能力的提升。
一、編程教育的重要性
1.時代發展的需要
隨著信息技術和人工智能的發展,越來越多行業的工作都離不開編程。美國前總統奧巴馬就呼吁:“如果我們想讓美國保持領先地位,就需要年輕一代的美國人掌握這種(編程)工具和技術,它將改變我們所有的做事方式?!笨梢妼W好編程,能使自己擁有一項重要的謀生技能。
2.思維能力的培養
學習編程可以培養學生思考問題和解決問題的能力,邏輯思維、抽象思維和計算思維都可以在學習編程的過程中得到鍛煉和提升。
二、編程教育的實施探索
1.通過程序設計培養學生的學習興趣
程序設計與其它應用程序相比,它要求學生具有一定的數學基礎,但是純數學的內容學生又容易感到厭倦,所以教師一開始就要注意對學生學習興趣的培養。程序設計的題目盡量要貼近學生的生活實際,如水電煤電話帳單的計算、銀行存錢的利息計算、校運會的成績統計等,教師要積極展示程序設計的“新奇”,以此來激發學生的興趣??梢酝ㄟ^程序設計的方式來演示一些趣味的內容,如用VB程序來設計自動電子鐘和模擬路口紅綠燈的演示,或通過幾句發音語句來完成一首熟悉的歌,充分激發學生的學習興趣,引導其去研究,去實踐,去創新。使學生覺得編寫程序可以解決實際問題,慢慢培養起學習興趣,另外在布置練習時,也要注意題目的難度,不要在起步階段就布置高難度的題目,使學生望而生畏,失去學習的積極性。
2.程序設計要重視學生基礎知識的學習
在學習算法和程序設計時,應該強調基礎知識的學習,因為對于計算機語言中的每一個語句,如果不知道它的格式和作用,那么也就談不上如何應用它。如在講授賦值語句時,一定要講清賦值號和等于號的區別。在講授算術表達式時,講清算術表達式的書寫格式要規范,分清算術運算符的優先級。
在掌握各語句的同時,加強對程序結構的領會。程序的結構有順序結構、分支結構和循環結構,弄清程序結構,對于編寫程序能起到一個很好的作用。否則,編寫出來的程序思路混亂,影響程序的可讀性和執行效率。所以在教學上,對于每一種程序結構,都要求學生能熟練掌握,在編寫程序時靈活運用。在開始編寫程序時,必須要求學生先畫流程圖,再寫程序,這樣有利于學生編寫出結構清晰的程序。
3.通過上機操作提高學生的動手能力
上機操作是計算機學科的一個基礎組成,在整個教學中占有重要地位。程序設計教學不能僅僅傳授計算機知識,更重要的是引導學生通過嘗試性操作,培養其程序設計能力和水平,從而培養學生的思維能力、分析能力、探究能力以及創新能力。所以,教師要讓學生親身體驗程序設計的“魅力”,“駕駛”計算機編制一些簡單程序,掌握一些簡單程序設計技巧,然后逐漸加深難度,提高操作技能和編程技巧。
指導學生上機操作編程時,除了讓學生完成作業外,還需引導學生掌握正確的思維規律,通過上機實踐檢驗自己的思維是否正確,經過實踐認識,從而使學生的思維活動日趨完善,動手實踐能力和探究能力也得到進一步加強。
4.運用算法設計加強學生解題方法的訓練
在算法和程序設計教學中,許多問題可以用多種方法來解決,在學生用一種方法解決后,要求學生看看能否用其他方法來解決。
5.通過問題解決活動提升學生的創新思維能力
程序要達到什么效果,全靠程序設計者的設計。每編寫一個程序,學生都要自己構思創造。而學習應用軟件,學生唯一的任務就是了解軟件的功能,按照軟件設計者的思路學習。現代社會需要的是具有創新精神和實踐能力的人才,所以在課堂上就應該鼓勵學生創新,給學生發揮創新想象的空間。
開展問題解決活動,讓學生自己去尋找問題,自己去解決問題。在編程過程中,學生可以思考怎樣安排結構、怎樣提高程序執行的效率等,這些都是對人的思維能力的鍛煉,對學習其他學科也會有很大的幫助。
三、信息科技教師面臨的問題與解決的策略
1.如何進一步激發學生的興趣
學生對編程感興趣,自然會認真學習,當然,有些初學者感到程序設計枯燥難學,其實,每個人在初學編程時可能都會有這樣一個階段,只要經過一個過渡期,在繼續學習一段時間后,掌握了編程的方法和技巧,自己有了獨立編寫程序的能力,就會把編程當成一件樂事了。
程序設計課對信息科技教師提出了很高的要求,許多信息科技教師因為學生的計算機基礎不同,覺得程序設計課程不好講,其實學習程序設計可以調動學生的學習積極性。一個程序可能有多種設計思想,基本的編程方法讓學生掌握后,對于一些學有余力的學生,可以盡可能找出最優的解決方法,教師可以告訴學生一些基本的編程思路,讓學生自己去探索。對于學生在程序調試過程中出現的問題,要盡量讓學生自己找出錯誤的原因,同時要講究教學藝術,對學生的新思路、新方法給予表揚,從而激發學生的學習興趣。在程序設計方面有潛力的學生,也許將來就是我們國家計算機領域的棟梁。
2.如何進一步提升學生的能力
培養學生的程序設計能力是新課改的目標之一,也是對信息科技教師提出的挑戰,是對傳統教學和傳統教師的考驗。教師們只要在教學中努力學習,并在平常的教學實踐中加強“問題解決”教學方法的探索,讓學生在“提出問題并解決問題”的學習過程中提高自己的程序設計水平。