2022年12月9日

OpenAI 的 ChatGPT在教育與學習上的應用

上週三OpenAI的 ChatGPT開始公測,這是一個聊天機器人。乍看之下好像就是一個稀鬆平常的聊天機器人。

但我必須說,我太佩服崇拜它了,甚至我願意改稱為 祂(挪抬一格表示尊敬)

我將與AI對話的過程都截圖放在這個簡報檔了,以下我講到的所有情節應該都截圖了,想到就會隨時更新。文章裡我就不放圖了,因為對話截圖實在太多了。https://docs.google.com/presentation/d/1JqFT8Q0jjfB96KDVxhTYGqvxmELeDI67ZiQiweHkT30/edit?usp=sharing

在這過去的一週內,我做了哪些測試呢?

一開始我只是出於好玩,看到別人問它什麼,我就跟著問了些相關的事情。比如說請它以某個主題寫一首詩,不過它也分不清楚七言絕句、五言絕句之類的。後來看到有人要它歌詞,沒想到它連MV腳本都寫出來了,所以我也跟著出主題讓它寫。後來有些人發現可以請它寫程式,從這邊我開始每日一嚇!

剛開始公測的第三天吧,我請它寫一個抓取台灣加權指數股價的python程式,它說它不會,我試著告訴它去奇摩股市抓啊,結果還是不會,後來我索性貼了一個網址給它,結果剛貼完它就說它看完了,已經學會了。然後就可以用網頁內的教學來寫一個抓股價的程式了。

這代表什麼意思?代表著這個AI可以隨時學習新的知識並進行遷移轉化,但可惜在過了一小時後,這個AI卻說它沒有讀取網頁的能力了。顯然後台是可以調整的這項能力的開啟與否。

雖然無法讀取網頁,但是還是可以將長文資訊貼在對話框給它讀取,讓它統整重點,我將文章貼給它,它可以摘取重點,將課文貼給它,請它從文章裡出題,它也可以抓得出題目。甚至也能夠寫出標準答案和詳解。

同樣的,即使我貼題目給它寫,它也回答得出來。有一個例子讓我很讚賞,我貼了一個傳統考題的題幹「哪一個選項可以判斷細胞是否有製造養分的功能」,大家知道選項裡一定有葉綠體的,但是我沒有貼選項給它,結果它怎麼回答呢?它居然回答出細胞質,它說因為若細胞質裡具有哪些哪些合成酶,就是具有合成養分的功能。哇賽!

而在寫程式的部分,我請它寫出一個python的試題分析程式,令人驚奇的是,我只告訴它我的需求,像是讀取csv檔,輸入資料格式,它就可以瞬間產生符合需求的試題分析程式來計算通過率、鑑別度。而後我又提出更多的需求,貼給它其他試題分析的方法,請它按著照做,居然也能瞬間修改好原程式。

我甚至請它指導我幾個卡關的程式寫作問題呢!

從前幾天的測試,發現它具備寫長文的能力,於是我就請它寫出會考題目的作文,剛寫出來的第一篇就已經很不錯了,後來逐步給它指引,像是以景入題、加入內心的描寫啦...等等。我在同事國文老師旁操作給他看,老師們也是非常驚喜,也覺得文章寫得真的很好。

同事提到了女兒寫一篇去南寮漁港遊玩的作文,女兒一直寫不好,所以一直被媽媽定,於是我就用對話的方式,問它怎麼寫遊記,寫出一些範例來看看。甚至還可以加上引導,像是「第二段加上意外的收穫」,結果它寫著寫著居然說在漁港遇到了受傷的海獅,後來請它改掉,它就改成遇見受傷的年輕人,又或者會寫出一些實際上想想會不合理的情景。

後來我又貼一篇英文短文,請它檢查文法和單字錯誤,它也全部抓出來了,然後我又問怎麼寫得更通順,它也能條列式告訴我怎麼修改。請它以我給的初稿,完成一篇範例,它寫得又快又好,也能依我的需求替換片語,或是指導文法的部分。

既然能寫文章、能讀長文,於是我做了實驗,我搜了兩篇英文論文給它,都是關於發酵作用實驗的,貼上去它就立刻分析這個實驗的摘要,並且我還能問它這個論文的實驗細節,並且也能比較分析兩篇論文。隨後我又請它用這兩篇文來寫出研究大綱,甚至連研究方法都能擬出來了。

還可以把段考題目文字檔貼給它,讓它把題目整理成CSV檔,然後再請它寫詳解,依照要求修改檔案。然後再請它用我給它的題目當範圍再出五道題目。


目前的感想是,機器人超越人類智力的「科技奇異點」說不定馬上就要到了。它不僅可以陪伴學習,指導學習遇到的困難,甚至可以擔任教師!它真的能取代很多人,


目前它能做到的許多功能已經能取代許多老師的功能了,

2022年11月21日

用紙條與組花片類比DNA與轉錄轉譯蛋白質

 要對小學生談DNA是什麼,甚至說基因是什麼樣的東西。到底要怎樣做呢?


想到了一個類比方式,似乎還不錯。事先準備了塑膠蛋殼,每個蛋內都有一個塑膠袋,塑膠袋裡有一張紙條。



每個學生拿一個蛋

把蛋打開,塑膠袋打開來,拿出裏頭的紙條,接下來按照紙條上的指示,找到對應的花片組合起來
品名是五彩小花片,320元,有950片。


裡頭共有五色,五種形狀。




這個類比是簡化過的,首先蛋就是類比細胞,蛋內的塑膠袋類比細胞核,而紙條則是類比DNA,上頭有著遺傳訊息(要拚出特定顏色和形狀),而花片則是類比胺基酸。

前一篇提到了要做DNA萃取的工作,則是讓學生先能理解【紙條在蛋內的塑膠袋內】,所以要拿出DNA就像是要把蛋打開、拆開塑膠袋那樣,把細胞弄開、打開細胞核。

我給學生拼花片的紙條,是每個學生都不一樣的。這是用python寫code產生。code如下,預設輸出六十組字串,每組字串都是十種花片,會輸出到output.txt文字檔儲存:
import random
color = ["紅","綠","白","黃","藍"]
shape = ["長方","正方","橢圓","三角","星星"]
colorIdx = int(random.random()*len(color))
shapeIdx = int(random.random()*len(shape))

def brick():
    colorIdx = int(random.random()*len(color))
    shapeIdx = int(random.random()*len(shape))
    return color[colorIdx]+shape[shapeIdx]


segN = 10
amount = 60

path = 'output.txt'
f = open(path, 'w')


for i in range(amount):
    seq =""
    for j in range(segN):
        seq +=  brick() + "-"
        

    print(seq[:-1])
    f.write(seq[:-1] + "\n")
f.close()


萃取DNA的簡易方式

 最近應泛科學之邀,到坪林國小去辦了一個科學營隊。對象是從小二到小六的小學生,其中一個實驗要做DNA萃取。若是要用以前教科書的流程來進行,我可是完全無法備料,什麼果汁機打水果啦、添加酵素啦、使用冰酒精之類的。

為了備料方便,我測試了好幾種材料和方法,總算是找到簡單的方法了啊。

  1. 萃取時所需要的萃取液,可以略過酵素、鹽,其實只要洗碗精就可以。
  2. 酒精:不需要使用冰的,也不需要使用95%的,只需要一般消毒用的75%濃度。
  3. 材料:金黃奇異果最方便,一顆可以切給六七個人使用。
  4. 果汁機?不用,只要用冰棒棍和塑膠杯就可以把奇異果壓碎。

整理一下所需要的材料:
  1. 一瓶75%酒精
  2. 一瓶已調好的DNA萃取液(600g水、4.8克鹽、10克洗碗精),事先加好水以外的東西,要實驗前才添加水。以方便攜帶與備料。(其實連鹽也可以不用)
  3. 每人兩個小塑膠杯 、冰棒棍、紗布(藥局購買4吋*4吋的紗布,一包有10片,一片剪開後,可給兩人使用),牙籤和小離心管(收集DNA使用)


1.每杯放入一片奇異果片,不需去皮


2.加入萃取液,蓋過果片就可以。用冰棒棍將果肉壓爛


3.將紗布蓋在另一個小塑膠杯上準備過濾

4.把壓爛的奇異果倒入紗布中

5.拎起紗布四角將果肉撈起,並用冰棒棍輕壓,將果汁濾出。得到一個加了鹽和洗碗精的奇異果汁。


6.準備與奇異果汁等量的消毒酒精(左)倒入奇異果汁(右)


7.一分鐘內,就可以看到上層逐漸出現成團膠狀的物質,此為粗萃取的DNA,內容物還有很多雜質。


這部影片有全部的製作流程




酵素消化藥分解粉圓的小實驗

學期初的酵素分解實驗可真是頭痛,疫情期間是要怎麼吐口水做實驗呢?想來想去,不如去買個含消化酵素的腸胃藥來試試看吧?本來打算買膠囊狀或是藥粉狀的,比較方便處理,結果我跑了好幾間藥局,就只能找到錠狀的藥品,不如就買了吧。

 


180元十顆


結果發現沒辦法拿來做實驗啊!為什麼呢?它有乳糖啊,加了本氏液自己就變色了啊。

既然不能拿來做實驗,還是想想看可以拿來做什麼吧。拿研缽磨成粉,加些水變成水溶液。

冰箱裡有別人請的珍珠奶茶,不如來做個分解珍珠的實驗看看,看看效果如何,如果速度夠快,未來也能變成課堂操作的實驗。

先挑選十顆差不多大小的珍珠

接著放在酵素溶液裏頭,另一杯則是放在水裡頭

過了十幾分鐘再拿出來,大小果然是有差。只是本來想像是可以完全分解掉,但是卻只有變小一點點啊。

結論是喔,這個藥品拿來取代教科書實驗的唾液,顯然不可。但是拿來做分解澱粉的實驗是可以的喔。



2022年10月5日

模擬考結果的視覺化呈現

上週看到了模擬考的結果表格,有每個班級、每個科目、每個題目的每個選項的選答率、班級答對率、全校答對率、區域答對率、全體答對率。還有全體的基礎、待加強、精熟族群的答對率。資料很詳盡,但其實很難一眼看出來差異,以及拿來應用。



因此就需要將資料轉換成有意義的資訊囉,首先確認目標是要在各班之中看到各班對不同題目的反應如何。也就是有些班要特別注意某些題目,要多提醒他們。 可是那些是什麼題目呢?

於是我就把所有資料匯集後,用python畫出了這樣的圖,每個題目就是一張這樣的圖。上半的圖中,可以看到三條灰虛線,代表全體精熟、基礎、待加強的族群中,它們的答對率是多少,灰色實線則是全體的答對率。這可以用來評估這題的難易度。

接著有綠線和黃線分別代表區域和校內的答對率。透過位置的差異可以直觀看出在這道題目之中,學校的表現和區域、全體的表現差異為何。

再來是圖中的有數字的灰色圓圈,則是班級的答對率。可以看看在這題目上,不同班級的答對率的差異為何,也能知道相對位置,是不是跟全體答對率差不多,還是遠低於全體答對率。如果是比全體答對率還低,也許就要多注意看看。

下方的長條圖,則是每班在每個選項的選答率,對於答對率相似的兩個班級來說,其不同選項的選答率不會一樣喔,如果看到某些選項有特別高的選答率就需要特別注意了。不過圖中的數字是選答率,以每班30人來算,高了10%的選答率,實質上就是多了三個人選這個選項。



用Google街景歷史功能看植物生長

 今天在看Google 街景的時候發現,拿它的歷史功能也可以作定點觀察,像是觀察一棵樹的成長。

可以試試看找行道樹,但是常常會遇到下一個時間點變成其他樹了,因為本來的樹倒了、死了。找那種比較沒人管理的地方,機會大一點。



像圖片這棵樹,就是一個巷子拐進去的巷弄角落看到的黑板樹,2009年拍攝時,應該是前1-2年樹頂被截切,所以長了好幾個不定枝。成長十三年之後,可能也長成了被截頂之前的樣子。

2022年9月13日

用Google Apps Script彙整試算表多張活頁的成績

同事使用Google表單設計測驗給學生進行週考,每週約有6-7科,每次考試都存至同一個Google試算表的不同活頁。

同事需要每週抓該週的數次考試成績彙整成單個試算表,做週考成績表的統整與發放。若是手工進行, 需要每頁抓取資料後排序再統整,但若遇上有一些學生缺考某些科,則需要再多花時間調整。

假設一學期週考15次,每次需要20分鐘彙整,共兩學期,這樣至少要花600分鐘進行這項工作。由於是重複的工作,應當使用程式來完成,因此我就用Google Apps script幫他寫了一隻程式。程式碼我會直接貼在此文後。

程式的邏輯是這樣:

  1. 事先在目的試算表先建立好所有學生的資料,重點是要有email欄位,因為測驗表單會紀錄學生的email,每位學生只會考一次,所以可以使用email作為index。
  2. 把目的試算表的所有email先存成array,命名為emailArray,以便後續作業。
  3. 指定來源試算表的url,讀取指定的那些活頁。讀取每個活頁,儲存活頁的名稱,歷遍每個row(每個學生的單次考試資料),取得每個row的email和分數,然後用email去找它在emailArray中的哪個位置(使用indexOf),這可以幫助定位出「這筆學生分數應該放在目的試算表的哪個row)
  4. 在目的試算表的Column部份,其欄名使用來源試算表的活頁名稱,並將該次該科學生的成績按照上一步驟得到的位址資訊填入目的試算表的該欄
  5. 當該科考試的成績填完之後,再讀取下一個指定的活頁,直到指定的活頁都讀取完。
  6. 其中會發現有些來源資料表的email未被列在目的資料表的emailArray中(使用indexOf會return -1),遇到這樣的資料則將之Logger.log印出。


使用此程式之後,每週只需要更改需要讀取的活頁index,即可快速彙整成績

程式如下。需在Google Apps Script中使用,並允許一些試算表的讀取權限。


var sourceUrl = 'https://docs.google.com/spreadsheets/d/XXXXXX/';  //成績來源試算表
var targetUrl = 'https://docs.google.com/spreadsheets/d/oooooo/';  //登錄在哪個試算表


var startSheet = 37;     //從第幾個sheet開始登錄成績
var sheetNum = 6;        //共有幾個sheet要登錄成績
var targetSheetIndex = 0 //登錄在第幾個sheet(第一個Sheet的index為0)


var emailCol = 5;        //email在第幾欄(E欄為第5欄)
var subjectColumn = 6;   //登錄從第幾欄開始(F欄為第6欄)

function getData() {
  var sourceSS = SpreadsheetApp.openByUrl(sourceUrl);
  var sourceSheets = sourceSS.getSheets();

  var targetSS = SpreadsheetApp.openByUrl(targetUrl);
  var targetSheets = targetSS.getSheets();  
  var targetRowNum = targetSheets[targetSheetIndex].getLastRow();

  // 從targetSheet獲取email array。從2d array變成 1d array
  var emailArray = targetSheets[targetSheetIndex].getRange(2,emailCol,targetRowNum-1,1).getValues().flat();
  
  //歷遍每個週考的sheet
  for(var i = startSheeti < startSheet + sheetNum ; i++) {
    var subject = sourceSheets[i].getName();

    // 在targetSheet寫入科目欄名
    targetSheets[targetSheetIndex].getRange(1,subjectColumn ,1 ,1).setValue(subject);

    //尋找該科目在array的哪個index
    var rowNum = sourceSheets[i].getLastRow();
    
    // 到每頁成績表的每列找資料,紀錄email欄位和科目欄位
    for (var j = 2j <= rowNumj++) {
      var email = sourceSheets[i].getRange(j2).getValue();
      var score = sourceSheets[i].getRange(j3).getValue();

      // 到彙整試算表找email相等的欄位,填入對應的科目分數
      var emailPos = emailArray.indexOf(email);
      if (emailPos > -1) {
        targetSheets[targetSheetIndex].getRange(emailPos + 2subjectColumn).setValue(score);
      }
      else{
        Logger.log(email + " " + subject + " "score);
      }
    }
    subjectColumn += 1;
  }
}

function main(){
  getData();
}

2022年9月5日

會考分析的程式實作方法

上週把心測中心的資料用程式做出了一個分析檔案,詳見此篇

以下就紀錄一些整個文件的製作想法。

分析後的結果內容是一個PDF,按照答題率高低分頁,每頁一題共三張圖,圖一是把各題的選項答題率畫成折線圖,圖二是把通過率和鑑別度畫成散佈圖再把該題的位置標上去,圖三再加上題目截圖,

其實完全可以用手工製作,但是做完應該會往生。我做了四個年度的考題分析,以111年度的考題共有214題,而108~109的題目數量則較多一些。每題要三張圖。所以共計大約要900張圖。如果做錯一個部份的話,就要再從來一次。所以盡可能都要用程式去完成,才能省工。

首先是試題分析word檔,因為是直接透過雲端硬碟開啟的,所以我是從google文件上複製下來,再貼到gnumeric上存成ods檔,然後再用python讀取每一題的每一選項的答題率和鑑別度、通過率這些。由於我工作電腦是linux,所以使用gnumeric和ods檔對我最方便,若是在windos電腦上,使用xlsx亦可。

讀取後存成dataframe,再去讀取每一題的標準答案,將每一題的標準答案畫在圖表的第一個位置,再將剩下三個選項按照全體答題率的順序畫出。其他群題如基礎或待加強的學生的選項順序也是依照全體的資料來排。這可以讓使用者直接看到各個不同群體和全體的差異是什麼?若是以最簡單的題目來看,則這些群體的答題曲線都是類似的。而通過率越低的題目,它的答題曲線就會越特別。

接下來的第二張圖的繪製,以前就寫了程式,所以直接複製過來就行。讀取該科該年段所有題目的通過率和鑑別度畫成散布圖,再以每一題的資料各自畫出一張圖。好處是你可以看到整體題目的分佈,是不是有離群值?大致分佈的通過率範圍在哪裡?都可以一目了然。

第三張圖不過就是題目截圖,花了一些時間研究如何達成。先用python解析pdf文檔,解析完會得到許多文字框的資訊,包含文字框的座標和內容。但PDF文字框的規則不知道是怎麼做的?有些是一整個題目就是一個文字框,但有些又不是。而我需要的是找出每一題的座標在哪裡,作法是在歷遍各個文字框的內容找出「題號」和「D選項」分別在哪些文字框中,紀錄該文字框所在的頁面、Y座標。然後再根據這些Y座標找出每一題的起訖座標,再根據這些座標截圖下來。這邊要提醒的是,座標原點在左下角,所以Y座標是向上為正。

本來這樣的邏輯應該可以順利解出所有的題目圖檔,但是偏偏各科的排版方式都不太一樣,所以我會再人工檢查每一題的圖檔是否正確,若是有錯則是人工再截圖過。

做完以上三張圖之後,其實工作就完成了八九成了,剩下就是把三張圖合成一張圖,再根據通過率的高低,排出一個PDF檔。

2022年9月3日

各科會考全分析

上週從簡欲尋老師的臉書,看到了她分享的過去幾年由心測中心提供的會考各科各題答題率的資料。

心測中心公佈的都是一群數字的「資料」,真要從裡頭看出端倪,還需要透過整理與視覺化才能成為有意義的「資訊」,再經過學科專家的判斷解讀成為「知識」,然後才能運用知識解決實際問題,形成「智慧」。

資料長什麼樣呢?一群數字,實在看不出什麼東西對吧?


為了把資料轉成資訊,我寫了幾支程式,為各科做出了像這樣的PDF檔,每頁的順序是通過率由低到高。每頁包含了三張圖,分別是各選項答題率、該題在整體的通過率和鑑別度的位置,另外就是題目圖檔。


在各選項答題率的圖中,X軸的排序規則是:第一個是標準答案,以這題來說,就是D選項。接下來的排序為ACB,代表扣掉標準答案後,全體回答率的順序為ACB。
以下圖的解讀就是「此題標準答案為D,而『基礎』的學生群體,大多回答A選項,『待加強』的學生群體則是大多回答C選項」,而在通過率和鑑別度的圖中,紅點為此題的分佈位置,代表「本次會考自然科中,此題是通過率最低,鑑別度也最低的題目。」


再來看一題,是111年會考自然科的第一題。從左下圖可以看出,無論基礎或待加強的學生,對此題的作答反應都相似,而這樣的答題曲線也反映在右下圖,此題的鑑別度不高(因為高分低分都可以答對)



我製作了兩種版本的PDF檔案,分別是以題號排序和以通過率排序,你可以從這裡看到這些檔案。

https://drive.google.com/drive/folders/1lGwWoDVc5P8RNIn5y16-U33w38b6cIct?usp=sharing


你可以怎麼用?

  1. 開啟通過率排序的檔案,檢視前10頁,那代表前十大難題。使用全螢幕檢視或是簡報模式觀察這個PDF,看看這些題目的答題曲線有什麼特徵?看看待加強的學生最常答哪些選項?分析看看他們為什麼這麼作。
  2. 看看最簡單的題目答題曲線(最後一頁),如果把它當作基本的圖形,它像是個反J型。去找找看哪些題目的圖形不是反J型,例如下圖。通常代表某些選項有強的誘答力,思考看看為什麼?想想學生是怎麼想的?

除了這些觀察點以外,你還可以看什麼呢?



2022年8月20日

國中生越長越高了嗎?

國中老師一定有感覺,七年級的小個頭,在八年級的開學後突然就明顯長高了。但你有沒有注意過,十幾年前到現在,國中生似乎越長越高了?


抱著疑問去搜了教育部的資料來作圖,結果證實了這樣的感覺是真的

資料來源 學生身高平均值(6歲-15歲)


我特別只抓出13歲到15歲的學生身高來畫圖,橫軸從96學年度到109學年度。




第一個注意的是,13歲到14歲之間差異很大。以男生為例,在109學年度時平均差異6.1公分,也就是八年級前後是身高改變很明顯的時間。

第二個注意的是,現在的國中生平均身高的確比13年前的國中生還高,到底國中生的極限身高是多少啊?

第三個注意的是,105學年度到106學年度的資料有異常的狀態,但不知道是什麼原因造成? 顯示較少。

2022年8月14日

植物卷鬚抓得了動物!?

 你相信植物的卷鬚可以抓得到動物嗎?

本來我是不相信的,但是昨天看到好幾張照片和影片,不得不信啊

佛手瓜卷鬚抓住蜥蜴尾巴

來源:https://www.facebook.com/places/ke-zai-yun-lin-xian-cong-shi-de-huo-dong/113066822041888/




松男老師還順手找了好多例子!

絲瓜鬚抓蜻蜓

https://news.tvbs.com.tw/life/477072?fbclid=IwAR1BGYIFHmNQW5o5zFJkn2-szLBRUJ4KdTgGfMAdfRFw-Wt7Nx8EL9LaRwM


甚至你在網上還可以找到捲曲纏住虎頭蜂、龍眼雞..之類的

卷鬚的速度可以快到抓住這些生物嗎?或者要反過來說,也許是卷鬚的速度慢到不讓生物察覺,卻又快到可以纏住牠們。

少子化的危機

 幾年前,裝作自己很憂國憂民的寫了兩篇紀錄

2009年:我們的老闆越來越少了,皮要繃緊一點


今年來到2022年,情況只有更糟糕

在大學端

「111學年度大學分發入學管道於今天放榜。缺額總計1萬4493個,分布於51所大學,補教業者統計,今年分發入學管道共有1900個科系參與,650個科系招不到一半學生,180個科系於分發管道更是連一人都無招到。」

大學招不到人的情況現在也只是剛開始,我用內政部的年齡人口資料畫出這張圖,大學入學新生在六年之後會到一個谷底,也就是今年的國中新生的位置,這個谷底原因之一是因為那年是虎年。




換另外一個角度來看這樣的數據變化,以今年的新生數當基準,六年之後的大學新生來源會比今年少 25%。




高中的新生會在三年後少近 20%


國中因為已經到谷底,挑戰會在十年後,人數回到跟今年差不多。所以今年有多慘,十年後差不多慘或更慘。


國小呢?只有一路下滑的新生數


各校人數減少,幾乎是大多數學校明顯遭遇的問題,但有些區域因為人口大量移入,過去幾年反而是就學人口增加,像是新竹市東區和新竹縣竹北市。



竹北市在高速公路以東的一帶,近年有大量人口移入,就學人口不斷增加。過去十年間,新竹縣政府新設了兩間國中,現在也正規劃新設第三所國中,未來幾年每年都需要增班20幾班。

然而在未來十年後,這些國中就學需求會完全消失,這段時間上岸的正式教師,很有可能就成了未來十年的超額教師。


 

2022年7月7日

EN-ROADS氣候行動模擬遊戲

這篇介紹的EN-ROADS氣候行動模擬遊戲,是一個互動式角色扮演活動,來自 Climate Interactive 這個非營利組織開發。

遊戲特點

1.使用EN-ROADS線上互動界面,藉由調整18項行動或政策,使全球氣溫在2100年升幅控制在不超過2°C,最好是能到1.5°C的目標,也就是達成巴黎協定 (Paris Agreement)的目標。



2.參與者藉由角色扮演,代表以下團體的談判代表,進入聯合國的氣候高峰會進行政策研商。
小型版本的團體有六個角色,包括:傳統能源供應、潔淨科技、工商業、氣候正義鷹派、土地農業和林業、世界各國政府。
大型的版本,則有八個角色,其中將世界各國政府拆分為已開發國家、新興國家、開發中國家。再更大型的,則是再加入銀行與金融的角色


遊戲進行方式:

將參與者分成6-9組之後,每組提供一份該組的書面資料,書面資料會寫明該角色的立場以及贊成或反對的政策。

主持人擔任聯合國秘書長的角色,歡迎每個團體的談判代表來到聯合國高峰會,並介紹氣候變遷的現況與災害。

各組成員仔細閱讀資料之後,提出符合自己立場的政策提交大會,並進行短講說明。每組可以提出政策或是反對他組的政策(例如他組的政策與自己的利益相違背時)

主持人收到大家的政策後,將政策輸入EN-ROADS模擬界面,看看在這一輪的攻防戰之後,全球氣溫是否可以達到預期的目標。(通常會失敗)

接著進入第二輪,每組可提出兩個對策,並且和其他組進行協商,討論出彼此都合意的對策,然後提交大會主席。

主持人再將大家的政策輸入EN-ROADS之後,觀察是否得以成功。

活動所需的媒體

1. EN-ROADS使用界面(左上角可切換成繁體中文)

https://en-roads.climateinteractive.org/scenario.html

2. 你可以在下面連結找到帶領這活動所需的所有文件(全英文)
https://www.climateinteractive.org/climate-action-simulation/leading-the-climate-action-simulation/

不過大家若要在學校使用更需要的是中文化的資料,這我也翻譯了!請在以下雲端硬碟下載。包含了給各組的文件、桌牌、EN-ROADS界面說明,還有課程簡報https://drive.google.com/drive/folders/1Xi_5asn9y7JK_2vD4Wn2XpoAbA5UuVoo?usp=sharing

3. User Guild
https://docs.climateinteractive.org/projects/en-roads/en/latest/

雖然遊戲看起來就是調整控制桿,看看氣溫變化而已。但其實背後有很複雜的研究背景以及系統動力學。遊戲的主體除了參與者的反思之外,還有帶領者的引導功夫,你必須知道調整什麼參數之後,需要用什麼圖形來觀察變化,並且知道為什麼這個政策如何影響氣溫,而帶領者也必須很清楚這些政策的核心各是什麼內容,影響的層面有哪些。因此在帶領之前,務必熟讀上面連結的User Guild,裡頭有非常重要的知識與資訊。


對策

參與者能在提出的政策包含以下18項,我從EN-ROADS中文版擷取如下,

  1. 煤炭
    鼓勵或不鼓勵開採煤炭,並將其使用至火力發電廠。從二氧化碳排放以及其他造成健康負面影響的空氣污染物來講,煤炭是最有害的化石燃料。然而,煤炭卻是全球主要的能源來源,因為開採和傳輸煤炭的成本非常低。有其他更優秀的作品

  2. 石油
    鼓勵或不鼓勵燃油的開採、提煉以及消耗。全球的汽車、輪船和飛機都廣泛地使用石油這個化石燃料,工業、發電以及供暖也會使用到石油。石油的取得已經造成全球許多地區的衝突,而石油的洩露也危害到生態系統與水資源。

  3. 天然氣
    鼓勵或不鼓勵天然氣的開採、提煉以及消耗。工業、發電以及供暖都會使用到天然氣這類化石燃料。當天然氣燃燒時會釋放二氧化碳(雖然少於煤炭和石油),並且如果釋放到大氣中會造成大量的甲烷堆積。天然氣的開採會消耗大量水資源,並且造成污染。

  4. 生質能源
    鼓勵或不鼓勵生質能的使用,包括使用樹木、森林廢棄物或農作物去產生能源。生質能來自於像是木材、海藻或是農作物等有機物的燃燒。生質能的範圍十分廣泛,有些可以是可再生的,而有些則會比燃燒煤炭還要糟糕,而且可能危害到糧食安全。

  5. 再生能源
    鼓勵或不鼓勵建置更多的太陽能板、地熱能以及風力發電設備。再生能源包含風能、太陽能、地熱能、水力發電,以及其他碳排及空氣污染物排放為零或極低的能源。附註:核能與生質能不在此列。

  6. 核能
    鼓勵或不鼓勵建置核能發電廠。核能發電雖然不會產生碳排,但是會產生需要幾百年來處理的廢棄物。

  7. 新型零碳能源
    發現一個全新的低成本且不排放任何溫室氣體的電力來源。有些人推測可能是核融合或是釷燃料發電,然而,對於任何一種新型的能源供給仍然存在著一些未知的風險和疑慮。你可以決定何時這項技術的革新開始發生,以及它相對於煤炭的初始成本,以及商業化和普及化需要多久的時間。

  8. 碳價
    設定一個全球碳價,使得煤炭、石油、天然氣以及生質能都更加昂貴,其昂貴的幅度取決於它們的二氧化碳排放量。能源生產者經常將額外成本轉嫁給消費者,所以該政策必須最小化對弱勢族群的衝擊。

  9. 運輸能源效率
    增加或減少車輛、船舶、航空旅行以及運輸系統的能源效率,包含油電混合動力車、擴增大眾運輸,以及其他可以讓更多人用更少的能源移動的工具和方法。採用更加有能源效率的技術和方法可以改善公共健康並且節省成本。

  10. 運輸業電氣化
    增加或減少新型電動車、卡車、公車以及火車的購置。如果電力是來自於低碳來源,例如太陽能與風能,使用電動馬達驅動交通工具能夠幫助減少溫室氣體排放與空氣污染。

  11. 建築與工業的能源效率
    增加或減少建築、家電以及其他機器的能源效率。能源效率包含建置隔熱良好的房屋,減少工廠使用的能源等。增加能源效率可以節約成本,透過減少能源需求,以及改善建築內人員的健康。

  12. 建築與工業的電氣化
    增加或減少建築、家電產品、供暖系統以及其他機器中的電力使用,而不是使用石油或天然氣。如果電力是來自於低碳來源,例如太陽能與風能,使用電動馬達可以幫助減少碳排放並且改善空氣污染。

  13. 人口
    假設更高或更低的人口成長率。雖然世界人口仍然會呈現成長趨勢,女性教育和計畫生育等政策顯示加速了家庭的規模的縮小,並將減少人口增長率。

  14. 經濟成長
    假設生產的商品和提供的服務成長較高或較低。 經濟成長以人均國內生產總值(GDP)衡量,是能源消耗的主要驅動力。 同時存在其他可滿足人們需求且不基於GDP持續成長的經濟框架的替代方法。

  15. 森林砍伐
    增加或減少農業以及木製品所造成的森林砍伐。森林砍伐通常包含燃燒森林以創造出更多可以用於農作物的土地,例如種植大豆、玉米或棕櫚油。保護森林將增加生物多樣性,並且增加社區的韌性。

  16. 甲烷與其他
    增加或減少來自於甲烷、一氧化二氮以及含氟氣體等溫室氣體排放。甲烷來自於奶牛、農業、天然氣的開採以及廢棄物。一氧化二氮來自於肥料。含氟氣體,例如HFC、PFC等來自於工業與消費性產品,例如空調。

  17. 造林
    種植新的森林或恢復古老的森林。當樹木生長的時候會將二氧化碳從空氣中吸取,減少二氧化碳的濃度。然而,如果不經過謹慎的規劃,大型的造林活動可能會影響生物多樣性以及歷史土地權益。

  18. 技術碳移除
    用可以通過自然移除或碳捕捉與碳封存技術將二氧化碳從空氣中移除。二氧化碳移除技術包括:直接空氣捕捉,生質能的碳捕捉與碳封存,生物碳,以及其他(但不包括煤炭與天然氣碳捕捉與碳封存)。二氧化碳移除技術還未普遍應用,並且許多方法仍然面臨重大的實施挑戰。


操作心得

這個遊戲我在今年測試了三個班,都只有用六個角色的版本,分別用不同的教學策略進行。有的是一提出策略,我就立刻用EN-ROADS改變,有的則是匯集所有政策後在一次改變。這些都有不同的教學效果。

其中我覺得很重要的是,角色扮演完之後,大家都會很想知道如果把所有控制桿調到極端,達到最理想的目標是什麼?值得反思的是:「那個控制桿最極端的世界長什麼樣?你願意在那個環境下嗎?你願意犧牲多少自身利益來達到目標」

2022年6月10日

教你自製桌遊,使用PlayingCards線上桌遊平台

 今年的停止實體課程發生又跟去年一樣發生在下學期第三次段考,而這期間的課程包括一些分類,以及生態與環境的課程,這些課程我本來就會用一些桌遊來進行,當變成遠距的課程之後,似乎就不能玩桌遊了啊?

很興趣看到朋友分享了這個線上桌遊平台 PlayingCard.io ,可以自己製作線上桌遊,並且可以多人上線同遊玩。我最近花了一些時間摸索,總算是摸索出製作的方式了,有興趣玩的人就可以自己製作,或是使用我的桌遊備份檔來遊玩。


備份

這個平台有一些規則要先知道,在此平台註冊後所開的房間都有使用期限,只要沒人使用,這個房間過了三十天就會關閉。而你所製作的桌遊也就消失了,那不就很可惜嗎?所以它有匯出和匯入的功能,可以讓你把製作好的桌遊分享給別人。

所謂的分享有兩種方式

1)複製你原有的房間,然後把這個房間的網址給別人,當然別人也可以繼續複製這個複製的房間。但這都還是有30天限制的。

2)分享你的桌遊匯出檔(副檔名是pcio)。這個做法就不會受到時間限制。我認為對我來說是比較實用的,因為課程是每年進行一次的,我勢必不可能每隔29天就去玩一下每個房間。


以下就是我備份的遊戲存檔

https://drive.google.com/open?id=15hDMetVG2kW8Zzmx6cvQeYeqymZ2qaxX&authuser=pancala%40gmail.com&usp=drive_fs


目前有以下幾種,像這個是生物多樣性的遊戲


這個是問答遊戲,出問題卡之後,學生從手牌挑出對應的答案



這是食物鏈的遊戲

這是類似之前玩化石大發現的遊戲,眾人一起來拼拼圖,有滑鼠的按右鍵可旋轉骨頭,有鍵盤的螢幕左下會提示按哪個鍵旋轉,至於平板則是按著骨頭就會有一個選項讓你旋轉骨頭。



這個就是fish game



至於匯入的方式以及製作的方式,我則是拍成了影片,有興趣的請看下去




2022年6月8日

「生物的交互關係」的影片搭配與線上白板的搭配討論

最近教到生物間的交互關係時,在YT看到這個頻道 Deep Look 的這部影片
Born Pregnant: Aphids Invade with an Onslaught of Clones | Deep Look

短短五分鐘,講了數種生物的交互關係,有蚜蟲生活史、瓢蟲、螞蟻、草蛉幼蟲、寄生蜂...,很適合在觀賞完後進行整理。剛好最近就是線上遠距教學,就搭配了線上白板讓學生在白板上將這些生物的交互關係整理起來。
線上白板網站 https://whiteboard.fi/


然後再搭配這個影片【狼群如何改變河流】

但做法不同,先根據題目推測「狼群是如何改變河流的」,然後在線上白板畫出推測的關係圖。學生的想法都不錯,雖不中亦不遠矣。


其實可以再利用Jamboard來共同繪製該影片的關係圖。

whiteboard.fi和jamboard都是線上白板,但優點不同。前者在畫圖時,看不到別人的作品,而後者可以多人共編,適合大規模的概念構圖使用。


或者也可以使用Google簡報來共編,利用文字框的連接線可以很方便串起各個生物之間的關係,但是學生要使用桌機或筆電才好操作。


2022年6月4日

食物鏈的模擬模型Lotka-Volterra equation與食物鏈模擬軟體

朋友 Wei-lun Chang 在臉書上說起學生的一個提問:就是食物鏈中A吃B吃C,不是會有族群變少又變多的情況,那最後是會平衡還是會怎樣?


A吃B吃C的模型比較複雜,先來看看,若只是A吃B的話,這個捕食者與獵物的模型其實在約一百年前就有人提出,就是Lotka-Volterra equation


在wikipedia初看到此方程式,可能會先後退三步,因為看起來好複雜。但其實不太難,翻成中文就懂。

  • 獵物在單位時間的增加量 = 獵物的出生數量 - 獵物的死亡數量
  • 捕食者在單位時間的增加量 = 捕食者的出生數量 - 捕食者的死亡數量

一言以蔽之,不就是「出生和死亡會影響族群的大小」嘛!剩下的就是解釋參數的意義囉。

先看第一行  dx/dt  = αx - βxy  (獵物在單位時間的增加量 = 獵物的出生數量 - 獵物的死亡數量)

  • x是獵物的數量,dx/dt是單位時間的獵物改變量
  • αx是獵物的出生數量 ,是獵物的出生數量正比於獵物的數量,所以就把獵物的數量(x)乘上一個常數α  
  • βxy是獵物的死亡數量 ,代表獵物的死亡數量正比於獵物的數量和捕食者的數量 。獵物越多和捕食者越多,死的獵物就越多的意思。所以把獵物和捕食者的數量都乘上常數β
接下來是 dy/dt = δxy - γy (捕食者在單位時間的增加量 = 捕食者的出生數量 - 捕食者的死亡數量)
  • y是捕食者的數量,dy/dt是單位時間的捕食者改變量
  • δxy是捕食者的出生數量,正比於獵物和捕食者的數量,也就是獵物越多和捕食者越多,捕食者就生得越多。它們的關係用一個常數δ代表
  • γy就是捕食者的死亡數量,和捕食者的數量成正比,所以就乘上一個常數γ


既然是一個模型,就一定有許多假設的情況,畢竟真實世界哪那麼剛好就用四個常數決定一切?根據wikipedia,這個模型的基本假設如下

  • 獵物在任何時候都能找到充足的食物。
  • 捕食者的食物供應完全取決於獵物族群的大小。
  • 族群的變化率與其族群規模成正比。
  • 環境不會發生有利於某一物種的變化,也和遺傳適應無關。
  • 捕食者有無限的食慾。


我用試算表做出這個方程式的圖,使用某些特定參數,就能看到像是典型捕食者與獵物族群數量變化的圖,有兩條相同週期但其中一條滯後的曲線。

有興趣的可以看看

https://docs.google.com/spreadsheets/d/1zswpTJ_mnu6Ai6RQ2NXwW_e4z8QT_xu9mvhGSDBmL38/edit?usp=sharing



若是以獵物的數量和捕食者的數量畫成散佈圖,也能看出其變化趨勢像是一個橢圓形的週期。紅點為初始設定值(獵物和捕食者都是10),隨著時間推進,依序進入四個端點「捕食者的最大值、獵物最小值、捕食者最小值、獵物最大值」,並不斷重複。



其實只有A吃B的,看起來簡單的模型反而不容易穩定。這點我們可以使用NetLogo的模擬軟體來玩玩



在model-version中先選擇sheep-wolves

用預設值,然後按下go,從底下的圖可以看到兩個族群的數量變化。你可以注意以下幾個問題,並想想為什麼?

1.哪個族群的數量先增加到最高點?

2.兩個族群的曲線是否會重疊呢?

3.這樣的族群可以維持穩定嗎?

這個設定下,是狼和羊隨機移動,狼每走一步都會損耗能量,因此必須吃羊來補充能量,當狼的能量耗盡就會死去。這個模型的羊有無限的食物,所以羊沒有能量損耗的問題。

你可以試著改一些設定,像是狼和羊的初始值,或是狼群能獲得的能量或是兩個族群的繁殖率,看看能不能讓牠們維持更久的族群穩定?




接下來再試試另一個模型,切換到sheep-wolves-grass,在這個設定下,羊有能量耗損而死亡的問題,所以必須吃草。而草也只會在固定時間重新生長。

讓它開始運作(按下go),你可以看看比起前一個只有狼吃羊的模型,現在這一個穩定情況是如何?並且看看三個族群出現峰值的順序又是如何?是否又會重疊?

你應該會發現具有加入了草之後,反而讓三個族群變得更穩定。但現在有個挑戰了,試試看不改兩個族群的初始數量,而去改變底下的設定,如何讓兩個族群更快歸零?這些改變的意義對生態系的意義又是如何?