【摘要】國家規(guī)定實施全民智能教育項目,在中小學階段設(shè)置人工智能相關(guān)課程。小學信息技術(shù)課程的拓展教學是一個很好的平臺,編程離不開數(shù)學原理的支持。在小學程序教學的啟蒙階段,利用孩子已有的知識建構(gòu)算法模型,將復雜的數(shù)學邏輯問題在計算機上用程序來解決,使冰冷的程序代碼變得有活力和生命力,讓孩子們輕松愉快地學習。
【關(guān)鍵詞】Pascal;程序設(shè)計;算法;拓展課程;整合
信息技術(shù)課是小學生的一門拓展課程,在小學六年級開始涉及Scratch趣味編程。國務(wù)院《新一代人工智能發(fā)展規(guī)劃》 〔2017〕35號中提到,要開發(fā)基于大數(shù)據(jù)智能的在線學習教育平臺,還提出要完善人工智能領(lǐng)域?qū)W科布局,設(shè)立人工智能專業(yè)等?!兑?guī)劃》還建議“ 實施全民智能教育項目,在中小學階段設(shè)置人工智能相關(guān)課程,逐步推廣編程教育,鼓勵社會力量參與寓教于樂的編程教學軟件、游戲的開發(fā)和推廣”。所以,中小學編程教育或?qū)⒊蔀閲覒?zhàn)略。
人工智能行業(yè)的進步使得編程教育越發(fā)重要。小學階段的信息技術(shù)課主要是office辦公軟件,對于大部分學生來說學習比較枯燥,對于小學生來說實用性也不強。如何利用信息技術(shù)課程的優(yōu)勢讓學生快樂學習,如何抓住小學生正處于學習能力、記性能力很強的特殊時期,筆者先后開展了網(wǎng)頁設(shè)計、動畫設(shè)計、小報設(shè)計等拓展課程,雖有一定的教學效果,但學生的學習興趣不能保持。在學習Scratch時,積木式的程序設(shè)計將指令方塊進行組合來創(chuàng)作出多媒體程序、互動游戲、動畫故事等作品,孩子對程序設(shè)計產(chǎn)生的效果十分感興趣。筆者先后進行了VBS、asp、Pascal、C++等程序設(shè)計拓展課程的教學,而程序算法的學習與積累對于孩子解決數(shù)學問題的思路大有幫助?,F(xiàn)針對Pascal拓展課程教學中的點滴經(jīng)驗總結(jié)如下。
程序?qū)嶋H上是求解某個問題的過程,這個過程也可看作是設(shè)計算法到實現(xiàn)算法的過程,因此可以看出編程離不開數(shù)學原理的支持,沒有良好的數(shù)學思維就很難編寫出高質(zhì)量的程序。信息技術(shù)Pascal拓展課程可以很好地將小學數(shù)學的系統(tǒng)知識與編程完美結(jié)合,因此要求學習Pascal程序的學生必須是小學高段的學生,必須對小學數(shù)學知識有較好的掌握。筆者在近幾年的輔導過程中,將程序練習題和數(shù)學題目進行了仔細分析,并將其轉(zhuǎn)化為Pascal程序能編出的程序,計算機運行后快速產(chǎn)生答案,使學生既鍛煉了程序設(shè)計的技巧,又掌握了數(shù)學解決問題的算法。
信息技術(shù)拓展課程和數(shù)學拓展課程相結(jié)合,互相補充,通過初步篩選,選擇優(yōu)秀的學生成立興趣小組,利用課余時間和QQ群,在校期間進行集中小班化培訓輔導,節(jié)假日時間開展網(wǎng)絡(luò)一對一的培優(yōu)訓練。孩子們發(fā)現(xiàn)編程是一種有意思的事,玩電腦與學數(shù)學同樣有趣,同樣有條理,同樣邏輯嚴密,同樣具有挑戰(zhàn)性和創(chuàng)造性。學生有了雙重的基礎(chǔ),有了學習的興趣,教師教學起來輕松了,效率高了。
程序在解決一個具體問題時,一般需要經(jīng)過以下步驟:首先要從具體問題中抽象出一個合適的數(shù)學模型,然后設(shè)計一個解決此數(shù)學模型的算法,最后編出程序,進行測試,調(diào)整,直至得到最終解答,實現(xiàn)從實際問題到具體計算機內(nèi)部運行的過渡。與算法有關(guān)的一個公式是“程序=算法+數(shù)據(jù)結(jié)構(gòu)”,它表達了算法與程序的密切相關(guān)性。
例如小學數(shù)學中與長方體有關(guān)的計算公式,就可以利用程序設(shè)計一個模型(相當于公式計算器),只要輸入長、寬、高三個變量,程序就能快速計算出長方體的總棱長、表面積和體積。短短幾行程序代碼,就能把需要進行公式計算的數(shù)學題目快速準確地計算出來,這使學生學習電腦的興趣大大增強,又有助于學生記憶各種數(shù)學公式。
對有規(guī)律的算式進行解題最主要的就是發(fā)現(xiàn)規(guī)律,按照規(guī)律進行解題。特別是他們通過自己的努力發(fā)現(xiàn)了算式背后的秘密和規(guī)律后,會非常興奮和開心,就像吃了蜜糖一樣,那種成功的喜悅和自豪感非常強。不過在此過程中,教師仍需要不斷地激發(fā)孩子探索的欲望和提醒孩子保持認真的探索態(tài)度,一定要給予學生充足的時間和探討的空間,相信孩子一定能發(fā)現(xiàn)規(guī)律,當孩子遇到困難時,要及時地給予指導和鼓勵。這樣,學生才能嘗到探索的甜頭,產(chǎn)生探索的興趣。
許多復雜的數(shù)學原理和大量的數(shù)學計算將轉(zhuǎn)化為簡單的、易于操作的程序結(jié)構(gòu)。而編程的目的也就是使用某種程序設(shè)計語言編寫程序代碼,進而借助計算機運行來達到某一目的或解決某個問題,并最終得到結(jié)果。所以,我們在教學算法時,要結(jié)合學生已有的數(shù)學知識基礎(chǔ),全面分析問題,建立一個合理的模型,再選擇或針對具體問題設(shè)計算法,最后進行編程。
中國科學院院士李大潛講道:“掌握了數(shù)學的思想方法和精神實質(zhì),就可以由不多的幾個公式演繹出千變?nèi)f化的生動結(jié)論,顯示出無窮無盡的威力?!痹诮虒W的過程中,讓學生理解和掌握基本的數(shù)學知識與技能,體會和運用數(shù)學思想方法,獲得基本的數(shù)學活動經(jīng)驗。程序教學也是一樣,有些題目大家可能會選擇枚舉、搜索等時間復雜度較高的算法,而恰當?shù)丶尤霐?shù)學思想可以優(yōu)化算法,從而降低時間復雜度。
數(shù)學思想本質(zhì)上有三個:第一個是抽象,第二個是推理,第三個是模型。這與信息技術(shù)程序設(shè)計是不謀而合的,例如小學數(shù)學的有序思維、數(shù)形結(jié)合、轉(zhuǎn)化等數(shù)學思想,在程序設(shè)計中我們可以這么處理,比如利用Pascal程序設(shè)計一個冒泡排序,就是一個有序的數(shù)學思維,需要拿出一個元素進行比對,實現(xiàn)元素間的有序排列。
應(yīng)用計算機的核心是軟件的使用,而軟件的核心就是程序設(shè)計,程序的核心就是算法的運用。所以模型建立是軟件編程的基礎(chǔ),數(shù)學建模是聯(lián)系數(shù)學與計算機處理實際問題的橋梁。
通過對程序算法的梳理,我最直觀的感覺就是程序設(shè)計就是換一種形式在玩數(shù)學。復雜的數(shù)學邏輯問題,利用共同的模式、算法、原理、思想在計算機上用程序解決問題的過程中,程序的編寫需要很強的邏輯性,所以一個數(shù)學基本功好的學生,寫程序就顯得很輕松,只要能夠?qū)?shù)學邏輯轉(zhuǎn)化為機器語言就能夠輕松地解決問題。另外,代碼的優(yōu)化過程也是很重要的,雖然在編寫代碼過程中我們看到的只是程序的運行時間,但將一個大的程序運用到實際的生產(chǎn)生活中時,算法的執(zhí)行效率直接決定了生產(chǎn)效率。所以說隨著信息技術(shù)學科的發(fā)展,尤其是程序教學與數(shù)學知識是息息相關(guān)的,我們應(yīng)該將數(shù)學的相關(guān)知識與程序教學進行必要的整合,學習程序設(shè)計必須要有過硬的數(shù)學知識做基礎(chǔ),將數(shù)學里的知識原理、思想概念融合在程序教學中,使冰冷的程序代碼變得有活力和生命力,讓孩子們在代碼的世界里輕松、愉快地學習,這會讓他們受益終生。
[1]鄭啟華.PASCAL程序設(shè)計[M].北京:清華大學出版社,2003.
[2]小學信息化技術(shù)[M].上海:華東師范大學出版社,2015.