王超園
隨著信息化的發(fā)展,運(yùn)用計(jì)算機(jī)解決問題的能力成了越來越重要的信息素養(yǎng)。而計(jì)算機(jī)程序設(shè)計(jì)就是很好的載體。在《中小學(xué)信息技術(shù)課程指導(dǎo)綱要》指出,中小學(xué)生要“了解程序設(shè)計(jì)的基本思想,培養(yǎng)邏輯思維能力”。在浙江省小學(xué)信息技術(shù)教材中對(duì)于計(jì)算機(jī)程序教學(xué)的內(nèi)容主要分為“scratch趣味編程”和“與機(jī)器人零距離”兩個(gè)單元進(jìn)行學(xué)習(xí)。另一方面,以計(jì)算機(jī)程序設(shè)計(jì)為主的信息學(xué)奧林匹克競賽的影響越來越大,其中以Pascal 語言為主信息學(xué)奧賽已深入小學(xué)各階段。計(jì)算機(jī)程序教學(xué)在小學(xué)階段發(fā)揮了舉足輕重的作用。
筆者結(jié)合自身信息技術(shù)教學(xué)以及輔導(dǎo)信息學(xué)奧賽的經(jīng)歷,并根據(jù)兩種語言的特點(diǎn)和學(xué)生的認(rèn)知發(fā)展水平,談?wù)勑W(xué)階段計(jì)算機(jī)程序教學(xué)的一點(diǎn)感受。
一、Scratch和Pascal語言的教學(xué)及特點(diǎn)
Scratch是由麻省理工學(xué)院針對(duì)8歲以上兒童開發(fā)的一款積木式程序設(shè)計(jì)軟件。Scratch軟件最大的特點(diǎn)就是簡單易用,共享與支持,可視化編程。通過點(diǎn)擊并拖拽的方式,完成可視化編程,并賦予角色簡單的動(dòng)畫,簡單易學(xué)。在作品完成之后還能將其上傳至scratch官方網(wǎng)站,與他人共享,相互學(xué)習(xí)。
信息學(xué)奧賽是青少年信息學(xué)(計(jì)算機(jī))奧林匹克競賽的簡稱,是一項(xiàng)益智性的競賽活動(dòng)。程序設(shè)計(jì)是信息學(xué)奧賽的基本功,而Pascal程序設(shè)計(jì)語言則是小學(xué)階段的信息學(xué)奧賽的主流語言。它的功能強(qiáng)、編譯程序簡單,是影響比較大一種算法語言。
二、Scratch與pascal語言的異同點(diǎn)
從scratch與pascal語言的特點(diǎn)出發(fā),結(jié)合教學(xué)中的實(shí)踐經(jīng)驗(yàn),這兩者存在以下異同點(diǎn):
(一)Scratch與pascal語言的相同點(diǎn)
1.重視分析問題,解決問題的能力
Scratch與pascal語言都屬于計(jì)算機(jī)程序設(shè)計(jì)語言,兩者的學(xué)習(xí)目標(biāo)是一致的。十分重視學(xué)生親身經(jīng)歷“提出問題—分析問題—解決問題”這一學(xué)習(xí)過程,同時(shí)讓學(xué)生掌握解決實(shí)際問題的方法與策略。例如scratch教學(xué)“小貓走迷宮”這一課中,學(xué)生首先要分析這一程序所需要的舞臺(tái)和角色,同時(shí)分析給角色設(shè)定什么樣的動(dòng)作。如“通過上下左右鍵控制小貓運(yùn)動(dòng)”“如果碰到邊緣就要返回起點(diǎn)”“碰到紅色的終點(diǎn),要說‘我成功了”。通過分析,再去選擇動(dòng)作指令搭建相應(yīng)的腳本,通過不斷的測(cè)試調(diào)整,完善整個(gè)程序的設(shè)計(jì)。而在pascal教學(xué)中也有異曲同工之處。例如要教學(xué)“輸入a、b兩個(gè)數(shù)字,交換之后輸出”。學(xué)生首先要思考,如何將兩個(gè)數(shù)交換位置呢?結(jié)合生活經(jīng)驗(yàn),有兩個(gè)瓶子,一個(gè)瓶子裝了可樂,一個(gè)瓶子裝了水,如何實(shí)現(xiàn)這兩瓶里的液體互換呢?這時(shí),學(xué)生可能會(huì)想到,借助第三個(gè)瓶子。那么在編寫程序時(shí)就需要引出第三個(gè)變量了。在分析問題之后,再著手去解決就會(huì)事半功倍了。
2.代碼的邏輯思路相同
Scratch與pascal語言都屬于程序設(shè)計(jì)語言,其語言的本質(zhì)是一致的,都擁有嚴(yán)謹(jǐn)?shù)倪壿嬎悸贰@缪h(huán)結(jié)構(gòu)的學(xué)習(xí),在scratch里有“重復(fù)執(zhí)行”和“重復(fù)執(zhí)行……直到……”這兩個(gè)指令,這與pascal語言里的for循環(huán)和while循環(huán)語句是實(shí)際作用也是一致的。
(二)Scratch與pascal語言的不同點(diǎn)
1.面向?qū)ο蟛煌y易程度不同
Scratch面向的是8-16歲的學(xué)生,是課堂內(nèi)的所有學(xué)生。而pascal語言則主要面向于需要參加信息學(xué)奧賽的小學(xué)生。同時(shí)小學(xué)生思維主要特點(diǎn)是以具體形象思維為主要形式,逐步向抽象邏輯思維過渡。因此對(duì)于scratch可視化、積木式的操作界面更易接受。而在學(xué)習(xí)pascal時(shí),需要學(xué)生有一定的英語學(xué)習(xí)基礎(chǔ),一條一條的語句也沒有scratch中的積木塊來的直觀明了。相比較而言,pascal語言在學(xué)習(xí)上要比scratch語言難一些。
2.操作界面不同,實(shí)現(xiàn)的功能不同
Scratch與pascal兩者的操作界面比較而言,scratch的操作界面更加生動(dòng)有趣,適合年齡較低的小學(xué)生。而pascal的操作界面則顯得更加簡潔單調(diào),適合更專業(yè)的編程人員。但pascal更注重程序的整體性,每一個(gè)程序都要有首部和說明部分,對(duì)程序中用到的常量和變量都需要進(jìn)行說明。而scratch中則沒有明確的要求。
從實(shí)現(xiàn)的功能來看,scratch語言更多的是用來編寫故事性、動(dòng)畫性和游戲性的程序。例如“人物對(duì)話”,“太空大戰(zhàn)”等程序。而pascal語言則更多的是用來解決數(shù)值問題。比如“判斷平年閏年”,“找出1-100內(nèi)的所有質(zhì)數(shù)”等等。
3.交互性不同
在scratch編程中,可以導(dǎo)入外部的圖片、音樂甚至flash動(dòng)畫,多種多媒體的相互組合,從而產(chǎn)生出更多更豐富的作品。在完成之后,可以分享到scratch官網(wǎng)上,與世界各地的scratch愛好者交流分享。同時(shí)可以下載他人優(yōu)秀的源程序,自己進(jìn)行修改與調(diào)整。這一點(diǎn),是pascal語言無法做到的。
三、Scratch與Pascal在小學(xué)計(jì)算機(jī)程序教學(xué)的實(shí)施與應(yīng)用
通過分析Scratch與pascal語言的特點(diǎn)和異同點(diǎn),筆者認(rèn)為在小學(xué)階段,計(jì)算機(jī)程序教學(xué)可以從以下幾方面進(jìn)行開展。
(一)面向全體學(xué)生,激發(fā)學(xué)習(xí)計(jì)算機(jī)程序語言的興趣
面向全體學(xué)生,在小學(xué)五、六年級(jí)的信息課中,進(jìn)行scratch教學(xué)。使大部分學(xué)生通過學(xué)習(xí)與使用 Scratch,能夠創(chuàng)作出精彩的富有個(gè)性的動(dòng)畫和游戲,激發(fā)學(xué)生的學(xué)習(xí)程序語言的興趣。借助Scratch 理解編程概念,讓學(xué)生在玩中學(xué)、在做中學(xué),為以后學(xué)習(xí)其他編程語言做好鋪墊。
(二)面向部分學(xué)生,挖掘人才,培養(yǎng)競賽人選
一門程序語言的學(xué)習(xí),光靠每周一節(jié)的信息課是完全不夠的,要想完成更優(yōu)秀的作品,獲得更大的提高,必然得花時(shí)間去思考,去鉆研。因此,可以面向部分學(xué)生,組建Scratch社團(tuán),在社團(tuán)里以活動(dòng)項(xiàng)目的形式,利用2-4個(gè)星期的時(shí)間,完成一個(gè)大作品的制作。同時(shí)在社團(tuán)中挖掘編程人才,培養(yǎng)其學(xué)習(xí)pascal語言,為參加信息學(xué)奧賽做準(zhǔn)備。
(三)理論與操作相結(jié)合,提高解決問題的能力
學(xué)生通過上機(jī)操作所得到的提高只是自己在操作的經(jīng)驗(yàn)而已,這樣所獲得的知識(shí)既不系統(tǒng)也不全面,因此需要補(bǔ)充一定的理論知識(shí)。例如:各模塊的作用、語句的功能、數(shù)據(jù)的類型、函數(shù)的基本功能等等。還需要有一定的數(shù)學(xué)知識(shí),例如:圓面積的求法,絕對(duì)值的理解等。只有各方面的知識(shí)更加全面了,才能將一門語言學(xué)得更透徹。因此在教學(xué)中要融入解題策略教學(xué),讓學(xué)生熟悉解題歷程,提升問題解決能力;并在不斷思考如何撰寫程序的過程中,提升邏輯思考能力。