• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      圖顯思維,開啟編程教學(xué)新樣態(tài)

      2022-01-15 00:48:23洪勛
      中國信息技術(shù)教育 2022年1期
      關(guān)鍵詞:僵尸流程圖程序設(shè)計

      洪勛

      在人工智能、大數(shù)據(jù)等新技術(shù)迅猛發(fā)展的背景下,中小學(xué)信息技術(shù)課程改革不斷推進(jìn),計算思維已成為信息技術(shù)學(xué)科核心素養(yǎng)之核心。在信息技術(shù)學(xué)科中,數(shù)據(jù)、算法、信息系統(tǒng)與信息社會這4個學(xué)科大概念所對應(yīng)的課程內(nèi)容其側(cè)重點有所不同。其中,算法與程序設(shè)計課程教學(xué)是目前培養(yǎng)計算思維最主要的手段;抽象能力作為計算思維的本質(zhì)之一,是加強計算思維培養(yǎng)的關(guān)鍵;程序流程圖作為描述數(shù)據(jù)流程的工具,助力學(xué)生梳理程序設(shè)計思路,讓思維過程可視化,在抽象能力培養(yǎng)過程中起到了重要作用。

      ● 計算思維與抽象能力的辯證關(guān)系

      計算思維的本質(zhì)可概括為抽象和自動化。筆者認(rèn)為計算思維中的抽象需要用特定嚴(yán)格的符號去描述、表示并使其形式化,進(jìn)而達(dá)到機械化執(zhí)行即自動化的目的。自動化是抽象的目的,而抽象則是自動化的前提和基礎(chǔ)。

      抽象是指在對實際復(fù)雜問題求解過程中,通過獲取關(guān)鍵特征、化簡、降低復(fù)雜度等方式,構(gòu)造出計算機能夠處理的簡單模型。例如,可以將超市里琳瑯滿目的商品抽象成只含有商品編號、生產(chǎn)日期、保質(zhì)期、單價、折扣信息等若干符號化的屬性對象,將每件商品的計價過程抽象成根據(jù)商品的單價和折扣進(jìn)行自動化累加的過程。

      從以上的諸多定義和特點可以發(fā)現(xiàn),抽象作為計算思維中的一個維度,是計算思維不可或缺的環(huán)節(jié)。抽象能力對于塑造事務(wù)模型、重構(gòu)事務(wù)處理流程起著關(guān)鍵的作用,培養(yǎng)學(xué)生的抽象能力和意識,是發(fā)展學(xué)生計算思維的重要體現(xiàn),也是提高學(xué)生核心素養(yǎng)的關(guān)鍵能力之一。

      ● 探“尋”:程序設(shè)計之思維“盲區(qū)”

      算法與程序設(shè)計教學(xué)需要從真實情境出發(fā),通過引導(dǎo)學(xué)生經(jīng)歷發(fā)現(xiàn)問題→分析問題→抽象出核心問題→設(shè)計算法→編寫程序→運行調(diào)試→問題解決等計算機解決問題的一般步驟來培養(yǎng)計算思維能力,并從計算機的基本工作原理出發(fā),將具體的步驟抽象為一般的程序。因此,在程序設(shè)計學(xué)習(xí)過程中抽象能力的剛性要求會讓學(xué)生陷入“盲區(qū)”,從而成為直接制約計算思維培養(yǎng)的重要因素。

      盲區(qū)1:語法技能中的算法“模糊化”

      很多教師過分注重對一成不變的程序語法結(jié)構(gòu)和規(guī)則的機械式程序技能講解,而忽略了對程序邏輯結(jié)構(gòu)以及算法思想的深層次挖掘,學(xué)生學(xué)習(xí)僅限于掌握語法結(jié)構(gòu)。由于抽象思維能力培養(yǎng)不夠,學(xué)生很難將復(fù)雜問題進(jìn)行分解建模,無法形成明確的算法思維。例如,在教學(xué)“Python枚舉算法”時,列舉“百錢買百雞”“雞兔同籠”等問題只是為了讓學(xué)生掌握表達(dá)式、常用函數(shù)、循環(huán)語句等的基本語法和運行規(guī)則。在這些問題解決過程中由于學(xué)生受抽象能力限制,算法思維比較模糊,計算思維素養(yǎng)不能得到有效滲透。

      盲區(qū)2:結(jié)果追求中的思維“碎片化”

      在算法與程序設(shè)計教學(xué)過程中,多數(shù)情況只是讓學(xué)生模仿教師給出的參考范例,卻沒有根據(jù)整體思維進(jìn)行問題拆解,并分析每一個子模塊的功能。例如,在“Python的模塊”教學(xué)中,學(xué)生在處理《猜數(shù)字》游戲案例過程中,針對“random”模塊調(diào)用、用戶輸入、程序循壞、判斷是否正確等環(huán)節(jié),只是獨立、機械式地書寫各個模塊,最后進(jìn)行簡單的順序調(diào)整,并未進(jìn)行整體考慮與設(shè)計,不能形成一條清晰的程序設(shè)計解決問題的思維過程。

      盲區(qū)3:語言轉(zhuǎn)換中的支架“空白化”

      在程序設(shè)計教學(xué)中,學(xué)生思維沒有有效利用可視化工具做支撐,他們在面對一些較復(fù)雜的情境問題時,由自然語言直接過渡到程序語言普遍存在較大困難。例如,在《循環(huán)結(jié)構(gòu)——for循環(huán)》一課中,筆者嘗試以植物大戰(zhàn)僵尸游戲為課堂情境,要求學(xué)生輸出植物10次攻擊的隨機攻擊值,并判斷10次攻擊的攻擊總和能否阻擋該橄欖球僵尸(生命值為500)。但在引導(dǎo)學(xué)生將實際情景抽象成數(shù)學(xué)模型時,筆者只用了大量的自然語言簡單描述,未直觀呈現(xiàn)思維加工全過程,導(dǎo)致教學(xué)事倍功半,收效甚微。

      ● 巧借“支架”之燈,點亮“思維”之路

      在程序設(shè)計教學(xué)中,程序是結(jié)果,而算法設(shè)計才是靈魂。流程圖是有效的可視化工具之一,從問題情境中抽取的對象、指令、模式等通過流程框、輸入輸出框等加以表征,然后使用順序、選擇、循環(huán)等結(jié)構(gòu)建構(gòu)它們之間的關(guān)系,實現(xiàn)對同類型問題的抽象與提煉。通過可視化流程圖的繪制、解讀、修改等環(huán)節(jié),建立自然語言與程序語句之間的橋梁,將學(xué)生隱性的思維過程清晰地呈現(xiàn)出來,幫助學(xué)生分析問題、抽象核心問題,建構(gòu)解決問題的模型,從而能夠順利地設(shè)計算法和編寫程序,實現(xiàn)問題的解決,讓思維在編程中可見。

      1.抽象問題圖形化,思維聚合 “關(guān)聯(lián)”性

      在程序設(shè)計抽象環(huán)節(jié),需要分析并找到問題的關(guān)鍵。在真實情境問題分析之后,幫助學(xué)生將復(fù)雜的問題進(jìn)行分解、簡化,即將現(xiàn)有的問題關(guān)聯(lián)學(xué)生原有的認(rèn)知結(jié)構(gòu),找到解決問題的關(guān)鍵點,明確解決問題的核心。

      例如,在Python中的for循環(huán)遍歷應(yīng)用教學(xué)中,采用《讀心術(shù)》游戲作為問題情境,依次出示4張卡片,對方只需根據(jù)自己的真實生肖情況回答“在”或者“不在”卡片上,就能準(zhǔn)確預(yù)判出對方生肖。

      該問題屬于模擬類游戲,對“抽象”的要求非常高。學(xué)生要用程序?qū)崿F(xiàn)這個讀心游戲,就必須弄清楚該游戲系統(tǒng)中的卡片(抽象出要素)、這些卡片之間有怎樣的關(guān)系(要素之間的關(guān)系)等問題,通過程序性的思維聚合,與學(xué)生已積累的知識和技能(二進(jìn)制)建立相關(guān)認(rèn)知關(guān)聯(lián),明確該問題的核心問題,用可視化方式抽象出模型,形成流程化的問題解決的邏輯序列。

      2.抽象語言圖形化,思維理解“簡約”性

      隨著學(xué)生認(rèn)知能力的不斷發(fā)展,圖形化的方式更加符合學(xué)生的認(rèn)知偏好。因此,學(xué)生在問題的分析和解決過程中,將抽象語言圖形化,會使問題的解決更加簡練和準(zhǔn)確。程序流程圖在排除多義性和廣義性的同時,能簡潔、濃縮邏輯思維的推理步驟,準(zhǔn)確而清晰地表達(dá)解決問題的思維,從而實現(xiàn)以簡約的思維理解獲得最佳效果的目標(biāo)。

      例如,在《循環(huán)結(jié)構(gòu)——for循環(huán)》一課的案例中,一個僵尸穿過院子到達(dá)戴夫家會受到植物10次攻擊,攻擊力隨機生成,試問僵尸能否攻入?筆者這樣引導(dǎo)學(xué)生建立初步模型:設(shè)置一個變量sum記錄10次攻擊的總和;用for循環(huán)語句表述10次攻擊,循環(huán)變量代表攻擊次數(shù);思考sum的計算應(yīng)該在循環(huán)體內(nèi)部還是外部進(jìn)行?判斷僵尸是否死亡又應(yīng)該在循環(huán)體的內(nèi)部還是外部執(zhí)行?思考sum的初始值0應(yīng)該在循環(huán)體的內(nèi)部還是外部賦予?如下頁圖1所示。

      問題進(jìn)一步復(fù)雜:每天晚上有12個僵尸試圖進(jìn)攻戴夫的家,試問是否會攻克?筆者在上一個案例所展示流程圖的基礎(chǔ)上,逐個設(shè)問,讓學(xué)生逐步完善流程圖:每個僵尸執(zhí)行流程圖中哪些環(huán)節(jié)?在哪里判斷僵尸總數(shù)超過12?死亡僵尸數(shù)在哪里累加?Death的初始值在哪里賦值?從而完成了如圖2所示的流程圖。

      3.抽象過程圖形化,思維呈現(xiàn)“動態(tài)”性

      程序流程圖在運行時體現(xiàn)的是動態(tài)可視化,在程序不斷運行過程中,流程圖可以非常清晰地用圖的形式將各種變量值及其邏輯關(guān)系呈現(xiàn)給學(xué)生。通過抽象過程的動態(tài)呈現(xiàn),學(xué)生可以很清楚地了解當(dāng)前指令的執(zhí)行狀態(tài),讓計算思維更深入。

      例如,在《while循環(huán)應(yīng)用實例》的教學(xué)中,筆者采用“五猴分桃”案例,結(jié)合學(xué)生的學(xué)情,大多數(shù)會采用一般性解法,即采用變量a作為最后的桃子數(shù),x作為原始的桃子數(shù),通過問題分析得到邏輯表達(dá)式:a=((((((x-1)*4/5-1)*4/5)-1)

      *4/5-1)*4/5-1)*4/5。對x進(jìn)行遍歷,同時a也隨著動態(tài)變化。若a為整數(shù),則x,a為所求。

      然而對于計算機的解決思路,則采用自頂向下的分治策略。

      主問題過程思路:①變量x=1;②循環(huán),如果x不能被5個猴子分掉,則執(zhí)行③;③x=x+1,轉(zhuǎn)②;④輸出x;⑤結(jié)束。

      子問題過程思路(x個桃子能否被5個猴子分掉):①循環(huán)(5次),每次執(zhí)行x=x-1,如果x能被5整除,則執(zhí)行x=x/5*4,否則轉(zhuǎn)②;②程序結(jié)束,返回“假”;③程序成功(5次循環(huán)成功結(jié)束),返回“真”。

      很顯然,基于這樣的文字描述,很難直觀感受整個問題解決的思維過程。而通過流程圖支架則更便于整個過程動態(tài)化呈現(xiàn)出來(如圖3)。

      在程序動態(tài)運行時,可視化思維培養(yǎng)方式非常重要。多重循環(huán)又是課程的難點,流程圖使兩重循環(huán)的抽象過程完全圖形化,每一個設(shè)問都可以作為一個獨立的思維框架添加到流程圖的相應(yīng)位置。在用流程圖抽象實際問題、構(gòu)建數(shù)學(xué)模型時,課堂效果顯著提升,教學(xué)目標(biāo)容易達(dá)成,學(xué)生在思考程序的動態(tài)運行過程時不容易出錯,一舉突破了循環(huán)作用的范圍、變量的初始化等重難點。

      4.抽象思路圖形化,思維形成“直觀”性

      算法與程序設(shè)計課程注重培養(yǎng)學(xué)生利用計算機解決實際問題的能力,程序流程圖的構(gòu)建,意味著學(xué)生已經(jīng)從實際問題中提取了有效信息,將問題抽象成了特定符號,建立了一般化的數(shù)學(xué)模型,找到了解決問題的方法。程序流程圖能夠幫助他們梳理思路,明確解決方案,減少復(fù)雜問題所帶來的盲目性,也為后續(xù)實現(xiàn)方案的具體程序設(shè)計提供指導(dǎo)。

      例如,在“Python程序結(jié)構(gòu)while循環(huán)”教學(xué)模塊中,筆者以繪制多彩的精美圖形為教學(xué)情境案例,根據(jù)繪制目標(biāo),抽象分析案例中背景色、線條的顏色、粗細(xì)等要素,形成繪制思路(包含循環(huán)體內(nèi)的思路步驟)。

      通過引導(dǎo)學(xué)生針對圖形案例直觀分析,形成解決思路。

      任務(wù)1思路:定義海龜模塊,設(shè)置線條屬性及背景;

      任務(wù)2思路:循環(huán)體分別為四種顏色的線條繪制:①i%4==0,繪制紫色;②i%4==1,繪制黃色;③i%4==2,繪制紅色;④i%4==3,繪制藍(lán)色。(如圖4)

      當(dāng)程序代碼調(diào)試出現(xiàn)錯誤時,又可借助直觀的流程圖來修改代碼編寫中的錯誤,避免了學(xué)生漫無目的地做嘗試。

      ● 行動實踐:人人卷入,“圖”育素養(yǎng)

      基于《循環(huán)結(jié)構(gòu)——for循環(huán)》一課的教學(xué)內(nèi)容,筆者給出例題1的標(biāo)準(zhǔn)代碼,要求學(xué)生編寫應(yīng)用型例題2和提高練習(xí)的程序。將流程圖融入到課堂中,讓學(xué)生圍繞真實情境進(jìn)行抽象、建模,引導(dǎo)學(xué)生用流程圖對抽象內(nèi)容進(jìn)行設(shè)計、實現(xiàn)、驗證和遷移,以此來探究流程圖對程序設(shè)計學(xué)習(xí)的影響。

      例題1:一個僵尸穿過院子到達(dá)戴夫家會受到植物10次攻擊,攻擊力隨機生成,試問僵尸能否攻入?例題2:問題進(jìn)一步復(fù)雜,每天晚上有12個僵尸試圖進(jìn)攻戴夫的家,試問是否會攻克?提高練習(xí):一周有7天,每天都有12個僵尸來襲,每個僵尸會受到10次植物的攻擊,試問戴夫的后院一周有幾天會被僵尸攻克?

      1.橫向?qū)Ρ?,區(qū)分抽象能力

      筆者在兩個平行班分別采用不同的方式教學(xué)實踐,A班采用正常流程圖進(jìn)行授課,B班采用自然語言簡單描述作為鋪墊。通過采集學(xué)生用編程解決問題的過程,得出結(jié)論:受限于代碼調(diào)試能力,兩個班級能編寫代碼并調(diào)試完成例題2的學(xué)生并不多;但是統(tǒng)計前兩項“邏輯正確”的人數(shù),用流程圖教學(xué)的A班有30人,遠(yuǎn)遠(yuǎn)超過用自然語言教學(xué)的B班。A班中甚至還有5位學(xué)生在完成了例題2之后,繼續(xù)修改例2的流程圖,并利用該流程圖完成了提高練習(xí),可見流程圖對于提升學(xué)生的抽象能力、提高解決問題的速度都大有裨益。

      2.縱向?qū)Ρ?,重現(xiàn)抽象能力

      鑒于B班的教學(xué)效果不佳,筆者在B語言描述的鋪墊基礎(chǔ)上,也采用了流程圖對學(xué)生進(jìn)行抽象能力訓(xùn)練。通過評價量規(guī),發(fā)現(xiàn)學(xué)生在問題解決和思維遷移上都有了很大的提升。課后要求學(xué)生填寫調(diào)查問卷并統(tǒng)計了結(jié)果,得出學(xué)生在理解程序邏輯結(jié)構(gòu)過程中,抽象能力、建模能力都得到了充分體現(xiàn)。由此可知,程序流程圖對學(xué)生進(jìn)一步理解for循環(huán)語句作用顯著。

      通過教學(xué)實踐,課堂體驗解決實際問題的方法和思維,進(jìn)一步驗證了基于可視化程序流程圖的計算思維培養(yǎng)教學(xué)方式的有效性,學(xué)生計算思維能力得到發(fā)展,解決問題能力有所增強。

      ● 實踐總結(jié)

      筆者通過實踐明確,借助流程圖的可視化方式能有效地加強學(xué)生對程序設(shè)計解決問題的思維理解,在提升學(xué)生抽象思維能力的同時展現(xiàn)了問題解決過程中主題元素之間的邏輯關(guān)系和演繹過程。學(xué)生在真實情境下復(fù)雜的程序設(shè)計變得有跡可循,程序思維可見。

      在中學(xué)的算法與程序設(shè)計課程體系中,教師對知識點的傳授、程序語法的講解相對比較到位,但容易忽略對學(xué)生求解問題能力的培養(yǎng),而這恰好是提升學(xué)生核心素養(yǎng)的關(guān)鍵點之一。程序設(shè)計課程不應(yīng)該為了編程而編程,而應(yīng)該重視將實際問題概括、抽象成特定符號,建立一般化的數(shù)學(xué)模型,再利用計算機具備的強大運算、存儲能力找到解決辦法的能力。在這個過程中,程序流程圖確實能夠起到事半功倍的效果,引導(dǎo)學(xué)生以計算思維的視角認(rèn)識和思考日新月異的信息社會,并做出更加信息化的判斷,有效提升計算思維水平,提升學(xué)生的信息技術(shù)核心素養(yǎng)。

      猜你喜歡
      僵尸流程圖程序設(shè)計
      筆記本電腦“僵尸”
      英語文摘(2020年2期)2020-08-13 07:26:22
      基于Visual Studio Code的C語言程序設(shè)計實踐教學(xué)探索
      計算機教育(2020年5期)2020-07-24 08:52:56
      從細(xì)節(jié)入手,談PLC程序設(shè)計技巧
      電子制作(2019年9期)2019-05-30 09:42:04
      你愿意當(dāng)吸血鬼還是僵尸?
      高職高專院校C語言程序設(shè)計教學(xué)改革探索
      專利申請審批流程圖
      河南科技(2016年8期)2016-09-03 08:08:22
      專利申請審批流程圖
      河南科技(2016年6期)2016-08-13 08:18:29
      App已死?80%的僵尸應(yīng)用帶來的困惑
      新聞傳播(2015年6期)2015-07-18 11:13:15
      PLC梯形圖程序設(shè)計技巧及應(yīng)用
      “僵尸肉”橫行誰之過
      乌拉特中旗| 布尔津县| 齐齐哈尔市| 慈溪市| 东宁县| 岳池县| 茌平县| 和顺县| 湖南省| 青川县| 革吉县| 台湾省| 永济市| 长丰县| 东山县| 上饶县| 新宁县| 永州市| 杭州市| 富平县| 锦州市| 襄樊市| 鹿邑县| 成都市| 博兴县| 抚州市| 阿尔山市| 阳春市| 依兰县| 易门县| 蒲江县| 延吉市| 青冈县| 阳东县| 涟源市| 浦江县| 泸西县| 南充市| 巴林左旗| 开化县| 绥芬河市|