◎
編程很多人認(rèn)為是一門大學(xué)課程,應(yīng)該是由成人來學(xué)習(xí)和研究的課題。其實(shí)不然。
編程不僅僅是一種計(jì)算機(jī)語言,更是未來人工智能時代“溝通”的語言。它能夠培養(yǎng)孩子的邏輯思維能力、語言表達(dá)能力、教學(xué)計(jì)算能力、空間想象能力、自我反省能力、自然觀察能力、注意力、創(chuàng)造力、計(jì)算思維等。在與其他同學(xué)學(xué)習(xí)交流的過程中,交際能力也可以得到鍛煉。通過完成每一次的任務(wù),可以提升他們的自信。
編程的目的是為了讓孩子能夠通過系統(tǒng)的編程學(xué)習(xí),結(jié)合所學(xué)的各科知識,重新認(rèn)識世界,通過編程解決實(shí)際問題,通過創(chuàng)作作品來表達(dá)自己的想法。
在2017 年7 月8 日,國務(wù)院印發(fā)了關(guān)于新一代人工智能機(jī)器人規(guī)劃的通知(國家【2017】35 號)中公開發(fā)布的《新一代人工智能發(fā)展規(guī)劃》,明確指出了人工智能稱為國際競爭的新焦點(diǎn),應(yīng)逐步開展全面智能教育項(xiàng)目,在中小學(xué)階段設(shè)置人工智能相關(guān)課程、逐步推廣編程教育、建設(shè)人工智能學(xué)科,培養(yǎng)復(fù)合型人才,形成我國人工智能人才高地。因此,學(xué)習(xí)編程已成為現(xiàn)在孩子的“教育剛需”。
目前的編程語言有很多,Basic 語言、Pascal 語言、C 語言、C++語言、JAVA 語言,還有好多類似的編程語言,以及一些在固定領(lǐng)域?qū)S玫木幊陶Z言。每年也有很多新的語言技術(shù)產(chǎn)生。但無論是哪種,程序的思想和方法都是相通的,學(xué)生學(xué)習(xí)了某種語言之后,在學(xué)習(xí)其他語言時會更加輕松。解決問題的同時對于其他學(xué)科的學(xué)習(xí)也有裨益。
我今年新招收了一批初中生,他們在文化學(xué)科都比較優(yōu)秀。學(xué)校為了培養(yǎng)他們?nèi)矫娴牟拍?,也為了今后他們有更多的發(fā)展選擇,學(xué)校采取學(xué)生自主報(bào)名的方式選了50 多名同學(xué)進(jìn)行編程教學(xué)。這些學(xué)生在之前都沒有過任何的編程學(xué)習(xí)經(jīng)歷。僅有的是對編程的疑惑和深奧之感。
因?yàn)榫幊绦枰欢ǖ倪壿嬎季S,剛?cè)氤踔械膶W(xué)生邏輯思維較弱,還需要一段時間的持續(xù)訓(xùn)練才可提高。為了解決這個問題,我采用了聯(lián)系生活啟發(fā)式教學(xué)法。
首先給他們介紹的是打印問候語,以此來引入編程框架,打下編程基礎(chǔ)。以下是我的做法:首先,編程簡而言之就是告訴計(jì)算機(jī)做什么、怎么做。命令計(jì)算機(jī)向用戶問好其實(shí)就是命令計(jì)算機(jī)打印輸出問候語“hello!”。打印輸出的格式是printf(“”);雙引號(英文)內(nèi)為輸出的內(nèi)容。所以,打印問候語的格式是printf(“hello!”);計(jì)算機(jī)是不能識別此語句含義的,所以要在程序的開始處將標(biāo)準(zhǔn)輸入輸出函數(shù)庫stdio.h 包含到程序中,以此來告訴計(jì)算機(jī)此為打印輸出命令。但計(jì)算機(jī)是不知道僅有的這2 句話是從何處開始執(zhí)行,因此需要來一個標(biāo)記int main(),以此來告訴機(jī)器,從main()后的“{”后一句開始執(zhí)行,直到“}”前一句結(jié)束。整個程序如下:
由此就開啟了學(xué)生人生中的第一個程序。待他們做好筆記、自己動手仿照編寫代碼執(zhí)行命令,看到窗口中顯示的效果時,他們頓時被這個神奇的結(jié)果震撼,從而消除了之前的迷茫感,也開始建立了興趣和自信,也敢獨(dú)立嘗試修改程序了。
在教學(xué)的過程中,我也逐漸發(fā)現(xiàn)了他們出現(xiàn)的一些問題,例如:符號的配對書寫、語句的語法格式等。這些都是初學(xué)者容易出現(xiàn)的問題。為了解決這個問題,從編程教學(xué)一開始,我就要求了學(xué)生上課時必須帶上筆記本,記錄本節(jié)課的重難點(diǎn);教給他們使用編譯器的符號匹配檢查;學(xué)會查看報(bào)錯原因,讀懂英文版的報(bào)錯內(nèi)容;小組同學(xué)間或同桌間相互討論方法、查找問題。
學(xué)生通過以上的操作,大部分人養(yǎng)成了良好的聽課習(xí)慣,主動提出問題與他人討論,自主查找原因解決問題。
教學(xué)編程的過程就是培養(yǎng)邏輯思維的過程。為了將這些抽象的內(nèi)容形象化,在采用聯(lián)系生活教學(xué)時,例舉很多他們熟悉的事例。如,為了訓(xùn)練程序的控制結(jié)構(gòu)之一——順序結(jié)構(gòu),用了購票、求兩個數(shù)的和、求圓的面積周長等問題為例,他們在學(xué)習(xí)其他學(xué)科時已有訓(xùn)練,如今換種方式求結(jié)果,他們即熟悉又有興趣和成就感。在講解“交換兩個變量的內(nèi)容”時,學(xué)生大部分都是就想到“a=b;b=a;”,其中的數(shù)據(jù)覆蓋的概念學(xué)生也不易理解。此時,使用例子“將分別裝在2 個杯子內(nèi)的牛奶和水交換容器”后學(xué)生就更好理解為何需要重新增加一個變量,也知道交換過程中每個變量里的存放的數(shù)據(jù)了。
青少年編程教學(xué),是一個即有意思,又需要教師花心思領(lǐng)學(xué)生進(jìn)門的一個過程。學(xué)生的認(rèn)知能力有限,教師在教學(xué)的過程中必須要尊重學(xué)生認(rèn)知的發(fā)展過程。
在教學(xué)之初建立規(guī)則、培養(yǎng)學(xué)生學(xué)習(xí)習(xí)慣,有益于學(xué)生重視課程、教師開展工作。教學(xué)之中,了解學(xué)生學(xué)情、及時反饋學(xué)生遇到的問題,啟發(fā)聯(lián)系他們的生活,使用通俗的語言、學(xué)生能夠接受的方法和內(nèi)容,有助于他們聯(lián)系以往的知識和生活經(jīng)驗(yàn)來理解新知,舉一反三,達(dá)到提升的效果。
教學(xué)之外,鼓勵他們多體驗(yàn)生活、了解社會規(guī)則,發(fā)現(xiàn)生活中的一些技巧,多思考看到的現(xiàn)象。學(xué)生編程學(xué)習(xí)入門也需要教師多花點(diǎn)心思和技巧,為以后深層次的學(xué)習(xí)打下良好基礎(chǔ)。
另外,培養(yǎng)學(xué)生的發(fā)散思維也是我們編程教學(xué)的目的。編程只是解決問題的一種方式,解決問題的方法很多,我們要多鼓勵學(xué)生用不同的方法、不同的表達(dá)方式來嘗試解決問題。在每一次的鍛煉下形成不畏難的心理,提高心理素質(zhì)。