• 
    

    
    

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

      ?

      構建模型 學習計算思維

      2020-06-11 03:44陳染
      中國科技教育 2020年4期
      關鍵詞:觀察者瓦片海龜

      陳染

      計算思維是2006年卡內基梅隆大學周以真教授提出的概念。計算思維指的是一種運用計算機科學基本概念求解問題、設計系統和理解人類行為的方式,它涵蓋了計算機科學領域廣度的一系列思維工具。學習計算思維不僅有助于我們理解計算機科學的概念和思想,更可以將它廣泛應用于工作、學習、生活中,為我們提供不一樣的組織和分析問題的視角。

      在小學和中學階段,信息技術課程的學習是培養(yǎng)計算思維的一個重要途徑,以至于有些學生和教師會把計算思維誤解為編程的思維方法。其實,自2006年周以真教授提出計算思維的理念時,她就已經明確指出了計算思維是人的思維,不是計算機的思維,計算思維面向所有人、所有地方,而不僅僅是編程中使用的思維方式。舉一個小例子,想一想日常生活中我們做一頓飯的程序是怎么樣的:先把米放進電飯鍋,讓電飯鍋開始煮飯,趁著電飯鍋煮飯的時間再處理其他食材。為什么我們不先做好菜再開始煮飯呢?這是因為我們采用這種程序的時候剛好能在菜做完之后,飯也剛好熟了,這就是計算思維中的流程優(yōu)化。只要多觀察,我們會發(fā)現計算思維在生活中無處不在。

      除了計算機課程外,我們可以將計算思維融入學科學習、創(chuàng)客教育、社會實踐活動等方面。計算思維的培養(yǎng)方式很多,構建模型就是其中一種方式。運用計算思維構建模型的4個主要步驟是分解、模式識別、抽象和算法。面對一個大的問題,我們將問題分解為若干方便我們解決的小部分,識別出每個部分的模式,化繁為簡,將現實的事物抽象為計算機能夠理解、能夠識別的東西,再通過構建算法,通過算法建立起我們所需的模型。

      實用的模型學習軟件NetLogo

      2020年3月, “科技學堂”組織了4期STEM云教研活動,和數百位教師在線探討如何通過構建模型的方法將計算思維運用于科技教育課堂中。在這幾期STEM云教研中,我們選擇了多主體建模軟件NetLogo作為構建模型的工具,以幫助學生運用計算思維探究學科和項目式學習中遇到的問題。從功能層面上看,NetLogo并不是一個強大的編程工具,不適合開發(fā)復雜的計算機程序。但NetLogo的優(yōu)勢在于它的語法足夠簡單,學習成本很低,并且還配備了完善的模型庫可供使用。即使學生沒有經過NetLogo的編程語法的學習,我們也可以直接運用模型探究現實問題,我們還可以通過修改代碼,對模型進行進一步拓展,以滿足我們實際研究需求。NetLogo的特點意味著它很適合開發(fā)簡易的模型,也很適合成為培養(yǎng)學生計算思維的工具。

      NetLogo是美國西北大學連接學習與計算機建模中心教授尤里·韋倫斯基(UriWilensky)于1999年開發(fā)的一款開源編程語言。從名字可以看出,NetLogo基于Logo語言設計而成。Logo語言是第一門專門面向于教育的編程語言,它的出現對編程教育和計算機語言產生了深遠的影響,目前流行的編程教育工具Scratch便直接從Logo語言發(fā)展而來,而目前最流行的編程語言Python也深受Logo語言的影響,Python的編程教育工具Turtle類庫更是向Logo語言致敬(圖1)。經過了50多年的發(fā)展,Logo語言枝繁葉茂,而NetLogo便是這棵大樹低調而美麗的花朵。

      NetLogo適用于計算思維教學的一個優(yōu)勢在于它自帶的模型庫,模型庫中擁有數百個模型,所涉及的學科包括藝術、生物、物理、化學、計算機科學、地球科學、數學、網絡、哲學、心理學、社會科學等。這些模型的源代碼都是開源的,我們可以在NetLogo的代碼頁面修改相應的代碼,以拓展模型的應用空間。大部分模型還配備了教學建議,在模型的“信息”頁面我們可以看到這個模型是什么,它是怎樣運行的,我們怎樣運用模型,使用的注意事項,如何引導學生探索,怎樣拓展模型,以及有哪些了解更多的閱讀材料。

      NetLogo是一種建立多主體系統(multiagent system)的工具,所謂多主體,即通過計算機生成一個個主體,每個主體遵循一定的規(guī)則活動。通過主體的行為和相互作用觀察對世界的宏觀影響。NetLogo的世界中包括4種類型的主體:海龜、瓦片、鏈和觀察者。

      ·海龜(turtle):海龜指的是可以在模型中自由移動的主體,大多數模型都會出現海龜角色。海龜的默認形狀是箭頭,我們也可以把它修改成其他形狀。海龜的概念繼承自Logo語言,Python Turtle等類庫也運用了海龜的概念。

      ·瓦片(patch):瓦片指的是在模型中靜止的主體,我們也可以稱之為網格。NetLogo模型的場景中每一個坐標格就是一個瓦片。瓦片可以和海龜交互,也可以與其他瓦片交互。大多數模型會用到瓦片的角色。

      ·鏈(link):鏈指的是連接在海龜與海龜之間的線,相連的每一個海龜稱之為節(jié)點(node)。鏈在研究社群網絡關系中有著重要的作用。

      ·觀察者(observer):觀察者指的是不參與到模型運行中的角色,它包括控制模型運行的按鈕、調整模型參數的滑桿、控制運營模式的開關、觀察模型數據的圖表和監(jiān)視器等。這些角色雖然不直接參與模型的運行,但它對于我們觀察模型的變化,得出模型的結論至關重要。因此,幾乎所有的模型都會出現觀察者的主體。

      我們可以通過NetLogo自帶的模型庫認識各種主體的作用。以“狼 羊捕獵”模型(WolfSheep Predation)為例,這個模型模擬的是一個由狼、羊和草組成的簡易生態(tài)系統。這個模型有3條簡單的運行規(guī)則:

      。狼會吃羊,羊會吃草;

      。每隔一段時間,空地會長出新的草;

      。羊和狼通過捕食會增加能量,能量會隨著時間逐漸消失,當能量到達一定數值就會生出新的狼和羊,當能量消失為0的時候狼或者羊就會死去。

      通過這3條簡單的規(guī)則,我們就能夠探索在這個生態(tài)系統中狼、羊和草的變化規(guī)律。運行模型時,我們會看到這樣的畫面(圖2)。

      在畫面左側,我們看到有很多滑桿、按鈕、開關、圖表、數字窗口等。它們都屬于“觀察者”,這些主體不直接參與模型的運行,但它們的作用也是非常重要的。我們可以通過畫面左上角的滑桿調整模型參數,如狼和羊的初始數量、草的生長數量,狼和羊的繁殖所需的能量等,從而了解不同因素對狼 羊 草生態(tài)系統的影響。畫面左下角的表格和監(jiān)視窗可以讓我們直觀地了解到當前狼、羊、草的數量和它們的變化情況。

      畫面右側為場景區(qū),我們可以看到場景區(qū)上有白色的羊、黑色的狼、綠色的草和褐色的空土地。在這個區(qū)域,羊和狼可以在畫面中隨機行走,因此,都屬于“海龜”主體,盡管它們并不是海龜的形狀;地面的草是不可以移動的,因此,屬于“瓦片”主體,當羊從綠色的瓦片經過的時候,瓦片就從綠色轉為褐色,表示草被羊吃掉了,這意味著“海龜”主體能夠和“瓦片”主體進行交互。

      這個模型并沒有用到“鏈”,我們換個模型認識一下。圖3是“病毒傳播網絡” (Viruson Network)模型,我們可以用它研究病毒在人群中傳播的規(guī)律。

      這個模型左側同樣是屬于“觀察者”的按鈕、滑桿和圖表;在右側我們可以看到一個個圓形的點,點和點之間連接著一根根線。這些線就是所謂“鏈”,而鏈上的圓點我們稱之為節(jié)點。節(jié)點屬于一種比較特殊的“海龜”。紅色的節(jié)點表示感染者,藍色的節(jié)點表示易感者,灰色的節(jié)點表示免疫者,而連接著節(jié)點與節(jié)點的鏈表示人與人的社會關系。當一個節(jié)點感染了病毒之后,它會有一定概率經過鏈將病毒傳播到與之相鄰的易感者上,使之成為新的感染者。而感染者也有可能在一段時間后成為免疫者,免疫者不會傳播病毒。通過這個模型我們就能研究病毒在社群中傳播的路徑,并作出相應的預防措施。這個模型很適合與當下的疫情情況結合起來,通過計算思維的方法讓學生認識采用什么方法能夠防范病毒在社會中擴散。

      @NetLogo的使用和學習

      NetLogo是一款免費的建模軟件,在NetLogo的官方網站(http://ccl.northwestem. edu/netlogo/index. shtml) 即可以選擇合適的版本下載。如果教師只是想在學科課程中偶爾展現模型,或想簡單體驗模型,NetLogo官方網站也提供了在線版本,在這個版本中你可以體驗到NetLogo自帶的所有模型,但在線版本不能制作和保存新的模型,功能也不如桌面版的完善。

      NetLogo安裝包包括NetLogo、NetLogo3D、HubNet Chent和Behaviors Earth,我們主要使用的軟件是NetLogo。點擊NetLogo的“文件”

      “模型庫”,即可獲得數百個完善的模型。打開模型后,頁面上方出現“界面”“信息”和“代碼”3個標簽頁,在信息頁面中我們可以了解模型的具體信息和操作指南,在代碼頁面中我們可以閱讀模型是如何建構的,我們可以修改代碼以拓展模型。

      如果保愿意更加深入地學習NetLogo,制作自己的模型。你可以在NetLogo的官方網頁獲取中文版用戶手冊,它可以幫助我們初步掌握NetLogo的程序編寫。如果在編寫程序中遇到困難,我們還可以在幫助頁面查閱NetLogo詞典。這些都很方便我們構建自己的程序。

      參考文獻

      [1] Google面向教育者的計算思維課程.https://edu.google. com/resources/programs/exploringcomputationalthinking/

      [2] NetLog0 4.0.2用戶手冊(中文版)http://ccl.northwestern. edu/netlogo/4.0. 4/docs/NetLogo_manualchinese.pdf

      猜你喜歡
      觀察者瓦片海龜
      打水漂
      用追擊相遇的模型解釋多普勒效應
      鄉(xiāng)村瓦語
      慣性
      可怕:一塊塑料便可“殺死”一只海龜
      海龜泡飯湯
      幼兒游戲中教師角色的定位
      基于Android的智慧競賽APP設計與開發(fā)
      海龜
      海龜
      和硕县| 玉龙| 屏南县| 安泽县| 河北区| 利津县| 桃江县| 金溪县| 宁津县| 会宁县| 凤阳县| 射阳县| 张家港市| 沛县| 景东| 天全县| 上林县| 托克逊县| 扬州市| 油尖旺区| 房产| 略阳县| 合山市| 信丰县| 车险| 高陵县| 应城市| 汝州市| 桂阳县| 平顶山市| 衡阳县| 安吉县| 封丘县| 高淳县| 上思县| 福清市| 洛隆县| 绥棱县| 商河县| 双桥区| 张家口市|