陳曉
摘要:本文通過案例,主要探討了三步轉(zhuǎn)譯編程教學(xué)法中的第三步轉(zhuǎn)譯——從邏輯圖示到代碼實(shí)現(xiàn)過程中,教師可以依據(jù)不同教學(xué)重難點(diǎn)、不同軟硬件結(jié)合的編程教學(xué)內(nèi)容等,采用不同的處理方式完成這一步轉(zhuǎn)譯,從而實(shí)現(xiàn)培養(yǎng)學(xué)生解決問題能力的目標(biāo)。
關(guān)鍵詞:三步轉(zhuǎn)譯;邏輯圖示;代碼實(shí)現(xiàn)
中圖分類號(hào):G434 ?文獻(xiàn)標(biāo)識(shí)碼:A ?論文編號(hào):1674-2117(2023)16-0015-03
三步轉(zhuǎn)譯編程教學(xué)法中的第三步轉(zhuǎn)譯—從邏輯圖示到代碼實(shí)現(xiàn),并非顛覆以往的編程教學(xué)方法,而是在原來的基礎(chǔ)之上,通過利用第二步轉(zhuǎn)譯的產(chǎn)物—邏輯圖示,幫助學(xué)生梳理出代碼實(shí)現(xiàn)過程中會(huì)利用到的數(shù)據(jù)和算法,形成程序,從而實(shí)現(xiàn)培養(yǎng)學(xué)生問題解決的能力,形成編程整體概念。
“生活中的各種燈”項(xiàng)目實(shí)踐
1.項(xiàng)目簡(jiǎn)介
面向?qū)ο螅浩吣昙?jí)(上)的學(xué)生。
總課時(shí):3課時(shí)。
學(xué)生情況:已有學(xué)習(xí)信息社會(huì)與系統(tǒng)及圖形化編程基礎(chǔ),但大多僅涉足純軟件編程如制作動(dòng)畫故事、互動(dòng)小游戲等,缺少機(jī)會(huì)將編制的程序用于解決現(xiàn)實(shí)世界問題。
項(xiàng)目概述:本項(xiàng)目是對(duì)新課標(biāo)中“過程與控制”模塊的教學(xué)嘗試,旨在在探究中培養(yǎng)學(xué)生解決生活實(shí)際問題的能力。項(xiàng)目?jī)?nèi)容由點(diǎn)亮LED燈、控制LED燈以及改進(jìn)生活中的燈組成,共3課時(shí)。主要目標(biāo)是:認(rèn)識(shí)常見的傳感器與執(zhí)行器;了解常見的“輸入—計(jì)算—輸出”的計(jì)算模式,嘗試通過編程還原;細(xì)心發(fā)現(xiàn)生活需求,大膽設(shè)計(jì)并通過編程驗(yàn)證。
編程成果形式:借助開源硬件的智能機(jī)械裝置搭建。
2.項(xiàng)目教學(xué)過程
(1)進(jìn)入情境,思考問題
教師結(jié)合硬件演示點(diǎn)亮一盞LED燈,引發(fā)學(xué)生興趣,并引出“輸入—計(jì)算—輸出”的計(jì)算模式;鼓勵(lì)學(xué)生頭腦風(fēng)暴,發(fā)現(xiàn)生活中各式各樣的燈的控制系統(tǒng),如聲光控?zé)簟熿F報(bào)警燈、紅綠燈、小夜燈等;嘗試?yán)贸绦蚩刂七€原生活中的各種燈。以聲光控?zé)魹槔?,鼓?lì)以小組合作形式嘗試在導(dǎo)學(xué)單上繪制出其“輸入—計(jì)算—輸出”的計(jì)算模式,并嘗試用自然語言分享其控制過程。
(2)協(xié)作探究,分析問題
深入分析聲光控?zé)糁械目刂七^程。教師給出范例,學(xué)生嘗試模仿順序、分支、循環(huán)結(jié)構(gòu)的邏輯圖示范例,在導(dǎo)學(xué)單上將聲光控?zé)舻目刂七^程通過圖示簡(jiǎn)要繪制出來。
(3)分析數(shù)據(jù),構(gòu)建方案
討論光敏傳感器是如何判斷白天或黑夜的。利用編程軟件中的仿真工具,呈現(xiàn)不同光照強(qiáng)度下光敏傳感器檢測(cè)到的數(shù)值變化,在探究中通過對(duì)連續(xù)量閾值的判斷,轉(zhuǎn)換為系統(tǒng)的開關(guān)量。借助學(xué)習(xí)單,還原聲光控?zé)粝到y(tǒng)中的過程與控制(如圖1)。此環(huán)節(jié)是幫助學(xué)生從邏輯圖示轉(zhuǎn)化到功能代碼表達(dá)的重要一步—將邏輯圖示先轉(zhuǎn)化為可計(jì)算的功能實(shí)現(xiàn)框圖。
(4)實(shí)踐體驗(yàn),驗(yàn)證方案
連接硬件,在對(duì)應(yīng)的編程軟件中嘗試還原聲光控?zé)舻某绦虼a,即根據(jù)學(xué)習(xí)單中的功能實(shí)現(xiàn)框圖提示,找到相應(yīng)圖形化代碼塊。教師可給予學(xué)生如圖2所示的提示,引導(dǎo)其編寫程序控制硬件LED燈的亮滅(如圖3)。在此過程中,學(xué)生將不斷對(duì)照前兩次轉(zhuǎn)譯成果作為編程目標(biāo),調(diào)整修改程序,直至完成代碼實(shí)現(xiàn)效果。
(5)優(yōu)化方案,拓展延伸
設(shè)想生活中各種燈的控制方式,及其有待改進(jìn)之處,如生活中使用小夜燈時(shí)的不便之處,繪制出對(duì)應(yīng)的邏輯圖示,利用第3課時(shí)編程驗(yàn)證。學(xué)生將在此過程中獨(dú)立完成一次從生活到問題、從問題到邏輯、從邏輯到代碼的編程體驗(yàn)。
3.案例思考
本項(xiàng)目呈現(xiàn)了三步轉(zhuǎn)譯編程教學(xué)法在結(jié)合硬件的編程教學(xué)中的實(shí)踐運(yùn)用。筆者發(fā)現(xiàn),在第三步轉(zhuǎn)譯中,前一步產(chǎn)物邏輯圖示是由自然語言描述的控制系統(tǒng),學(xué)生無法直接轉(zhuǎn)換成相應(yīng)的積木塊。在這個(gè)過程中,還需要帶領(lǐng)學(xué)生建立現(xiàn)實(shí)生活中的“白天”與計(jì)算機(jī)語言積木塊之間的橋梁,此處的關(guān)鍵點(diǎn)在于轉(zhuǎn)譯“白天”為“判斷光敏傳感器檢測(cè)到的值大于閾值”,從而再對(duì)應(yīng)到編程軟件中的代碼實(shí)現(xiàn)。因此,相較于純軟件的編程,結(jié)合硬件的編程在第三步轉(zhuǎn)譯中需要根據(jù)邏輯框圖,先轉(zhuǎn)換為功能實(shí)現(xiàn)框圖,再建立功能實(shí)現(xiàn)框圖與代碼塊之間的關(guān)系,從而完成代碼編寫,形成程序。
經(jīng)驗(yàn)總結(jié)與思考
1.根據(jù)不同的教學(xué)重難點(diǎn),提供不同程度的教學(xué)支架
在編程教學(xué)中,當(dāng)教學(xué)重難點(diǎn)較多放在代碼實(shí)現(xiàn)上時(shí),學(xué)生一般可以在邏輯圖示的指引下,模仿老師或獨(dú)立開始編程;若教學(xué)重難點(diǎn)放在概念教學(xué)、需求分析上,可以在學(xué)生編程之前給予一定程度的教學(xué)支架,如建立邏輯圖示與代碼塊之間的關(guān)系,幫助學(xué)生更順利地編寫程序,也可根據(jù)需要提供半成品程序,帶領(lǐng)學(xué)生觀察、組織、修改代碼,以實(shí)現(xiàn)編程驗(yàn)證的教學(xué)目的。
2.根據(jù)不同軟硬件結(jié)合的編程需要,采用不同的轉(zhuǎn)譯過程
在教學(xué)過程中,學(xué)生通常需要利用編程來還原生活場(chǎng)景,驗(yàn)證生活問題或解決生活問題,因其取決于教學(xué)內(nèi)容的開放程度、學(xué)校的軟硬件條件完備程度等(這是一個(gè)較為復(fù)雜的環(huán)節(jié)),所以第三步轉(zhuǎn)譯需要根據(jù)實(shí)際情況討論。如純軟件編程的動(dòng)畫制作與借助硬件搭建的智能化設(shè)備編程,后者的轉(zhuǎn)譯過程不僅需要從邏輯圖示轉(zhuǎn)譯到代碼實(shí)現(xiàn),還需要先從邏輯框圖轉(zhuǎn)譯到功能實(shí)現(xiàn)框圖,再建立功能實(shí)現(xiàn)框圖與代碼塊之間的關(guān)系,以幫助學(xué)生更好地使用編程還原生活場(chǎng)景。
3.第三步轉(zhuǎn)譯不是三步轉(zhuǎn)譯法的結(jié)束
在三步轉(zhuǎn)譯編程教學(xué)中,學(xué)生往往是在后期才進(jìn)入打開軟件編寫程序的環(huán)節(jié),但這不代表三步轉(zhuǎn)譯的結(jié)束。在算法實(shí)現(xiàn)、評(píng)估與優(yōu)化的過程中,學(xué)生需要階段性地回顧確認(rèn)代碼實(shí)現(xiàn)是否實(shí)現(xiàn)了第一步實(shí)境體驗(yàn)提出的需求,以此評(píng)價(jià)學(xué)習(xí)成效。而且,本項(xiàng)目為學(xué)習(xí)內(nèi)容開放度較低的案例,但在項(xiàng)目學(xué)習(xí)中,往往有更高開放度的學(xué)習(xí)要求,如在原程序上適當(dāng)增加個(gè)性化功能,這時(shí)候?qū)W生需要重新回到第一步考慮實(shí)境體驗(yàn)中產(chǎn)生的更多需求,再進(jìn)行第二輪的三步轉(zhuǎn)譯,在學(xué)習(xí)過程中,如此循環(huán)往復(fù)地實(shí)踐運(yùn)用三步轉(zhuǎn)譯法,最終才能實(shí)現(xiàn)解決問題能力的提升。