『彈指玩轉世界』專書發表暨程式教育論壇(1060314)

日期:106年3月14日

地點:新北市政府大樓6樓大禮堂。

活動內容:

9:30-10:00 報到(發送參與人員專書1本)。
10:00-10:40 揭書儀式、播放程式教育影片、長官貴賓參觀主題展區。
10:40-11:10 專題演講。
11:10-12:00 程式教育分享會(沙龍座談)。
12:00-13:00 參觀主題展區。【會後發贈餐盒】

參考資料:

相關連結:

活動照片:(摘錄自彭于佳、黃保太、呂天齡的Facebook)

新北市程式開發社群工作坊-Scratch擴充積木設計(1060308、0315、0322)

日期:106年3月8日、3月15日、3月22日

地點:新北市教研中心

講師:蔡佳倫老師

三周的課程如下:
—————————————————————-
3/8 第一節課會先講語言的轉換
3/15 第二節講講mblock的積木撰寫
3/22 第三節會講python跟scratch
—————————————————————-

設備使用 Arduino模擬器 和 S2A,不用準備硬體!

課程內容:

Scratch 擴充積木設計:

教學範例:

base_helper.s2e


{

“extensionName": " 自訂積木 “,
“extensionPort": 50000,
“blockSpecs": [
[“r", “資料", “hello"],
[“r", “資料1″, “hello1″],
]

}


用Python擴充我的Scratch2 — 原理與Hello World篇

base_helper_py3.py


def do_GET(self):

  try:

 """
 process HTTP GET requests
 """
# skip over the first / . example: /poll -> poll 
 cmd = self.path[1:]
 # create a command list . 
 cmd_list = cmd.split('/')
 
 s = "不回傳資料"
 ###### 處理Scratch送出的命令
 ###### 若需回應Scratch的Poll命令,再把文字存在變數s ##
 ##############################################################
 
 crlf = "\r\n"
 if cmd_list[0] == "poll":
 s="hello " + "hello" + crlf
 s+="hello1 " + "hello1" + crlf
 
 #############################################################

except:

s = “不回傳資料"

finally:

self.send_resp(s)


Creating Scratch 2.0 Extensions 摘要說明:

Block description

Each block is described by an array with the following fields:

  • block type
  • block format
  • operation or remote variable name
  • (optional) zero or more default parameter values

The block type is one of these strings:

  • " " – command block
  • “w" – command block that waits
  • “r" – number reporter block (round ends) ==> 前面有帶一個 checkbox
  • “b" – boolean reporter block (pointy ends)
  • “R" – Reporters that wait (round ends)

The block format is a string that describes the labels and parameter slots that appear on the block. Parameter slots are indicated by a word starting with “%" and can be one of:

  • %n – number parameter (round ends)
  • %s – string parameter (square ends)
  • %b – boolean parameter (pointy ends)

Menu parameters

Both command and reporter blocks can include menu parameters:

  • %m.menuName – menu parameter (not editable)
  • %d.menuName – editable number parameter with menu
{ 
  "extensionName": "Kinect",
  "extensionPort": 12345,
  "blockSpecs": [ 
    ["r", "get %m.coordinate position of %m.bodyPart", "position"],
  ], 
  "menus": { 
    "coordinate": ["x", "y", "z"],
    "bodyPart": ["head", "shoulder", "elbow", "hand"],
  },
}

position/y/hand 247 => 回傳值為 247 (鍵、值用空格分隔)

Polling (每秒 30 次)

Scratch to retrieves sensor values and status information from the helper app by sending a poll command:

request: /poll

Here’s an example poll response:

response: 鍵、值用空格分隔,每一筆資料用 crlf (\r\n) 分隔

brightness 75 + crlf (\r\n)
slider 17 + crlf (\r\n)

Commands

/beep                    (command with no parameters)
/setVolume/5   (command with a numeric parameter)

Commands that wait

turn motor on for 3 seconds

turns on the motor, waits three seconds, then turns it off again. When this block is used in a script, execution does not continue to the next block until the command completes. A command that waits is indicated by the “w" block type in the command descriptor.

When a “w" command is invoked, Scratch adds a unique command_id parameter to the request (before any other parameters). For example, for the motor command above Scratch would send:

request:     /motorOn/2437/3

The first parameter, 2437, is a unique identifier for this invocation of the command. For the three seconds that this command takes to complete, the helper app adds a busy line to the poll request:

response:  _busy 2437 …

A busy line consists of the string “_busy" followed by a list of unique identifiers separated by spaces. When Scratch gets a poll result that doesn’t include 2437 in the busy line (or doesn’t even have a busy line), it knows that the command is complete and allows the script that invoked that command to proceed.

Reporters that wait (目前已實作出來) => “R"

temperature in city_name

request:     /getTemperature/7639/Boston

response:  _result 7639 82

Reset command

Scratch extensions can control motors or music synthesizers. Users expect to be able to stop everything — turn off motors, silence music synthesizers, and reset hardware back to it’s original state — by clicking the stop button in the Scratch editor. Thus, when the stop button is clicked, Scratch sends a reset command to all active extensions:

request: /reset_all


參考資料與範例:

mBlock 擴充積木設計:

mBlock 積木程式轉Arduino 程式教學:

範例一:

Autodesk 123D circuits 繪圖

mBlock 積木程式:

Arduino 程式

#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>

double angle_rad = PI/180.0;
double angle_deg = 180.0/PI;
double switchStatus;

void setup(){
Serial.begin(9600); //改成9600,才能於123D中執行
pinMode(2,INPUT);
}

void loop(){
switchStatus = digitalRead(2);
Serial.println(switchStatus);
_loop();
}

void _delay(float seconds){
long endTime = millis() + seconds * 1000;
while(millis() < endTime)_loop();
}

範例二:

Autodesk 123D circuits 繪圖

mBlock 積木程式:

Arduino 程式

#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>

double angle_rad = PI/180.0;
double angle_deg = 180.0/PI;
double Button;
double LED;

void setup(){
    Button = 2;
    LED = 12;
    pinMode(Button,INPUT);
    pinMode(LED,OUTPUT);
}

void loop(){
    if(((digitalRead(Button))==(1))){
        digitalWrite(LED,1);
    }else{
        digitalWrite(LED,0);
    }
    _loop();
}

void _delay(float seconds){
    long endTime = millis() + seconds * 1000;
    while(millis() < endTime)_loop();
}

void _loop(){
}

參考資料:

BlocklyDesigner 安裝教學:

蔡佳倫教學影片:

活動照片:

當 Google 遇見 Coding (1060110)

新北市國教輔導團資訊教育議題 105 學年度第 1 學期國中領域教師工作坊

日期:106年1月10日

地點:明志國中電腦教室

課程主題:當 Google 遇見 Coding

講師:Google認證講師

研習公文

研習講義課程大綱_當Google遇見Coding

研習流程與課程大綱:

1060110研習流程與課程大綱

課程相關網站:

Blockly遊戲:迷官第10關

相關網站:

新北市程式研發工作坊(1051109、1051116)

日期:105年11月9日下午、105年11月16日下午

地點:樹林國小電腦教室

講師:林正國老師

課程主題:網頁製成版型編排活用速成班

課程大綱:

  • 11月9日(三)
    PHOTOSHOP基礎教學 (軟體概念、影像處裡、遮色片去背) 13:30-16:00
    網站規劃 Balsamiq Mockups軟體教學 (學員必須要有Google帳號,與使用Chrome瀏覽器 ) 16:00-17:30
  • 11月16日(三)
    視覺 layout 網頁PHOTOSHOP實務教學 (網頁切版、Gif動畫檔) 13:30-14:30
    adobe dreamweaver 網頁排版工具速成應用 (網頁table表格排版) 14:30-16:30
    學員實作 (學員利用1小時將作品收尾以及個別詢問問題 ) 16:30-17:30

課程講義:

上課教材與筆記:

活動照片:

參考網站:

運算思維研習:一小時程式設計體驗(1051026)

活動日期:105 年 10 月 26 日(星期三)下午 2 時至 4 時。

活動地點:新北市三重區碧華國民小學

課程內容:一小時玩程式線上教材體驗

講師:誠致教育基金會外聘講師

講義:新北市學校_教師研習_一小時玩程式體驗課簡報檔

新北市HOC擷圖

活動網站:

活動照片:

參考資料:

 

證書樣式:

邱昭士_一小時程式設計證書