我們都知道電腦很快,但你知道電腦變快的秘訣是什麼嗎? 以前的電腦像是一個廚師只有一個爐子,煮完湯才能炒菜(這叫序列處理)。 現在的超級電腦,像是有幾千個廚師同時在切菜、煮飯(這叫平行處理)。 今天要帶孩子到戶外,用粉筆畫出一個「排序網路 (Sorting Network)」,讓他們化身為數據賽車,體驗不需要指揮官,只要跟著線走,就能自動排好順序的神奇魔法!
第一階段:一個人的極限
首先,我們先體驗一下「只有一個大腦」的感覺。
- 任務設定:
- 找 6 位孩子(或是用玩偶代表),每人發一張隨機數字卡。
- 規則: 「我是唯一的電腦 CPU。現在你們要排隊,但你們不能自己動,只能聽我指揮。」
- 序列處理:
- 老師/家長開始指揮:「3 號你去第一位… 5 號你跟 2 號交換…」
- 觀察: 當家長在指揮甲的時候,乙丙丁都在發呆等待。
- 提問: 「你們有沒有發現,大部分的時間你們都在『等』?如果我要排 100 個人,最後那個人是不是會等到睡著?」
第二階段:地上的魔法陣
我們要畫出一個「讓大家不用思考,跟著走就會對」的軌道。
- 繪製地圖:
- 參考教材,在地上用粉筆或膠帶畫出「排序網路圖」。它看起來像一堆交錯的軌道和圓圈。
- 標示清楚「入口」和「出口」。
- 解說規則:
- 「這是一個自動導航賽車場。你們每個人都是賽車,拿著你的數字卡。」
- 口訣: 「遇到圓圈停下來,比比大小分開跑!」
- 黃金法則: 在圓圈相遇時,數字小的走左邊(或上面的路),數字大的走右邊(或下面的路)。

第三階段:與時間賽跑
這是活動最高潮,孩子將親眼看見「秩序」是如何從「混亂」中自動產生的。
- 各就各位:
- 6 位孩子拿著亂數卡片(例如 5, 1, 6, 3, 4, 2),站在入口的六個格子裡。
- 開始執行:
- 老師/家長喊:「開始!」
- 孩子們沿著線走。
- 第一關: 兩兩相遇,比大小,分開走。
- 第二關: 遇到新夥伴,再比大小,再分開走。
- 觀察: 所有的比較是同時發生的!沒有人在發呆,大家都在忙。
- 終點揭曉:
- 當大家都走到出口時,請他們把卡片舉起來。
- 驚喜時刻: 「天啊!原本亂七八糟的數字,怎麼變成 1, 2, 3, 4, 5, 6 排得好好的?」
- 老師/家長: 「我有指揮你們嗎?沒有!是這個地圖(演算法)讓你們自動排好的!」
第四階段:概念連結 (Concept Connection)
為什麼這樣比較快?
- 老師/家長:「剛剛我們在那邊跑來跑去,其實總共做了 12 次的比較(比大小)。但是,我們感覺好像只花了一點點時間,為什麼?」
- 孩子:「因為我們大家同時做比較啊!」
- 老師/家長:「賓果!這就是超級電腦的秘密,叫做『平行處理 (Parallel Processing)』。」
- 應用場景: 這就是為什麼電腦可以同時讓你看 YouTube、下載遊戲、又一邊做其他事,因為它有很多「手」在同時做事。
第五階段:除錯與挑戰 (Debug & Challenge)
如果規則改了會怎樣?
透過改變規則,測試孩子對演算法邏輯的理解。
- 挑戰一:反向思考
- 提問: 「如果我們把規則倒過來:『大的走左邊,小的走右邊』,你們覺得結果會變成怎樣?」
- 實驗: 讓孩子跑一次看看。
- 發現: 最後的順序會變成從大到小(6, 5, 4…)!。
- 挑戰二:音樂與文字
- 提問: 「這個魔法軌道只能排數字嗎?」
- 實驗: 試試看拿著寫有 A, B, C, D 的卡片,或是畫著不同音符(Do, Re, Mi)的卡片。
- 結論: 只要能「比大小」的東西,這個網路通通能排!。
教學觀察重點表 (Clinical Interview Guide)
這張表幫助您引導孩子觀察「平行」的威力,而不是只在意輸贏。
| 觀察點 | ❌ 較無效的反應 (只看結果) | ✅ 較有效的引導 (工程師思維) |
| 當孩子走錯邊時 | 「你走錯了,重來。」 | 「咦?這裡好像『塞車』了。如果你拿的是 5,他拿的是 3,根據『小左大右』的規則,軌道應該把你帶去哪裡?」(把錯誤歸咎於執行,而非孩子能力) |
| 解釋為什麼要畫這麼複雜的線 | 「這就是排序網路的公式。」 | 「這就像是設計一個工廠的輸送帶。只要輸送帶(線)畫對了,不管丟什麼數字進去,出來都會是整齊的產品。這就是自動化的厲害!」 |
| 比較序列與平行 | 「平行處理比較快。」 | 「如果你只有一個人(比如做飯只有一個爐子),你會怎麼做?如果有很多人(四個爐子),你又會怎麼做?哪一種比較省時間?」 |
給老師/家長的建議
「粉筆與地板」是這堂課最好的工具。
當孩子在圓圈處停下來等待另一位夥伴時,那是「同步 (Synchronization)」的完美展示——在平行運算中,快的必須等慢的,才能進行下一步比較。這個「等待」的過程,就是最棒的身體學習!
順便提一下,雖然這被稱為“網絡”,但它只是計算機科學中眾多網絡類型中的一種。常見的「網路」是通訊網絡,例如行動電話使用的電信網絡,當然還有互聯網!此外,還有一些網路用於表示諸如路線圖和航線之類的資訊。需要注意的是,本活動中的排序網絡並非上述任何一種網絡類型,它被稱為比較器網絡,因為在這種網絡中,每個節點比較的是兩個值,而不是將不同的設備(例如手機和計算機)連接在一起。
排序網路演示
網路大小
排序模式
速度
1.0x
移動次數
0
進度
0/6
網路拓撲圖
INPUT
COMPARATOR
OUTPUT
參考來源:csunplugged sorting networks
