發表文章

目前顯示的是 3月, 2017的文章

程式語言師資/教學/設備解決方法評估

針對教學/學習/開課門檻,提出一些解決方案 硬體部份: 1.PC MOVE。 2.Arduino。 3.使用開源硬體。 軟體部份: 1.Scratch 2.0。 2.Transformer。 3.Arduino IDE。 4.Autodesk 123D Design/Autodesk Fusion360教育版。 5.使用開源軟體。 師資部份: 1.師資培訓。 2.師資交流。 3.定期研習。 課程內容: 1.Scratch 2.0教學。 2.Transformer使用。 3.Arduino IDE教學。 4.程式語言技巧教學。 5.Scratch 融入國中、小數學領域。 6.3D列印機使用。 7.Autodesk 123D Design / Autodesk Fusion360建模基礎。 8.機械手臂。 9.智能農場。 10.師資培訓課程規劃。 中心理念: 所有的軟體跟課程,都沒有綁定特殊規格的硬體, 使得學習門檻降低,進而推廣平價機器人教育。

學習程式語言門檻很高嗎?

107 課綱把資訊科技納入十二年教育中, 變成不管有沒有興趣,勢必要學習這門課程。 先來個軟、硬體跟課程分析吧! 軟體部份: 先說在此之前,其實會去學程式語言的人並不多, 讀資訊工程學系的人畢竟是少數, 那以全台灣大學畢業科系名列前矛的資訊管理學系來說, 真正會Coding的人佔了多少? 您可以自己去統計一下,保證比例低得嚇人! 樂高機器人系列,軟體好像也是一筆不小的開銷(不知有沒有合法超越的方法)。 硬體部份: 講到機器人,大家第一個聯想到的一定是樂高,樂高有分機械結構跟動力機械兩種, 基本的就要花個2萬台幣以上,而且台灣總代理價錢很硬(有人去談過嗎?) 再來是電腦部份,筆記型電腦是不錯的選擇,市面上有很多,可以依據自己喜好去挑選。 課程部份: 會程式的人不多,就算會,也不知如何教導小朋友學習程式語言, 所以只有到外面選擇課程上課。 會發現一件事,資訊重北輕中南的情形很嚴重, 有人會問,那偏鄉地區呢?別懷疑,大師們現在都在那些地方居多。 以上三個問題都解決了,或許會有人問,考試又不考,為何要學這些? 這點就勞煩上Google用關鍵字打"107年課綱",或許就會有答案! 不然上教育部綱站自行閱讀 十二年國民基本教育課程綱要總綱(教育部發布版) 學習門檻,很高! 補習班開課門檻,更高! 是導致機器人教育無法普及的最主要原因吧!

課程內容初步規劃

因應物聯網時代來臨, 再來是107年課綱的制訂,把資訊科技列為重要必修課程, 學程式,好像變成全民運動了。 不暪大家,訊息得知得很晚,可是覺得,晚沒關係,實際行動才重要。 在農曆年前才得知此一訊息,便積極閱讀相關的資料, 在Google上只要打上關鍵字,資訊就一大卡車, 其中最感興趣的便是由 MIT 開發的一套程式設計軟體 Scratch 2.0版, 印象中,台中地區的學校好像有舉辦過走迷宮比賽, 排名好像有全校排名跟全中區的排名,奬品好像是隨身碟?? (這個我可能要回去好好問一下我兒子,因為那時我有教他解迷宮問題) 電腦跟數學有脫離不了的關係,那就把電腦用在國中、小的數學上面, 有了這個想法後,便去了解Scratch的基本的積木功能, 訂出的原則是: 1.只利用基本的積木,不用擴充基木。 2.利用翻轉課堂的教學法,用引導代替教導。 3.導入一些程式設計人員必要的技巧跟手法,不要只迷思在重覆執行上。 4.逐步導入自己編寫程式,而不只是利用積木的排列組合來完成。 5.發表自己的做品。 6.不止是數學,還可以應用在其他科目上面。 當然範本是以數學為主。 因此用了"Scratch 融入 STEAM'當名稱。 那個A,想了好久,有辦法融入嗎?(好像可以吼) 先說個題外話,其實早在好幾年前, 就有想過要讓我家小朋友去上有關機器人設計的課程, 那時市面上能想到的機器人相關課程只有.....樂高.... 沒錯,當時也是有一群努力向上的年輕人,一樣開一間公司, 一樣組一個團隊,以樂高積木為主,去推廣樂高機器人課程, (那個簽約表格跟 Sales Book 剛好在年前整理家中雜物時,被丟棄了) 我記得他們的名字叫BOX..... 找到歷史影片檔了  https://www.youtube.com/watch?v=1tKT9LV9JZc 樂高積木那個NXT,教育版的一套要上萬元,軟體授權還不算在裏面, 規格綁得死死的,台灣總代理也很高格調, 因此當時也就.....殘念。 言歸正傳,Scratch 2.0 在網路上早已有一群熱心的學校老師, 幫孩子們規劃未來實行N107年課綱時,所需上到的內容, 各大媒體也有很多相關的報導,所以就不多講了。 其實我對另一種有興趣, 找Scrat

0.96" OLED 上顯示數字跟文字

OLED 顯示文字 利用Arduino IDE 1.8.1 OLED 驅動程式用 U8glib.h U8glib.h下載 說明: 原本是用在隨身PM2.5空氣盒子上,跟顯示沒相關的程式碼拿掉作示範 因為要顯示的資訊不少,OLED只有0.96 " 所以只顯示英文字跟數字,沒有圖案跟中文字喔, 需要中文字跟圖形動畫顯示的,就再自行參考估狗大神了。 程式碼如下: #include <U8glib.h> // 設定OLED類型,這個就是0.96" OLED U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // 因為PM2.5感測器,會有一些回傳值,會顯示在OLED上 // 先給一些數值,好對齊排列   long pmat10 = 999;                             // PM1   long pmat25 = 888;                             // PM2.5   long pmat100 = 777;                           // PM10   long pmt= 65;                                     // 溫度   long pmh= 99;                                    // 顯度 //副程式 void draw() {        //統一處理所有顯示文字和數字的工作   //可以改成全部用setPrint跟print處理就好了   //會用兩個的原因是要處理變數的顯示,對這個函式庫指令不太熟     u8g.setFont(u8g_font_8x13);     u8g.drawStr(0, 10, "T=");     u8g.setPrintPos(17, 10);     u8g.print(int(pmt));         u8g.drawStr(33, 10, "(C)");      u8g.drawStr(60 ,10, "H=");     u8g.set

電腦概論 -- 程式流程控制

圖片
電腦概論課程 程式流程控制 用電腦解題-程式流程圖 程式設計目的 發展研究工具。 解決問題 。 程式設計流程 分析 問題 和 需求 。 設計 演算法(Algorithms) 。 有限性、明確性、有效性、輸入資料、輸出資料。 撰寫程式 。 電腦對原始程式的處理 。 編譯(Compile)、執行(Exeute)、除錯(Debug)、測試(Test) 。 演算法-表達方法 文字敘述。 虛擬碼(Pseudo Code) 。 流程圖(Flow  Chart) 。 使用標準圖示符號來描述執行過程。 以各種不同形狀的圖示表示不同的操作。 箭頭線標示流程執行的方向。 流程圖-基本符號 程式流程結構-定義 程式語言撰寫的程式碼其中大部分是一行指令接著一行指令,循序由上而下執行。 對於複雜的工作流程,為了達成預期的執行結果,需要使用「流程控制結構」(Control Structures),改變執行的前後順序。 程式流程結構-循序結構 程式 預設的執行方式 。 一個敘述接著一個敘述 由上而下依序 的執行。 在流程圖上方和下方的連接符號是控制結構的 單一進入點和離開點 。 循序結構 只有一種積木 。 程式流程結構-重覆結構 迴圈控制。 重複執行一個程式區塊的程式碼。 提供結束條件結束迴圈的執行。 依結束條件測試的位置不同分為兩種: 前測式重複結構。 後測式重複結構。

計算性思維(Computational Thinking)

計算性思維,近期很熱門的討論話題 。 很有趣的一個論點。 原文出處,2008年在期刋中發表 Computational Thinking 精簡出下列精華: 四個Computational Thinking核心能力: 分解 ( Decomposition ): 將一個專案或問題分解成數個步驟或小部分。Breaking a task or problem into steps or parts. 找出規律 ( Pattern Recognition ): 預測問題的規律,找出相關模式並且做測試。Make predictions and models to test. 歸納與抽象化 ( Pattern Generalization and Abstraction ): 找出最主要導致此模式的原則或因素。Discover the laws, or principles that cause these patterns. 設計演算法 ( Algorithm Design ): 設計出能夠解決類似問題並且能夠被重複執行的指令流程。Develop the instructions to solve similar problems and repeat the process. 這不就是我們解決問題的步驟嗎? 原來利用這樣的思考邏輯,就可以把問題量化, 然後交給電腦處理 !! 問題:明天早上九點要去台北總公司開會 先分解問題   要利用何種交通工具到達?高鐵   需不需要先訂票?要 需不需要轉車?要 找出其中的規律 時間比較快,只要不到一個小時就可到達台北 歸納與抽象:找出其中最主要的原因 一早沒接泊車,需要坐計程車或者請親人接送 需要先訂票,到7-11買票 需要請親人特地接送到高鐵站 設計演算法:最後設計出一系列解決的方法 先訂高鐵票,早上7的車 出發前要先取票 請家人早上6點30分點出發至高鐵站 7點準時上車,8點到達台北 步行至公司10分鐘,可提早到公司準備資料 教育部 運算思維推動計畫

如何學習Scratch ?

Scratch 的操作介面很親民,自己學不會花費太多時間跟精神, 自學: 網路上有很多熱心的老師, 提供許多的教學影片, Scratch台灣- 創意程式設計- 想像、程設、分享 程式設計邏輯訓練:使用Scratch - 均一教育平台 阿玉make研究區 參加研習課程: 熱心的前輩會不定期開研習課程, 收費很合理,最主要是可以學到老師的秘技。 Robot機器人體驗營(One Robot Per Kid.Taiwan)

Scratch 是什麼? 為什麼那麼熱門?

圖片
農曆年前,快過年的某一天,拿起手機,無聊的看著FB; 突然看見某社團,有人發一個公開訊:有誰想要討論一下107課網的因應措施。 剛開始也不以為意,想說會有什麼新變革, 因為自己小孩讀國小,自己也從事補教相關工作, 就順手上網查了一下資料, 課綱,當然是找教育部了 。 十二年國民基本教育課程綱要總綱(教育部發布版) http://www.naer.edu.tw/files/15-1000-7944,c639-1.php?Lang=zh-tw 節錄內容如下: 107年課綱:由「國家教育研究院」規劃的107課綱草案, 預計新政府上路後, 教育部將會重組「課審會」進行審議。 根據既定草案內容, 「程式設計」將屬於科技領域的一部分, 國中、高中階段列為必修課程 , 但在 國小階段, 則可依照學校資源條件與學生特性, 進行融入性的教學規劃, 或是也可成立社團提供學生學習 。 以上等於告知,有資源的學校, 加上有心的老師, 才有可能把這個課綱完整呈現。 那沒有資源, 又沒有這個專長老師 的學校呢? (這是一個好問題,資訊重北輕南的效應,應該很快就看得到) 果真,台北出手了 〈台北都會〉台北》9月起 小一、小二增程式教學課 那台中呢??何時才有動作?? 心裏想,難怪去年的時候,台中市有辦那個什麼走迷宮大賽, 好像是用Scratch,查了一下,不出所料。 原來國中、小的程式設計課程, 就是選用Scratch,他是一個親和的介面, 學程式變簡單了,外觀像積木一樣, 一個一個曡上去,用大量的圖形積木代替打字, 使得5到95歲都可以學習。 不用擔心記憶體,不用做宣告, 不用呼叫函數,不用決定要傳值還傳址, 不管父類別、小類別、繼承之類的問題, 不用擔心語法錯誤等等的問題。 不過邏輯錯誤就需要訓練了! 這樣學習起來就超有成就感的。 什麼是 Scratch 呢? 美國麻省理工學院開發了一套兒童程式語言【Scratch】, 特色在於沒有複雜的文字指令, 所有的指令都是以視覺化的積木來呈現。 要完成一個程式,只要像組合積木一樣, 就可以完成一個程式。 因此,完全沒有程式設計經驗的孩子可以立刻上手, 開 始設計程式。 Scratch

用電腦解題 -- 國小最小公倍數 ~~

圖片
用電腦解數學題目 有甲、乙兩個鐘,甲每25分鐘響一次,乙每30分鐘響一次,已知第一次同時響是在上午8時30分,請問第二次同時響是在何時? 分解問題: 兩個整數的公倍數有無限多個,其中最小的就稱為最小公倍數。 找出規律: 要找出第二次同時響的時間,所以是要找出最小公倍數。 抽象化: 用X(未知數)來代表所求的最小公倍數。 歸納: 範圍只限定整數部份。           (可以用短除法求出兩個收共同的質因數,再將這些共同的質因數和其他非共同的           質因數相乘,所得到的結果就是它們的最小公倍數。)            (互質的兩個數,它們的最小公倍數就是這兩個數的乘積。) 設計演算法: 找出兩個數的共同因數,再去乘以其他非共同因數的演算法的流程。 設計演算流程,可以用流程圖幫助思考。 一.先畫出流程圖: 流程圖主要用意,是讓我們可以更加了解題目的意恩,透過流程圖,可以把要做的步驟,一步一步變成電腦解題的方式。 二.撰寫程式碼: 依照所劃出的流程圖,請電腦來幫我們解這個題目。 1.       輸入題目資料: 除了輸入題目提供的資料外,還需要比對輸入的資料跟題目是否一樣,一樣的話顯示出來,不一樣的話要重新輸入,直到輸入正確為止。 有可能要請電腦記憶下來輸入的資料,是否需要用到"變數"這個功能?或 者有其他方法可以代替? 程式碼如下:     在這個題目,設定了一些變數 很多變數都有一個中文名稱,應該很容易懂意思,其中有一個i,是一個計數功能,沒有任何意義,在電腦程式設計上,習慣上以i表示 2.計算最小公倍數: 電腦的計算方式,跟我們在課堂上所學習的方式是不一樣的,所以我們要想辦法把計算方法換成電腦可以接受的方式,電腦跟我們比起來,最大的優點就是,計算速非常快,可以善加利用這個優點,來計算出我們要的答案。 計算方法有很多,不是只有一種,只要了解如何計算最小公倍數,就可以輕易地設計出運算方法。 3.時間單位換算: 算出來的最小公倍數單位是分鐘,我們需要判斷是否有超出60分鐘,有的話需要進位,還要判斷是否有超過12點,有必要的話要把時間制換成下午。