分類彙整: 107年度科技部高瞻計畫
[中區方案分享] 中興大學師培中心
[媒體報導] 20180125中天新聞採訪物聯探實達
感謝中天新聞的報導,還有503班王晨竹,周立恩,吳孟婕,邱詠珊,翁子修,許軒豪的幫忙。感謝Chou Wen-sung校長的推薦,讓中港高中,也成為maker的知名高中
接受採訪前兩天: 1/22(一) 導師辦公室,校長室打來的內線電話
就在學期末的最後一天,原本該忙於大掃除,結業典禮的日子,
在台中市教育局課程督學的推薦之下,周校長通知我們,
中天新聞想要來採訪物聯探實達的多元選修課程,
只有三天可以準備,這下子,又讓”搞操煩”的我,
開始失眠了,因為我們的IoTtalk系統,還沒有正式上線
接受採訪前一天 1/23(二) 20:00 多功能教室
身為設計思維班導師的我,立馬想到,”抱怨之所在,設計之所在”,
找來了六個組長,王晨竹,許軒豪,周立恩,吳孟婕,邱詠珊,翁子修
很不幸的,IoTtalk的操作方法,一直都卡關中,眼看著時間一點一滴流逝,
同學們紛紛打電話跟家長臨時報備,
今天要幫老師準備媒體採訪的事宜,
幸運的是,這群孩子平常很乖,所以即便臨時跟家裡告假,而沒有事先報備,
因為信用很好,
所以,有四個同學,留下來奮鬥。
鋼鐵擂臺是物聯探實達擺攤時的利器,
但是,用手機學物理的VPhysics連結IoTtalk,
才是真正的物聯網,卻還沒成功上線。
深呼吸,不要急,
把王讚彬教授演講的影片拿出來給這四位組長,
一步一步,完成
終於,在晚上八點左右,完成了測試,雖然變數還很多,網路的穩定度,
手機的WIFI連線,都讓人擔心不已。
接受採訪當天 1/24(三) 13:00 多功能教室
在考完期末考的最後一節,午休過後,503班,設計思維專班,
整整齊齊地進入多功能教室,
大家投入採訪的工作,把平常最優秀的一面表現出來,
真是讓身為導師的我,感到驕傲。
平常的教誨,沒有白費,
我們登上了全國的媒體了。
短短三天,令人感動的三天,
我們做到了,成為國內知名的maker高中了,
要感謝的人太多了,就謝天吧~~
運算思維(Computational thinking)- Blocky game
https://blockly-games.appspot.com/
Blocky game是專為年輕程式設計師而設計的遊戲,
所謂積木式的程式設計,像Scratch一般的拉放之間,便可完成程式設計。
第一個遊戲:拼圖
這個遊戲主要是介紹如何利用拖拉積木塊,將積木塊放入適當的位置。
主要是(1)將照片嵌入,(2)腳的數目用下拉式選單選出,(3)將兩個特徵放入迴圈裡。
對於熟悉積木式程式設計的人,應該很快就可以破關
第二個遊戲:迷宮
第一關:連接兩個指令
第二關:練習下拉式選單
第三關:練習迴圈(while)
第四關:while迴圈+下拉式選單
from visual import *
cube0=box (pos=(0,0,0),color=color.green)
cube=box (pos=(0,0,0),color=color.red)
while (cube.pos.x<10):
rate (1)
cube.pos=cube.pos+(1,0,0)
rate(1)
cube.pos=cube.pos+(0,1,0)
第五關:迴圈內外的差別。只有迴圈內的指令才會不斷被執行,因此不需要重複的指令,可以放在迴圈外。
第六關:while迴圈+if then 迴圈。兩個迴圈相加,可以不斷的判斷,重複相同條件。這個訓練開始要慢一點,想清楚一點,因為這個技巧後面會反覆用到,開始變難了。
第七關,真正的迷宮開始,
可以先用自己的話講一遍,
如果前方有路=>前進,然後
(如果右邊有路=>右轉)
第八關,也很難while迴圈包了三個if then 判斷迴圈 (保留給讀者解了)
第九關,接近破關的難題,(保留給讀者解了)
這個遊戲第十關相當難,也有不同的解法,
有興趣的朋友不妨試試自己的code thinking功力,
我自己呢,想了兩天,才解出來。
第三個遊戲:鳥
目前這個遊戲還沒破關,繼續努力中…
[物聯探實達課程] 學生作品﹍哪來的靈動?
from visual import*
a=-9.8
v=-4.0
v2=-10.0
vy=0
size=0.2
h=10.0
dt=0.001
scene=display(title=’1′,width=800,height=800,x=0,y=0,center=(0,0.06,0),background=(0.5,0.6,0.5))
floor=box(pos=(0,-(0.05)/2,0),length=5.0,height=0.05,width=10.0)
ball=sphere(pos=(0,5,0),radius=size,color=color.red)
while(True):
rate(1000)
vy+=a*dt
if ball.pos.y>size-0.01:
ball.pos.y+=vy*dt
ball.pos.x+=v*dt
ball.pos.z+=v2*dt
if ball.pos.y<=size:
vy=0.9*abs(vy)
if ball.pos.x<=-5:
v=0.9*abs(v)
if ball.pos.x>=5:
v=-0.9*abs(v)
if ball.pos.z<=-2.5:
v2=0.9*abs(v2)
if ball.pos.z>=0.8:
v2=-0.9*abs(v2)
if ball.pos.y<=size-0.01:
ball.pos.y+=0
ball.pos.x+=v*0.7*dt
ball.pos.z+=v2*0.7*dt