2015年12月31日

Maperative使用教學

最近玩Maperative,發現它可以作很多地形繪圖的東西,是我以前就想要作的。
作等高線地形圖,可以增加渲染、分層設色的功能,也可以作向量輸出。





北部



桃園台地群



雪山到大霸




操作過程老樣子就是錄成影片,全部加起來差不多半小時,看完就會操作了啦。

https://www.youtube.com/playlist?list=PLm6x13NbsKl56B6eufroUBCF5IKR1CgLq


設定圖資 網站說明
預設的是SRTM3,但是有洞
set-dem-source  name=SRTM3

有經過「補洞」的是SRTMV3R3
set-dem-source  name=SRTMV3R3

參考
http://wiki.openstreetmap.org/wiki/SRTM
http://maperitive.net/docs/Commands/SetDemSource.html


改變rules的contours可以顯示或隱藏等高線相關資訊


分層設色圖(參考上河) 網站說明
generate-hypsometric ramps=0:#f1eee8;1:#8fd48e;50:#818c7b;100:#4f847a;200:#818d7a;300:#a09576;500:#bba186;700:#bfb0aa;900:#bea198;1200:#c2a496;1500:#a28c81;1800:#a87e72;2100:#946f4e;2400:#946748;2700:#c1765d;3000:#a95e48;3300:#c26e61;3600:#c46661;4000:#6c363a

底圖變淺
add-web-map provider=mapnik intensity=0.7

海平面上升的hypsometric 
generate-hypsometric  ramps=0:blue;1:green;1000:#FFCB77;2000:white


輸出 網站說明
export-bitmap width=500
export-bitmap scale=11


設定座標範圍 網站說明
設定地理座標範圍
set-geo-bounds 120.971703881821,24.8198055325488,120.973510061623,24.8185677195484

設定列印座標範圍
set-print-bounds-geo 120.171703881821,24.8198055325488,120.973510061623,24.8185677195484

2015年12月28日

製作3D地形模型(使用Maperative、Blender、MeshLab)


http://www.thingiverse.com/thing:1229560
最近又對立體模型、3D列印感興趣了,不過要作什麼好呢?突然覺得地形模型好像不錯,可是怎麼作呢?

剛好最近看數學函數建模的資料,東連西連看到一個利用OSM為圖資的地圖軟體Maperative,就從這個軟體開始,讓我拼湊出製作地形模型的方式了。

下面這個是新竹地區的3D模型
新竹3D地形模型


這個則是送進3D印表機印出來的成果,可以用摸的摸出台地、丘陵、河川等地形特徵,要隨意用什麼視角看也都是可以的。
hsinchu02_annotation

從頭前溪、鳳山溪出海口往陸地看去,新竹平原的北有湖口台地、南有香山丘陵、東有雪山山脈,形成一個地形隘口,就像是畚箕一樣,所以這稱作為畚箕嘴地形,從立體模型上更能看出這個特徵。這個畚箕嘴地形也就是造就九降風的原因,讓新竹有了「風城」的稱號。

hsinchu03_annotation

我製作了台北和新竹的立體模型,都放在Thingiverse,不過我都有把z軸比例拉大,讓山高一點
http://www.thingiverse.com/thing:1229560


這麼酷的模型怎麼作呢?我錄製了三段影片,分別說明如何從Maperative取得地形資料檔,還有用MeshLab減面,再利用Blender建模,都在以下這個播放清單
https://www.youtube.com/playlist?list=PLm6x13NbsKl72M9QbExIUv9NoqNK65tJi


Maperative是免費軟體,圖資來自OSM,而高度資料應該是來自NASA的DTM,因為我以前作過Garmin的等高線地圖圖資,我看到兩個的DTM缺失值是一樣的。
找到要製作的地方之後,兩步就可以產出3D檔
Map/Set Printing Bounds
Tools/Export to 3D
得到的是Collada格式的檔案
maperative

檔案先用Blender轉成stl,再匯入MeshLab去作減面
File/Import Mesh
Filters/Remeshing,Simplification and Reconstruction/Quadric Edge Collapse Decimation
用預設值apply之後,Export Mesh as...另外存一個stl檔
然後再開啟那個stl檔,重複作上面的減面手續
作幾次不一定,看你的需求,重點是面數減少卻又不會影響模型外觀。

MeshLab



最後用Blender 把本來只有表面的模型,加上底部。這部份用寫的有點困難,總之就是加一個方塊去跟本來的表面作布林運算。
blender


你看我們作一個台灣模型這麼辛苦,如果是日本的地理模型就很簡單了
日本的國土地理院就有網站服務可以直接選定範圍製作出3D列印模型檔
http://cyberjapandata.gsi.go.jp/3d/index.html

他們那個番外篇也很有趣
http://cyberjapandata.gsi.go.jp/3d/sample/sample/sample.html
把立體模型對應的地圖剪貼到模型上面,就可以做出立體地圖了

如果用我上面的方式要作也很容易,因為Maperative就有自動產出對應的地圖圖片了,印出來貼在模型上就可以了。

2015年12月20日

數學函數紙模型

半年前去東京,看到一系列很美的模型,是用數學函數做出的。看到的當下,沒辦法拍照,回國之後找好久終於找到是哪邊出品的。原來是大橋製作所製作的,是很美的數學模型。
網站http://www.sugakuart.com/


會找到這個連結,其實是翻「青少年のための科学の祭典」,看到他們有資料
立体グラフ 「数楽アート」を作ろう
裡頭還有附上型紙,印下來剪一剪,就可以跟著作一個數學函數立體紙模型。

跟著作是一回事,我更想要弄懂怎麼製作,這樣我就可以任意產生各種函數來作模型了。

Google搜索引擎就有圖表繪製的功能,像是搜尋列直接輸入z=x^2-y^2,就可以看到這樣鞍型圖




或是輸入z=x*y*0.5,也有不同的鞍型圖


鞍型圖非常有意思,以為是谷底,其實是山頂,以為是山頂,其實還只是谷底,處在什麼位置,端看你用什麼角度去看。

所以我第一個嘗試就用鞍型圖來作吧,第一步是產出鞍型圖的曲面數據。這步驟我用Gnu octave來製作。

命令很簡單,兩行就可以產出z=0.5xy的數據,然後把數據存在0.5xy.dat這個檔案裡
d = ((-10:0.2:10)' * (-10:0.2:10))*0.5 ;
save("0.5xy.dat", "d");

接下來要做出立體的模型,我使用OpenSCAD來作,這是一個用寫程式碼來作立體建模的軟體。

程式也很簡單,就三行搞定
translate([0,0,70]) union(){
surface(file = "0.5xy.dat",center = false, convexity = 10);
translate([0,0,-70])cube([100,100,20]);

}




做出模型之後,存成stl檔,接下來就可以作應用了。
STL檔案我存在thingiverse上頭,還包括幾個不同的數學函數模型。
z=axy 鞍型
z=-(x2+y2) 是個拋物面
z=1-(x2+y2)^0.5 這個像是個角錐
z=acos(x2+y2) 這個像是水滴產生的波紋
z=x2-y2 另外一種鞍型


然後怎麼做出這樣的模型呢?需要用到123D make,在Autodesk的網站上可以免費下載。

123D make操作都很簡單,比較要注意的是怎麼設定「厚度」,由於我作的成品,可能用紙來作,也可能用壓克力雷切製作,所以我會作兩個不同的設定值,改變他們的厚度。

紙張部份就設定thickness是0.001,壓克力我預設會用2mm厚的,所以我就設定thickness是0.021。

製作產出的檔案,除了stl檔案之外,都在Google硬碟裡。

stl檔則都是放在thingiverse上頭。

2015年12月19日

如何邀約一場演講

因為擔任過演講者,我有過許多奇特的經驗,不乏令我翻白眼的邀約,還有令我感動的邀約。而在這些經驗之後,我也反省自己,當我是一個邀約者,我應該怎麼作,才能給予演講者該有的尊重,以下就是我的經驗。


邀約誰?
通常邀約者是因為擔任行政職位,或是有計畫在身的人。因此你被責付任務要去邀約,然而你可能完全不熟悉講者的領域,那怎麼辦?是不是就直接打電話去找講者,問他可以講什麼題目嗎?如果你真的這麼作,那你就開始不尊重對方了。

你應該先上網查詢講者的相關資料、發表、著作、演講過的題目......等,或是看看youtube上有沒有相關的影片,對講者有進一步的認識之後,然後去思考這個問題
「你希望安排這場演講,聽眾可以從講者那邊得到什麼?講者又可以為聽眾帶來什麼樣的議題」

先設定好了題目或是方向之後,再去進行下一步。

怎麼聯絡?
那麼,可以直接打電話去問了嗎?且慢,擔任行政工作的你可能會忘記一件重要的事,你邀約對象的工作性質不一定像你一樣。你可能會想,打電話直接邀約,不是就可以了嗎?可是當你賣力一直打電話找這個老師時,你會發現怎麼電話都很難找到他,總是同事來接電話,這怎麼回事啊?

中小學教師中通常只有擔任行政職的人,辦公桌上才會有電話,而且行政職的人才有比較高的可能性讓你一找就到。沒當行政的,就是當導師、專任老師,經常都不會在辦公室裡,而辦公室裡的電話,可能都是數十人共用一個電話。當你一直打電話進辦公室,其實就在造成對方的困擾。

老師待在辦公室裡,很少會聽到電話響起就立刻起身去接的,因為本身都還有其他事要作,而且接起的電話也未必是找他的。於是通常都是靠近電話的人,被吵得受不了之後,才去接起電話的。因此,請想想,當你高頻率地一直撥打辦公室電話,想要找你要邀約的老師,會造成他什麼樣的困擾?

那麼應該怎麼約呢?直接撥手機可以嗎?不一定行得通。你有空打給他,但是他不一定有空可以回給你啊,對方上課的時候,哪有可能接起電話。如果你打手機聯絡,沒有聯絡上,也要記得留言,或是傳簡訊告知。

許多人不習慣打了手機留言,而是聽到沒人接就掛斷,過一陣子再繼續打,但是請你用你辦公室的電話撥一通給自己手機,你看看顯示的號碼是什麼?你有沒有辦法從你手機知道是那個單位找的?如果你們單位有總機,那麼對方回撥過去,就只能聽到「OO單位您好,請直撥分機號碼......」,誰找的?完全不知道耶,沒留言沒簡訊,對方就只能看到一串沒辦法回撥的電話,徒增困擾。


所以怎麼聯絡呢?如果對方有在聯絡資訊中提供Email,那是最方便的,因為你可以把相關資訊先一併告知,也因為非即時同步聯絡,減少對方壓力。如果你覺得「可是,我真的很急,壓力很大,很想趕快聯絡啊」。坦白說,這是你家的事情,對方沒有必要為了「你很急」而配合你。

終於要聯絡了,要談哪些事情,這些基本的資訊通常你不會忘記,包括你的聯絡方式,演講的時間、地點、希望的講題,也要告訴講師,聽眾會有多少,有哪些身份。

除此之外,有一些是邀約者很容易忽略的。

費用
以「軍公教講座鐘點費支給規定」為準,如果是邀約同一個單位內的,那鐘點是800元,若是同一個縣市其他學校的老師,那就是1200元,若是外縣市的,就是1600元。

如果你想「欸,我們學校不是這個價錢耶」,那你更要特別注意了,可能是因為你們縣市或是單位用了自己的標準,降低了應該支付的費用,那麼你一定要在聯絡時特別說明費用,不然講者簽領據的時候,才發現怎麼費用是低報了,他不好意思的詢問你,你也只能很抱歉的跟他說。這些都應該在你諮詢對方時,確認工作契約的時候,就已經告知的,別等到講師人都已經到會場了,或是演講都已經結束了,才知道費用被少給了。

此外,還包括交通費。你們是不是支付對方高鐵、台鐵車資,是否接送對方來往車站,或是他自行前往,然後你們支付計程車費用,或是油資。千萬不要等到對方拿了交通單據給你,你再搖搖手說「喔,這個錢我們沒有付喔」


書面資料與拍照攝影
「邀演講時,可不可以要求講者事前提供簡報檔或是文章列印研習手冊?」
請問你們有編列稿費支付講者這部份的費用嗎?講師願意提供,是講師自身的意願,但不代表他「應該」提供。除非講題本身是政策宣導、操作作法等需要明確書面資料的,那麼你可以詢問講者「有沒有大綱,或是相關書面資料可以提供聽眾」,而不是直接要求講者事先寄送簡報檔給你。

另外,演講時也不應該拍照(包括拍攝簡報畫面),也不應該攝影,更不該要求講者留下簡報檔,這些都是講者的智慧財產,你也應該事前向聽眾說明會場不該作哪些事情。如果有這些需求,一定要事先詢問。如果講者應允,也不表示單位可以將圖片、影片、簡報檔放置網路上供其他人閱覽,這些同樣要再詢問講者。請記得你們單位支付的費用,僅是這數小時之內的演講費用,而不包括衍生的其他服務。

搞不懂什麼可以作,什麼不能作,就想想看電影就是了。看電影的時候,會隨著電影片拿到一本電影劇本嗎?看電影的時候又可以拍照、攝影然後上網分享嗎?


繼續聯絡
確認講師可以前來之後,並非就等著那天跟講師見面就好了。中間至少還要有兩次聯絡。
演講一兩週前或早些,詢問講者需要哪些器材,像是筆電、無線網路、簡報筆、雷射筆、印製書面資料等,也確認講師的交通方式,這也是順便提醒講師有這場演講,不要忘記喔。

演講一兩天前,再確認告知演講地點的前往方式,是要講者直接到演講地點,還是先到那個單位找誰。還有事先通知警衛人員預留車位,若講師前來,需要作哪些安排,要警衛聯絡邀約單位派人來接,還是請講師直接到哪個場地。


演講時要幹嘛?
場地中一定要有能處理事情的人在,而不是把講師一人放在會場,工作人員就閃了。哪些事情需要處理?最常發生的是無線麥克風沒電,所以要先準備電池,或是預先準備有線麥克風。如果有需要白板演示,也要確認白板筆都有墨水。此外電腦裡的簡報軟體,有可能因為不同版本而有不相容的情況,也要預先檢查,然後跟講者確認。


演講後還要幹嘛?
演講並不是一手交錢,一手交貨就結束了。如果你們有演講的回饋單,而且有題目是對演講的建議或心得,應該整理之後(或掃描)再寄給講師,讓講師也能從這場演講中得到回饋。

過程中也許你也徵得講師同意拍了活動照片,也可以再寄送給講師

2015年12月17日

使用音效卡進行數位量測的課程

目前設計的這個專題課程是以STEM為主的課程,從上次的紙電路開始,現在開始學習使用麵包板和音效卡進行數位量測,知道類比訊號轉換成數位訊號的方法之後,未來再學習Arduino的數位量測與動作。

基本上就是用神經系統的運作去理解,那些感測器就是受器,像是電容式麥克風、壓電片、光敏電阻、紅外線接收二極體,而電腦或是Arduino就是中樞。

基本連接很簡單,就是麵包板和幾條線,還有音源線、立體耳機母座。

音效卡數位量測課程01

耳機母座和麵包板的結合,可以把訊號很方便地藉由麵包板的送入音源線,當然最後就是進入電腦了。
音效卡數位量測課程02


一開始建議可以先用電容式麥克風來做測試,電容式麥克風可以將聲音訊號轉換成電能。
音效卡數位量測課程05

然後也可以用壓電片來連接麵包板,這樣可以感測震動訊號,或是螞蟻在壓電片上行走的訊號
音效卡數位量測課程06

也可以用光敏電阻來感測光的訊號,配合雷射光就可以做越線偵測,或是可以感測日光燈的閃光頻率。
音效卡數位量測課程04


而這次的課程主要是學習用紅外線接收二極體來接收紅外線訊號,另外要搭配紅外線發光二極體喔。使用這個紅外線發光與接收的組合,是因為這個會比光敏電阻的反應還快一些。
音效卡數位量測課程03


以下就是教學的影片,先簡單介紹麵包板與麥克風的連結方式



接著介紹幾種感測器的連接方式,你也可以用並聯方式連接多個感測器,這樣就能進行更多的感測活動。例如用兩組麥克風可以測音速,用兩組壓電片可以測固體的音速,用兩組紅外線接收感應,可以偵測通過的速度。


硬體和電腦的連接,是把音源線插入麥克風輸入孔。如果電腦的輸入孔是耳機和麥克風做在一起的,那就要另外購買分接器,一端是三環四極的3.5mm公頭,另外一端則是兩條線,分別是耳機和麥克風的輸入母頭。

耳麥合一的筆電,通常它的輸入只有單聲道的,對某些量測來說不太方便。你也可以購買USB數位音效卡來當輸入的介面,但是缺點是USB音效卡的取樣頻率通常是44.1KHz或是48KHz,而電腦本身的取樣頻率是可以更高的。


關於取樣頻率還有計算時間差的方式,可以看下一部影片,此軟體是Audacity。


學生在學習量測方式之後,就要自己發揮創意準備工具製作量測裝置
音效卡數位量測課程14 音效卡數位量測課程09


最後則是由學生自己錄製一段影片說明量測的方式和計算方式

2015年12月13日

血糖恆定的遊戲

從協調講到恆定的時候,體溫變化和血糖恆定,是兩個蠻容易用引導活動來帶的主題。

我講內分泌的時候,會讓學生自己採血驗血糖,一共驗兩次。驗了第一次之後,再喝一杯濃濃葡萄糖水,半小時之後再驗一次,當然很容易看到血糖升高的變化。
血糖測定
寫在白板上的數據有兩個蠻特別的,一個是116變104,一個是118變93。兩個同學都是下課就去打球,一打鐘衝進教室就開始驗血糖,喝了葡萄糖水之後,過半小時再驗第二次。兩種變因的情況下,要看第二次都比較難,不過倒是可以看到兩個學生運動後立刻驗血糖,都驗到蠻高的數據。


玩完這個活動之後,我就想來設計一個互動遊戲,是幾個同學作角色扮演擔任腺體細胞,會分泌腎上腺素、胰島素、升糖素,三者互相協調把血糖控制在某一個範圍裡。


於是我就開始著手寫這個互動遊戲了,我從網上找到smoothiecharts這個js的library,讓開發過程非常簡單輕鬆,一下子就用js+html寫了一個簡單的遊戲,用瀏覽器玩就可以了。


blood

檔案就放在雲端硬碟
https://drive.google.com/drive/folders/0Bzwhi7Oh9a5ZaFA4d3hkZ2UwMVU?resourcekey=0-WeGdFe7qrT8Zws0CQBQ6Kw&usp=sharing
把兩個檔案都下載了,放在同一個資料夾,然後用瀏覽器開那個bloodSugar.html就可以玩了。

遊戲會隨著時間變化出現進食、運動、睡覺等狀況,不同狀況都會對血糖值有不同的影響。

玩家必須隨時偵測血糖變動狀況,分泌不同的激素。血糖值要維持在70-110之間(兩條橫線之間)才會加分,超過或太低都會扣分。


電腦上可以用鍵盤按g分泌升糖素、按i降血糖、按e分泌腎上腺素(都是選用激素的英文首字),或是直接按按鈕也行。

2015年12月12日

玩eyewire遊戲來作視網膜細胞研究

人的神經元有數百億之多,延伸的神經纖維不計其數,究竟那些神經纖維怎麼延伸呢?是不是作個顯微切片拍張照就可以看到了呢?沒那麼簡單!

「這是用掃描式電子顯微鏡拍攝的視網膜細胞的一部分,可以看到神經纖維的走向」
「是嗎?到底怎麼走的?你告訴我啊!怎麼什麼都看不到」

(影像擷取自eyewire網站)
細胞是立體的,影像是平面的,所以需要把平面中屬於單一神經細胞的纖維挑出來,然後再一層一層拼接在一起。說起來很容易,但是做起來很困難。雖然電腦可以作這件事情,但是人腦更專長於視覺辨識,所以有沒有可能是大家貢獻一點腦力,作一些,然後電腦學著跟著作,然後作判斷分析呢?

有喔,現在這類型用群眾人腦外包的科學研究正火熱呢!MIT這eyewire計畫,就是其中一個。他們使用了掃描式電顯拍攝了老鼠的視網膜上的神經細胞,然後有來自145個國家,超過20萬人的參與。

作什麼呢?就是玩遊戲,像這樣影片一樣,把每張顯微圖片上,把屬於單一神經的纖維都塗上顏色,一層一層作,就可以建構出一個立體結構


遊戲畫面就是這樣



每次處理一個小方塊,大小只有4.5微米,只有神經細胞的一小部份。當每個小方塊都處理完之後,就可以看出神經元複雜的情況了。




而如果把周圍鄰近的神經元都3D建模出來以後,更能夠看到神經元之間複雜的突觸,是怎麼連結的。你可以從這個Cell Museum中看到這些細胞,他們包括了視網膜裡的雙極細胞和神經節細胞。




想玩玩的話,用臉書帳號登入Eyewire.org就可以了,網站有一步一步的教學。

網站也有提供教育者一整頁的神經系統相關教學資源,有影片、數位媒體等

用python分析 moodle 活動完成報表

事情要從讓九年級作個別化學習課程開始,當初是暑輔的時候開始進行,學生一週有兩節生物課,所以一週一單元的進度算是恰當。可是開學之後的課程是兩週一節,有的時候還會因為國定假日、段考等放掉,就變成一個月上一次課,最久的一次是一個半月上一次課。

所以大家的進度就會差很多,快得很快,慢得很慢,活生生的差異化。於是乎我得用不同的方式來掌握學生進度,moodle有個外掛Gismo大大幫助了我,只要選好人名之後,就可以即時產出報表,有紅色方塊的就是那個小單元有達到100分的。可是這樣會有一個缺點,有些同學如果當節怠慢沒作,我從這樣的圖表裡是看不到的。









還好還好,Gizmo可以調整時間區間,我可以看到在這段時間裡誰做了多少,於是我就可以規定每個學生該節都要通過五個或六個測驗。但是啊,還是有個缺點,我得上下來回捲動畫面,才能知道一個學生完成了多少。上課就變成我得常常作在電腦前捲來捲去,幫學生檢視他完成度有多少,畢竟學生可能不太記得啊。我心想,我應該把時間用在學生身上啊,怎麼可以在那邊捲來捲去的。





於是乎,開始想要自己寫一個程式來抓進度,一開始是想自己改寫Gismo的外掛,不過打開來看之後,根本就看不懂。還是乾脆自己動手寫好了。

這段時間剛好都在看大數學堂的大數據分析教學影片,就發現可以用python來解決問題,分析的對象就從moodle本身的「活動完成進度」報表來作。

我要作到能從這張報表產出橫條圖,而且我能改變統計的起始區間,還有橫條圖的顯示模式、班級類別...。更重要的是,要能不斷更新,讓我不被綁在電腦前面,只要螢幕投出來,師生都可以同時看到進度。




既然目標定好了,就是開始執行的時候。我覺得熟python的人,應該是一兩下就可以弄出來了,不過我是初學者,寫得差點想放棄。


好朋友美芳去參加論壇聽到的話,我覺得很棒
「不要因為做不到而說沒辦法,要為可能作得到而想辦法。」

雖然寫得很久,但是最後也做出來了,喔耶。


python的程式碼在這
https://drive.google.com/folderview?id=0Bzwhi7Oh9a5ZMHd5aVY2VFJnaTg&usp=sharing

用python每隔幾秒就去抓一次活動完成報表,分析之後做出一個會自動整理頁面的html檔,而那個檔就是呈現橫條圖。所以我只要python開了,瀏覽器也開啟那個檔案,它就會一直更新一直更新。

學生抬頭看螢幕,就會知道自己目前有沒有達標,也可以知道自己和其他人的進度差別在哪。



產出html檔還有好處,我可以任意改變圖呈現方式,像是用天線寶寶當橫條。
「那個OOO有8個天線寶寶了,我一定要超過他」
「耶,我有5個天線寶寶了」





也可以同時呈現該節課的完成進度,還有從以前到現在的完成進度,然後學生就會被激勵。
「什麼!我差三個就會被後面追上了,我要衝一下」當晚就看到學生會自己上線衝進度了








iJump考卷的試題分析

這篇喔,是結合以下兩篇的結果
用R作成績分析(2)-產出SP Table與視覺化呈現試題、學生與班級分析圖表
曬考卷喔-用iJump當主題作生物上冊第一次段考的試卷


考卷出得很有意思,我也盡量去出一些不是記憶的題目,但是分析出來會長什麼樣哩?

有一種出題的概念是希望學生寫考題時,由簡單寫到難,才不會打擊學生,不過我們出題倒是沒有說一定這樣設計就是了。看題目分析的難度也通常都是0.5以上,只有幾題是低於0.5的。





看了這個圖表就知道有幾題是有問題的喔,舉幾個例子來看喔

第12題難度低、鑑別度也低、問題注意係數很高
第40題鑑別度高、難度低、
第10題注意係數略高





以12題來說,當初出題的想法是讓學生寫C,但是仔細一點的學生會發現D也是符合題幹所敘述的,所以這就是老師自己被既有知識卡住了啊,後來這題就CD都算分了。

12.宣瑾玩完了原始地球之後,就穿越回到現在的地球。她從海平面起飛,每隔一段距離就去用生命探測儀去調查那個高度是不是有生物存在。請問當宣瑾飛到哪個高度之後,就偵測不到任何生物了?
(A)1 公里
(B)5 公里
(C)10 公里
(D)20 公里

第10題的部份,雖然都是課文裡的知識,只是通常不是學生讀的重點。所以分析時就會發現學生作答有一些異質性。
10.iJUMP 功能超多的,還能夠潛水呢!宣瑾駕著它潛入了海洋裡頭去採集海水。經過電腦分析之後,她發現海水裡具有許多礦物質,像是鈉、鈣...等。請問這些海洋裡的礦物質的主要來源是什麼?
(A)海洋裡的生物死亡之後,被細菌分解形成的
(B)陸地上的岩石被水侵蝕溶解,被河流帶到海洋
(C)存在於天空中的灰塵,因為降雨而被帶到海洋
(D)外星球的隕石、碎粒穿越大氣層掉落海洋形成的


第40題的部份,很多人都會選C,忽略了有些物質是進不去的。其實我不太想考這種因為小疏忽就會錯的題目,所以下次再出這樣的題目時,就會儘量避免這種考記憶的題目。

40.宣瑾仔細觀察細胞內的構造時,發現無論是細胞外圍的細胞膜,或是細胞內的構造(例如液胞、葉綠體),外圍都是有膜包圍起來的。請問那層「膜」的功能是什麼?
(A)支撐細胞,讓細胞穩固
(B)使膜內的化學反應可以獨立進行,不會受到膜外環境的影響
(C)保護膜內的環境,阻擋所有膜外的物質進入膜內部
(D)膜能製造出養分,提供細胞或細胞內構造充足營養

曬考卷喔-用iJump當主題作生物上冊第一次段考的試卷

設定一個主題貫穿整張考卷這事,好幾年前出上冊第三次段考的時候就曾經作過,那個範圍裡有很多疾病、症狀的名稱(糖尿病啦、心血管問題啦、中風),所以那時候我虛擬了一家人,裡頭就是爸爸中風、媽媽有糖尿病、哥哥有侏儒症之類的,結果考完以後,學生來問我「老師,你怎麼都知道我家裡發生什麼事情」「呃......」

我才知道原來世界上真的有巧合啊

那麼我第一次段考的題目這樣出,總不會有巧合了吧!題目主軸就是個時光穿越機iJump啊,故事都寫在小框框裡,如果不看故事,光看題幹也都是可以寫出來的。

聽學生說,一堆人寫完了之後都在看天花板,然後第二次段考拿到自然考卷時,好多學生很期待考卷上會出現iJump第二集啊,不過我們都是輪流出題,所以不會有第二集的,但明年我再出題,我也是有新的素材啊。

後來我自己用Moodle玩密室脫逃時,也是有把iJump放到題目素材哩。









用R作成績分析(2)-產出SP Table與視覺化呈現試題、學生與班級分析圖表

上上個月試著用R做了簡單的試題分析,一直覺得不過癮,於是繼續花時間鑽研怎麼用R再做出更有意思的試題分析,經過好幾天的嘗試之後,總算搞定了。

R的命令檔放在這邊
https://docs.google.com/document/d/1tphSeYBPWrgjmeQ3YS-abI37Xk73A1xGMXpiJtI6teg/edit?usp=sharing

分析的讀卡檔必須是utf8(無BOM)的文字檔,格式如下圖。如果是用windows的,用notepad++來處理文字檔比較保險。因為內建的記事本,會幫文字檔加入BOM,用R處理時就會發生錯誤。



可產出的圖表如下,直接做出成績分佈圖,還有全年級的成績盒鬚圖,紅線代表的是全部應試者的平均分數



對個別班級或學生有用的是「學生問題分析圖」,也就是SP Table(或叫做SP chart),可以看出那些題目是難題、易題,哪些學生有可能粗心,並且可以直接提供學生作為學習參考。



針對題目的分析,可以看這幾個圖,能夠看出哪些題目的難度低、鑑別度低或是注意係數偏高,然後再針對這些問題作質性討論。






以左上的難度圖來說,高的線段就是簡單的,所以學生作答時應該會覺得輕鬆容易,低的線段就是難的,學生作到那邊時就會得很沮喪吧。所以這張組圖應該就是視覺化呈現學生作答時的心路歷程吧。左下的則是把所有題目依難度高低排序出來,以這份題目來說,絕大部分的難度都是高於0.5。



通過率和難度算法不太一樣,通過率就是全部應試者答對該題的比率,難度則是用高分組和低分組的答對率相加除以2。不過兩者呈現的趨勢其實差不多就是了(高分組和低分組都是用25%去計算)

除了這些以外,內部還有一些數據分析的文字檔可以作為試題分析的參考。