張智鵬
摘要:本文通過兩個(gè)教學(xué)案例介紹了三步轉(zhuǎn)譯編程教學(xué)法的實(shí)施過程,重點(diǎn)展示了第二步“自然語言描述→問題解決邏輯圖示”在實(shí)際教學(xué)過程中的實(shí)施情況,向大家展示了多種場(chǎng)景下三步轉(zhuǎn)譯的應(yīng)用情況和效果。
關(guān)鍵詞:三步轉(zhuǎn)譯;自然語言;邏輯圖示
中圖分類號(hào):G434 ?文獻(xiàn)標(biāo)識(shí)碼:A ?論文編號(hào):1674-2117(2023)16-0010-03
“三步轉(zhuǎn)譯”是初中編程教學(xué)的一種教學(xué)方法,主要分為“實(shí)境體驗(yàn)→自然語言描述”“自然語言描述→問題解決邏輯圖示”“邏輯圖示→程序代碼表達(dá)”三步轉(zhuǎn)譯過程。
柳棟等在《初中三步轉(zhuǎn)譯編程教學(xué)法框架構(gòu)想》一文中提到:程序是特定問題解決辦法用特定領(lǐng)域符號(hào)的代碼表達(dá),程序體現(xiàn)了對(duì)象的數(shù)字化結(jié)構(gòu),問題解決步驟的邏輯、控制與時(shí)序。所以說“編程的本質(zhì)是翻譯”。既然編程是翻譯過程,那么在翻譯之前,理清問題解決步驟的邏輯、控制和時(shí)序則顯得十分重要,而三步轉(zhuǎn)譯過程的第二步“自然語言描述→問題解決邏輯圖示”則是理清這個(gè)過程的重要一環(huán)。
在初中編程教學(xué)中,通常會(huì)有類似于編程動(dòng)畫、Python簡(jiǎn)單應(yīng)用的純軟件編程和類似于智能創(chuàng)造的智能硬件編程兩種類型,所以,本文將通過技術(shù)課程的教學(xué)過程中的兩個(gè)實(shí)例《編程動(dòng)畫》和《學(xué)校放學(xué)疏散系統(tǒng)》,分別闡述在上述兩種情況下,三步轉(zhuǎn)譯編程教學(xué)法第二步“自然語言描述→問題解決邏輯圖示”在不同編程場(chǎng)景之下的運(yùn)用。
“編程動(dòng)畫”項(xiàng)目中第二步轉(zhuǎn)譯的具體實(shí)施
1.項(xiàng)目簡(jiǎn)介
面向?qū)ο螅毫昙?jí)(下)的學(xué)生。
總課時(shí):8課時(shí)。
主要任務(wù):利用圖形化編程軟件設(shè)計(jì)制作用于六年級(jí)學(xué)生入學(xué)教育的學(xué)生行為規(guī)范教育動(dòng)畫。項(xiàng)目成果分為兩輪,第一輪是情境展示類動(dòng)畫,第二輪是可交互類動(dòng)畫(借助microbit)。
項(xiàng)目流程:兩輪實(shí)踐過程中均按如圖1所示的流程開展。
2.從自然語言描述到邏輯圖示呈現(xiàn)
在本項(xiàng)目中,學(xué)生首先要根據(jù)任務(wù)確定好需要表達(dá)的行為規(guī)范,然后根據(jù)這些行為規(guī)范編寫學(xué)生入學(xué)行為規(guī)范教育的相關(guān)故事。
類似于“編程動(dòng)畫”項(xiàng)目的動(dòng)畫制作場(chǎng)景,其實(shí)就是“多個(gè)對(duì)象”相互協(xié)同的情境,這種情況有個(gè)特點(diǎn):各個(gè)對(duì)象各自的控制流程比較簡(jiǎn)單,大多數(shù)是三種結(jié)構(gòu)(以順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)為主,分支結(jié)構(gòu)為輔)的簡(jiǎn)單組合,但是對(duì)各個(gè)對(duì)象之間的協(xié)同配合要求較高,所以對(duì)于這一類項(xiàng)目,在編程前通過三步轉(zhuǎn)譯中的“自然語言描述→邏輯圖示”進(jìn)行梳理至關(guān)重要。對(duì)這類項(xiàng)目,通??梢圆捎萌缦虏襟E分析并梳理流程,形成圖示。
(1)分解任務(wù),提取對(duì)象
對(duì)于動(dòng)畫類編程,學(xué)生首先需要知道該動(dòng)畫中有幾個(gè)對(duì)象、幾種場(chǎng)景。所以在編寫完故事后,學(xué)生分析了創(chuàng)編的“入學(xué)行為規(guī)范教育故事”中存在的對(duì)象、場(chǎng)景(背景),并填寫在任務(wù)單相對(duì)應(yīng)的位置。
(2)分析對(duì)象,生成動(dòng)作
每個(gè)對(duì)象需要做什么?各自的動(dòng)作是什么?學(xué)生需要根據(jù)上一環(huán)節(jié)提取的對(duì)象,聚焦單個(gè)對(duì)象,分析各個(gè)對(duì)象自己的動(dòng)作,并填寫在任務(wù)單中。
(3)分析動(dòng)作,理清關(guān)聯(lián)
每個(gè)對(duì)象什么時(shí)候開始動(dòng)作?什么時(shí)候結(jié)束動(dòng)作?各個(gè)動(dòng)作由什么觸發(fā)或者是各個(gè)動(dòng)作觸發(fā)了哪些角色或動(dòng)作?這些都需要在正式編程之前明確,所以筆者提供了如圖2所示的幾種符號(hào),幫助學(xué)生更加便捷、快速地梳理清楚。
至此,學(xué)生通過以上三個(gè)步驟,對(duì)故事的邏輯、控制與時(shí)序有了清晰的認(rèn)識(shí),后續(xù)可將以上流程通過編程工具“翻譯”,隨后形成“學(xué)生行為規(guī)范教育動(dòng)畫”的制成品。
“學(xué)校放學(xué)疏散系統(tǒng)”項(xiàng)目中第二步轉(zhuǎn)譯的具體實(shí)施
在初中編程教學(xué)中,除了借助軟件完成動(dòng)畫創(chuàng)作的編程場(chǎng)景之外,還會(huì)涉及對(duì)智能硬件編程的情況,下面,以“學(xué)校放學(xué)疏散系統(tǒng)”項(xiàng)目為例,重點(diǎn)展示在對(duì)智能硬件編程的場(chǎng)景中三步轉(zhuǎn)譯編程教學(xué)法的第二步“自然語言描述→問題解決邏輯圖示”的實(shí)施情況和效果。
1.項(xiàng)目簡(jiǎn)介
面向?qū)ο螅浩吣昙?jí)(上)的學(xué)生。
總課時(shí):12課時(shí)。
主要任務(wù):體驗(yàn)學(xué)校路口交通情況,明確引起交通堵塞的主要問題,思考解決方案,嘗試設(shè)計(jì)并制作模型,以改善學(xué)校路口擁堵狀況。
項(xiàng)目流程:在本項(xiàng)目中,學(xué)生從始至終都在思考“如何解決門口道路擁堵情況”,所以首先通過實(shí)境體驗(yàn)的方式明確造成擁堵的具體問題,然后通過學(xué)習(xí)生活中的過程與控制流程以及可使用的智能硬件設(shè)備,嘗試設(shè)計(jì)解決方案以解決明確的具體問題,最后借助學(xué)習(xí)的智能硬件設(shè)備模擬方案,并驗(yàn)證方案的可行性。流程如圖3所示。
2.從自然語言描述到邏輯圖示呈現(xiàn)
在“編程動(dòng)畫”項(xiàng)目中,學(xué)生通過“分解任務(wù),提取對(duì)象;分析對(duì)象,生成動(dòng)作;分析動(dòng)作,理清關(guān)聯(lián)”三個(gè)環(huán)節(jié)實(shí)現(xiàn)三步轉(zhuǎn)譯編程教學(xué)法的第二步“自然語言描述→問題解決邏輯圖示”的轉(zhuǎn)譯過程。但是在“對(duì)智能硬件編程”的場(chǎng)景中,大部分情況下由于控制對(duì)象只有一個(gè),上述三個(gè)環(huán)節(jié)則顯得臃腫多余。
在“學(xué)校放學(xué)疏散系統(tǒng)”項(xiàng)目中,學(xué)生通過“聲光控?zé)簟钡陌咐龑W(xué)習(xí)智能硬件編程,單個(gè)的聲控?zé)艋蛘邌蝹€(gè)的光控?zé)袅鞒炭刂剖呛?jiǎn)單的,但是對(duì)于聲光控?zé)舳裕潆y點(diǎn)在于先判斷聲音還是先判斷光線,因此,筆者給出了如圖4所示的流程圖,引導(dǎo)學(xué)生理清思路。
值得注意的是,在物聯(lián)網(wǎng)或者需多塊智能硬件控制板交互的場(chǎng)景中,“自然語言描述→問題解決邏輯圖示”的轉(zhuǎn)譯過程又將會(huì)和“編程動(dòng)畫”項(xiàng)目處理方式一樣,需要依據(jù)“分解任務(wù),提取對(duì)象;分析對(duì)象,生成動(dòng)作;分析動(dòng)作,理清關(guān)聯(lián)”三個(gè)環(huán)節(jié)實(shí)現(xiàn)第二步的轉(zhuǎn)移,這主要是因?yàn)槌霈F(xiàn)了多個(gè)控制對(duì)象,就必然會(huì)產(chǎn)生各對(duì)象動(dòng)作間的協(xié)作。
在“學(xué)校放學(xué)疏散系統(tǒng)”項(xiàng)目中,學(xué)生通過實(shí)境體驗(yàn)發(fā)現(xiàn)引起交通堵塞的主要原因在于交通燈控制不合理,因此提出了解決方案,并對(duì)解決方案開展分析,得到如圖5所示的流程,至此,學(xué)生對(duì)如何實(shí)現(xiàn)解決方案的流程清晰明了了。
實(shí)踐后的思考
1.理清邏輯是代碼編寫前的學(xué)習(xí)重點(diǎn)
編程是“翻譯”的過程,所以在初中編程教學(xué)過程中,理清邏輯是初中學(xué)生學(xué)習(xí)編程的重中之重。三步轉(zhuǎn)譯編程教學(xué)法的第二步“自然語言描述→問題解決邏輯圖示”則是幫助學(xué)生深度理解問題,梳理邏輯的過程,在這一過程中,通過圖示的方式將邏輯清晰地呈現(xiàn),為后續(xù)程序編寫做出鋪墊。
2.初中生需要借助圖示來表達(dá)邏輯,但未必需要標(biāo)準(zhǔn)的流程圖
“自然語言描述→問題解決邏輯圖示”重點(diǎn)是梳理清楚控制邏輯,所以通常需要借助圖示梳理流程,但此圖示是指一切能夠描述清楚邏輯的圖示,并不限于標(biāo)準(zhǔn)流程圖。所以,在課堂教學(xué)中教師不需要花費(fèi)額外時(shí)間教授標(biāo)準(zhǔn)流程圖的繪制規(guī)范。