陳強(qiáng)華
【摘要】《江蘇省義務(wù)教育信息技術(shù)課程指導(dǎo)綱要(2017年修訂)》指出,計(jì)算思維是信息技術(shù)學(xué)科核心素養(yǎng)之一。小學(xué)生通過(guò)學(xué)習(xí)信息技術(shù)課程,掌握了信息技術(shù)的基礎(chǔ)知識(shí),有相應(yīng)的想象與創(chuàng)新能力,但對(duì)于編程教學(xué)中蘊(yùn)含的算法思想、計(jì)算思維還需進(jìn)一步培養(yǎng)。小學(xué)編程以Scratch教學(xué)為主,應(yīng)該從單純以語(yǔ)法、算法為主的編程教學(xué),向培養(yǎng)學(xué)生計(jì)算思維和解決問(wèn)題的能力轉(zhuǎn)變,從而進(jìn)一步提高學(xué)生的信息素養(yǎng)。
【關(guān)鍵詞】信息素養(yǎng) 計(jì)算思維 Scratch教學(xué)
2006年,卡內(nèi)基·梅隆大學(xué)的周以真教授對(duì)計(jì)算思維進(jìn)行了解說(shuō):計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基本概念,涵蓋計(jì)算機(jī)科學(xué)領(lǐng)域的一系列思維活動(dòng),包括問(wèn)題解決、系統(tǒng)設(shè)計(jì)和人類行為理解。在Scratch教學(xué)中,不能只要求學(xué)生學(xué)會(huì)如何編寫(xiě)程序,更重要的是讓他們系統(tǒng)化地分析,富有創(chuàng)造性地思考,從而有效地解決問(wèn)題。
2013年,南安普頓大學(xué)的Cynthia Selby博士和John Woollard 博士提出,計(jì)算思維包含五個(gè)要素:抽象(Abstraction)、分解(Decomposition)、算法思維(Algorithmic Thinking)、評(píng)估(Evaluation) 、概括(Generalisation)。編程與計(jì)算思維不同,但編程教學(xué)是培養(yǎng)計(jì)算思維的關(guān)鍵手段。
一、抽象思維,建構(gòu)問(wèn)題情境
在現(xiàn)實(shí)生活中,我們面臨的問(wèn)題往往是混亂和復(fù)雜的,這要求我們從計(jì)算機(jī)可以處理的問(wèn)題中抽象出這個(gè)問(wèn)題。所以,教師要根據(jù)教學(xué)內(nèi)容與教學(xué)目標(biāo),基于真實(shí)的問(wèn)題,有目的地建構(gòu)問(wèn)題情境。
例如,在教學(xué)《穿越迷宮》一課時(shí),通過(guò)情境模擬在有障礙的教室中進(jìn)行穿越。
師:同學(xué)們玩過(guò)迷宮游戲嗎?今天我們把教室當(dāng)成迷宮,請(qǐng)一名同學(xué)在10秒內(nèi)從教室前面穿越,繞過(guò)最后一個(gè)同學(xué)的座位,回到講臺(tái)位置。
隨后提出問(wèn)題:(1)迷宮怎樣得來(lái)?(2)障礙物如何得來(lái)?(3)誰(shuí)來(lái)穿越迷宮?
生:(1)通過(guò)背景繪制得來(lái)。注意迷宮通道的大小,并根據(jù)獨(dú)特的通道添加一些環(huán)路來(lái)混淆視線。(2)通過(guò)繪制或添加角色設(shè)置障礙。(3)注意穿越迷宮時(shí)角色的大小設(shè)定。
建構(gòu)問(wèn)題情境是抽象思維重要的一環(huán),在激發(fā)學(xué)生學(xué)習(xí)興趣的同時(shí),也可以引導(dǎo)學(xué)生感悟編程方法。
二、分解任務(wù),厘清編程思路
分解任務(wù)是把整個(gè)看起來(lái)比較復(fù)雜的問(wèn)題進(jìn)行合理的劃分,將一個(gè)總問(wèn)題通過(guò)分解,進(jìn)而引導(dǎo)學(xué)生一步一步去解決。經(jīng)過(guò)任務(wù)的分解,將難點(diǎn)、重點(diǎn)進(jìn)行抽絲剝繭,厘清編程思路,從比較大的任務(wù)負(fù)荷中解脫出來(lái),切實(shí)有效地解決問(wèn)題。
例如:在教學(xué)《穿越迷宮》時(shí),分解任務(wù)后發(fā)現(xiàn),角色控制和障礙判斷是編寫(xiě)程序的重點(diǎn)。
1.角色控制
師:同學(xué)們都玩過(guò)游戲了,一般電腦游戲靠什么控制呢?
生:鼠標(biāo)或者鍵盤(pán)控制。
師:Scratch可以使用鼠標(biāo)移動(dòng)來(lái)控制角色的移動(dòng),或者使用鍵盤(pán)的按鍵控制其移動(dòng)。你覺(jué)得這里用什么控制比較方便呢?
生:讓角色跟隨鼠標(biāo)移動(dòng)。
師:如何用鼠標(biāo)進(jìn)行角色控制呢?
……
隨著討論的不斷深入,學(xué)生的思考也不斷成熟,問(wèn)題也被層層分解,從而找到解決的途徑。
2.障礙判斷
如果角色在移動(dòng)的過(guò)程中,碰到舞臺(tái)通道邊緣的黑線,使用條件判斷(如果……那么……)碰到黑色,從而通過(guò)具體坐標(biāo)位置使其返回出發(fā)點(diǎn);如果碰到設(shè)置在通道中的障礙物,則要使用條件判斷碰到角色,使其返回出發(fā)位置。
三、游戲互動(dòng),滲透算法思維
算法思維是將一些較為復(fù)雜的問(wèn)題,抽象成具體的可執(zhí)行指令或規(guī)則,這樣就可以由計(jì)算機(jī)通過(guò)模塊化來(lái)解決問(wèn)題。玩游戲一直是學(xué)生的天性,吸引他們的是游戲中人與計(jì)算機(jī)的互動(dòng)。因此我們?cè)诮虒W(xué)時(shí),要引導(dǎo)學(xué)生在編寫(xiě)游戲時(shí)注重“可玩性”。通過(guò)不同的舞臺(tái)背景、角色設(shè)置、難易程度等模塊,以算法思維激發(fā)學(xué)生的想象力與創(chuàng)造力。
例如,在教學(xué)《穿越迷宮》時(shí)創(chuàng)設(shè)情境,能不能10秒內(nèi)穿越教室,這就是在編程時(shí)加入的計(jì)時(shí)器模塊。編寫(xiě)時(shí)可設(shè)定在規(guī)定的時(shí)間內(nèi),成功穿越迷宮,將獲得驚喜,還可以設(shè)置不同的舞臺(tái)背景來(lái)設(shè)置不同的關(guān)卡,可以在迷宮中放置加分角色或減分角色,碰到加分角色可以使游戲難度低;碰到減分角色,則反之。也可設(shè)置不同的出入口,來(lái)實(shí)現(xiàn)多人競(jìng)賽。
四、糾錯(cuò)評(píng)估,不斷優(yōu)化程序
評(píng)估的作用是確保編程的最優(yōu)化。很多情況下一個(gè)算法不能完美地滿足所有的條件,這時(shí)候就要糾錯(cuò),進(jìn)行綜合考量,不斷優(yōu)化程序。糾錯(cuò)評(píng)估是編程的重要環(huán)節(jié),始終伴隨著學(xué)生的整個(gè)學(xué)習(xí)過(guò)程。當(dāng)學(xué)生進(jìn)行程序調(diào)試時(shí),要引導(dǎo)他們能像計(jì)算機(jī)解決問(wèn)題一樣去思考,并能理解執(zhí)行的每個(gè)環(huán)節(jié),與實(shí)際結(jié)果進(jìn)行比對(duì)。在評(píng)估過(guò)程中發(fā)現(xiàn)結(jié)果與預(yù)想不一致時(shí),就要進(jìn)行糾錯(cuò),采用其他算法來(lái)實(shí)現(xiàn)。這樣反復(fù)糾錯(cuò)評(píng)估,不僅能使學(xué)生在算法上有所突破,更能提升學(xué)生計(jì)算思維的能力。
1.讀懂腳本,主動(dòng)糾錯(cuò)
在信息技術(shù)教學(xué)時(shí),往往把“讀”忽略掉了,其實(shí)在編程教學(xué)中,這是卓有成效的方法。在教學(xué)時(shí),學(xué)生看到程序有問(wèn)題,運(yùn)行一直出錯(cuò),卻找不到頭緒。教師引導(dǎo)學(xué)生“讀”腳本,一邊讀一邊理解含義,這是一種主動(dòng)糾錯(cuò)行為。
例如,在教學(xué)《穿越迷宮》時(shí),學(xué)生的條件語(yǔ)句(如果……那么……)已經(jīng)使用,可程序卻沒(méi)有去判斷,學(xué)生感覺(jué)到很無(wú)奈。這時(shí)將這個(gè)腳本進(jìn)行展示,請(qǐng)大家一起來(lái)集體糾錯(cuò)。先由這個(gè)學(xué)生去“讀”這個(gè)腳本,并說(shuō)出每一步的含義,再由其他同學(xué)一起進(jìn)行糾錯(cuò)。發(fā)現(xiàn)問(wèn)題原來(lái)是少了重復(fù)執(zhí)行命令,程序只能判斷一次,不能一直判斷。
2.有效合作,不斷優(yōu)化
合作學(xué)習(xí),首先要明確解決的問(wèn)題,是不是有合作的必要。對(duì)于那些簡(jiǎn)單的、學(xué)生能獨(dú)立完成的任務(wù),就不太適合合作學(xué)習(xí)。唯有那些學(xué)生個(gè)人不能解決的、并能在很大程度上讓學(xué)生優(yōu)勢(shì)互補(bǔ)的問(wèn)題,才是能使程序更優(yōu)化的有效合作,才是有意義的合作。其次,在合作學(xué)習(xí)中我們要注意明確分工,讓小組中的每個(gè)學(xué)生在一起工作時(shí)都要做一些事情,這樣每個(gè)人都有機(jī)會(huì)在優(yōu)化過(guò)程中表達(dá)自己,他們可以成為合作學(xué)習(xí)的小主人。第三,要適時(shí)引導(dǎo)。學(xué)生按小組進(jìn)行合作學(xué)習(xí)時(shí),不確定因素會(huì)增多,教師要參與其中,并通過(guò)指導(dǎo)、提示等形式,讓學(xué)生少走彎路,使程序調(diào)試最優(yōu)化,提高課堂效率。這樣不僅是小組合作的“優(yōu)化”,更能保證程序設(shè)計(jì)上的不斷“優(yōu)化”。
例如,在教學(xué)《穿越迷宮》障礙判斷時(shí),布置小組合作學(xué)習(xí)時(shí),首先明確小組分工任務(wù),一個(gè)學(xué)生負(fù)責(zé)觀察角色碰到障礙時(shí)的反應(yīng),一個(gè)學(xué)生負(fù)責(zé)記錄,所有組員都要討論、分析,為什么碰到障礙不能返回起點(diǎn)。找到原因后,進(jìn)行修改,找到程序設(shè)計(jì)的最優(yōu)方法。
五、概括歸納,遷移解決方案
概括是在之前已經(jīng)解決的問(wèn)題上,將其歸納為通用的解決方案,并將此遷移到更廣泛的問(wèn)題情境中。有了前面步驟的積累,學(xué)生的計(jì)算思維慢慢“發(fā)芽”,如果要茁壯成長(zhǎng)還需教師的引導(dǎo),讓學(xué)生借助概括歸納,鞏固和強(qiáng)化學(xué)習(xí)成果,遷移問(wèn)題的解決方案。
例如,在教學(xué)《穿越迷宮》時(shí),在學(xué)生電腦桌面上發(fā)送了一個(gè)“挑戰(zhàn)一下”的文件夾,放入難度不一的三個(gè)半成品,請(qǐng)你自己選擇,看看你達(dá)到哪個(gè)級(jí)別。
“勝利大逃亡”——高手!
“大魚(yú)吃小魚(yú)”——高高手!
“通過(guò)今天的學(xué)習(xí),能自主設(shè)計(jì)其他小游戲”——大師!
通過(guò)概括歸納從而進(jìn)行遷移,學(xué)生可以根據(jù)自身實(shí)際情況接受更高一層的挑戰(zhàn)任務(wù),對(duì)所學(xué)知識(shí)進(jìn)行深入的分析和靈活的運(yùn)用,進(jìn)行作品的創(chuàng)作。
南師大李藝教授在報(bào)告中說(shuō),計(jì)算思維是圍繞“人”進(jìn)行的,是科學(xué)思想引起的,它關(guān)注的是描繪人的內(nèi)在品質(zhì)的概念,并把它們視為核心的主要部分。在Scratch教學(xué)中,編程的相關(guān)知識(shí)學(xué)生一般都能很好地掌握,在教學(xué)中要將重點(diǎn)從編程語(yǔ)法、規(guī)則轉(zhuǎn)移到培養(yǎng)學(xué)生計(jì)算思維能力上來(lái),不斷融入計(jì)算思維的理念,讓“計(jì)算思維”的種子在 Scratch教學(xué)中“發(fā)芽”,從而“遍地開(kāi)花” ,促進(jìn)學(xué)生信息技術(shù)核心素養(yǎng)的養(yǎng)成。
【參考文獻(xiàn)】
[1]江蘇省中小學(xué)教學(xué)研究室.小學(xué)信息技術(shù)教師教學(xué)用書(shū)[M].南京:江蘇鳳凰科學(xué)技術(shù)出版社,2014.
[2]李峰,王吉慶.計(jì)算思維:信息技術(shù)課程的一種內(nèi)在價(jià)值[J].中國(guó)電化教育,2013(8).
[3]王榮良.計(jì)算思維對(duì)中小學(xué)信息技術(shù)課程的影響初探[J].中國(guó)教育技術(shù)裝備,2012(27).