杯子疊疊樂

譯者:林晉寬

版權聲明:
這活動改編自Travelling Circuits lesson‘My Robotic Friends’, developed by Thinkersmithw1,公開發布在Creative Commons CC-BY-NC-SA的授權下,英文及西班牙文的完整課堂計畫在Computer Science Education Week websitew2。

本教材以創用CC 3.0 姓名標示-非商業性-相同方式分享釋出(creative commons 3.0 BY-NC-SA)
https://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh_TW 

原文教案與教材連結:
http://www.scienceinschool.org/content/coding-without-computers
http://www.scienceinschool.org/sites/default/files/teaserMaterial/symbol_key_cup_stack_pack.pdf
http://www.scienceinschool.org/sites/default/files/teaserPdf/coding.pdf

活動名稱:杯子疊疊樂

課前準備:

    • 符號鍵(每隊一個)
    • 杯堆卡(每隊一組)
    • 可棄式紙杯(每隊最少六個)
    • 空白紙(每人一張)
    • 一支筆(每人一隻)
    • 符號卡和杯堆卡可在上欄中的連結下載。

活動設計:

    • 概要

寫程式不需要電腦,只需要筆、紙和一些杯子把你的學生轉變成機器人和程式設計師。

雖然寫程式和電腦科學變成學校課程和科學世界很重要的一部份,但是許多他們的規則,在不需要使用電腦的情況下就可以探討,使用事先預定好的”機器人單字庫”,你的學生將可以在不需進行討論的情況下,而了解如何引導彼此完成特定任務。

這個活動教學生關於符號和動作之間的連結,同時還有重要的偵錯技巧,若還有時間,在這課程的最後可以選擇要不要介紹函式(function)。

    • 如何進行
        • 設計機器人

首先問看看同學有沒有任何人聽過「機器人學」這個學問,有沒有任何人曾經看過或者是摸過機器人?機器人真的可以”聽”到你說話嗎?他真的了解你說什麼嗎? 最後一個問題的答案是,「是,但方法與人類不一樣」。

機器人是依靠指令來運作的,指令就是被事先設定好的要怎麼做事情的集合。為了完成任務,機器人必須有一串可遵行的指令(有時也叫演算法)。這活動就是要教學生以上的概念。

    • 活動內容

拉出複製的符號鍵或在黑板上寫上符號(圖1),在這個活動裡面只有六個符號可以用。

在這個任務中,他們將會使用這些箭頭來指示機器人建造特定的杯堆。

首先在課堂上示範一次,向他們展示圖2的杯堆。將杯子放在桌子上大家都可以看到的地方,要求同學給你第一個建造這杯堆的指令,正確答案是”拿起一個杯子”,當你拿起杯子,注意你應該將杯子舉高到杯堆中最高的杯子之上。

當你的手還在空中,要求下一個動作,你也許需要提醒同學,前進一步只是杯子寬度的一半,如圖3。

一旦你放下一個杯子,要求同學幫助你在板子上寫下符號,記下我們動過的步驟,讓你接下來可以執行程式。

1.把全班同學分組(下方附件有建議分組人數)

2.每隊需要選擇一個人充當”機器人”。當編碼員開始編碼時,把機器人送到「機器人圖書館」(也就是另外一間教室啦)。機器人可以掌握時間練習堆杯子,確保他們了解規則。

3.為每一隊選擇杯堆卡。

4.每一隊需要創造一個演算法讓機器人去建造選擇的杯堆。

5.每隊需要將他們的演算法翻譯成課堂中符號卡裡的箭頭。寫程式的人員,要重複檢驗他們的程式碼是否合理。

6.當編譯者完成創作他們杯堆的編碼,就可以召喚他們的機器人。

7.當機器人回到隊上時,隊上的每個人應保持安靜。機器人閱讀符號卡上的符號,並把符號轉換成他的動作。

8.若編碼有錯誤,團隊可以終止程式,在偵錯並要求機器人重跑他們的程式之前,需要將機器人送回到原本的地方。

當每一隊解決一個挑戰,隊員應選擇一個新的機器人(同學)並送它到「機器人圖書館」,然後再給這個團隊一個新的杯堆卡(最好是更難的!)。

    • 變化與延伸
        • 函式

在這活動中,學生通常會開始試著用數字寫一個簡化版本的指令,例如用→x5 來取代→→→→→。一開始要勸阻這個做法,然後提醒學生只能遵循這六個被允許的符號,不過在接下來的活動,你可以認可並表揚嘗試使用這些技巧的學生,並承認他們獨自發現了函式的需要性。

有數字的箭頭是一個聰明方法,代表我們想要重複一個特定動作數次。因為允許重複動作,我們實際上創造了一個新的符號來避免重複使用不必要的編碼,而這個點子的背後就是功能。你的學生可以想出其他簡寫或功能。

現在同學有這些新功能,讓他們開始試著堆出一個超有挑戰性的杯堆卡。如果一個團隊的杯子不夠用,不同的團隊可以一起合作。

    • 調整
        • 對於小學生:

全班一起嘗試這個課程,讓學生們講出方向,然後老師寫下來。

若有一個助教,在編寫程式時,他可以先離開教室,然後回來執行最後完成的指令。

若還有時間,交換角色,讓助教在教室寫指令,而老師執行。

        • 對於11~14歲的學生:

讓每隊大小約為三人到五人,根據學生個性分配。

期望每個學生都有輪到一輪,可能會用到一個小時。

        • 對於14歲以上的學生:

儘管三人是最理想的,不過還是限制每隊在四人以下。

一旦每個學生都當過機器人,通常還有足夠時間使用函式進行活動。