對於計算機科學(Computer Science)和程式(Program)等相關議題,多數人呈現陌生與恐懼,其實這些都已經應用於日常生活中,緊密不可分了呢!透過簡單的例子或活動,讓我們一同了解其概念,以降低對資訊科學之恐懼吧!
『演算法』(Algorithm)是計算機科學中的核心之一。廣義來說,演算法是指為了完成某一項任務或解決特定問題,所需要的一連串步驟和指令。在規劃或設計演算法,需要注意有限步驟、順序性和精確指令描述。有些步驟是需要依照特定的順序來執行,才能達到想要的結果。以下介紹美國知名程式教育推廣網站 Code.org 所提供的五個簡單又好玩的不插電活動,一起來邊玩邊學演算法囉!
★ 補充說明:可直接點影片右下方設定中文字幕
1. 植物種植(Planting a Seed)
★ 課程詳細說明和學習單 (請點此):https://curriculum.code.org/csf-18/coursea/3/
以種植植物為例子,透過影片和課程內容,可以練習編寫演算法來種植種子,也可了解演算法在日常生活中無處不在!活動過程中,避免給出模糊或過於概括的指令,將大項目分解為更小、更容易、更具體的命令,根據這些一系列的命令來種下種子。
2. 摺紙飛機(Paper Planes)
★ 課程詳細說明和學習單 (請點此):https://curriculum.code.org/csf-18/coursec/4/
演算法是指可以完成任務的步驟列表。從中可理解,各個步驟的順序、對於最終成品所產生的影響。透過學習單,先決定哪些是必要的步驟和執行順序,完成創造摺疊紙飛機的演算法後,彼此交流實際測試看看吧!
3. 擲骰子比賽(Dice Race)
★ 課程詳細說明和學習單 (請點此):https://curriculum.code.org/csf-1718/coursee/10/
通過玩骰子、加總點數的競賽遊戲,將演算法概念與現實生活的活動聯結起來。不熟悉數學加法的幼兒,可標示每回合的點數,最後再用計數(Counting)的方式計算總合唷!
4. 快樂地圖(Happy Maps)
★ 課程詳細說明和學習單 (請點此):https://curriculum.code.org/csf-18/coursea/5/
透過箭頭指令,一步一步引導主角找到水果位置。
5. 我的機器人朋友(My Robotic Friends)
★ 課程詳細說明和學習單 (請點此):https://curriculum.code.org/csf-18/coursee/1/
設計演算法: 撰寫一連串的指令步驟,來指示「機器人朋友」堆疊杯子,以達到特定的樣式。要特別注意的是,移動一格僅是半個杯子的寬度,移動兩格才是完整一個杯子的寬度。
除了以上的活動範例之外,在日常生活中還有許多例子應用: 刷牙步驟、幫魚缸換水、食譜、遊戲(撲克牌21點、河內塔)、旅行規劃等。不同的問題,會選用相對合適的演算法來處理,更有效率、節省時間、空間和成本等,以達到更好的效果呢!
★ 對不插電活動學計算機科學科學有興趣者,請參考以下連結:
★ 延伸閱讀:
文章編輯:工程師媽媽Cindy
核稿編輯:NC
資料和圖片來源:Code.org