歡迎來到編碼的世界!

你好!歡迎來到充滿樂趣的編碼與運算思維(Coding and Computational Thinking)世界。你可能會覺得編碼只是電腦天才的專利,但其實它就像畫畫或製作模型一樣,是一種極具創意的解難方法。在這個章節中,我們將學習如何像設計師和程式設計師一樣思考。我們會學會如何將巨大的難題拆解成小部分,並透過指令告訴電腦如何解決問題。如果一開始覺得有點困難也別擔心;學習編碼就像學習一種新語言,雖然需要一點練習,但只要你掌握了技巧,它就會成為你的超能力!

第一部分:什麼是運算思維?

在我們觸碰鍵盤之前,首先要學會如何思考。運算思維(Computational Thinking)是一種解決問題的過程。它不是要你像機器一樣思考,而是以一種能幫助電腦(或其他人)理解如何解決問題的方式來構思。

運算思維有四大核心支柱。你可以用這個口訣來記住它們:「拆解、規律、抽象、演算法」

1. 拆解 (Decomposition)

拆解是指將複雜的問題分解成較小、較易處理的部分。
比喻:如果你想打掃整個家,你不會一次完成所有工作。你會把它拆解開來:先清理廚房,然後是臥室,最後是浴室。完成一連串的小任務比完成一個巨大的任務容易多了!

2. 規律識別 (Pattern Recognition)

規律識別是指在小問題中尋找相似之處或趨勢。如果你發現了規律,就可以重複使用同一個解決方案。
例子:如果你正在為不同的汽車建立網站,你會發現每輛車都需要價格、顏色和引擎類型。你可以為每一項汽車資料套用相同的「規律」。

3. 抽象化 (Abstraction)

抽象化是指專注於重要資訊,並忽略無關緊要的細節。
例子:當你看地鐵路線圖時,不需要看到街道上的每一棵樹或每一棟房子。你只需要看線路和車站。這就是抽象化!

4. 演算法 (Algorithms)

演算法是解決問題的一系列逐步指令。
例子:製作蛋糕的食譜就是一種演算法。如果你按順序執行步驟,每次都能做出一個蛋糕!

快速回顧:
拆解:將問題化整為零。
規律識別:找出相同之處。
抽象化:只保留重點。
演算法:跟隨步驟執行。

重點總結:運算思維能幫助我們在編碼前整理思路,讓實際編寫程式的過程輕鬆許多!

第二部分:編碼的基礎積木

當我們有了演算法(計畫)之後,我們就用電腦能理解的語言將其寫出來。大多數程式都是由三個基本結構組成的。

1. 順序 (Sequence)

順序是指執行指令的特定次序。電腦會從上到下讀取程式碼。如果你弄錯了順序,程式就無法正確運作。
現實例子:想想穿襪子和鞋子的過程。
步驟 1:穿上襪子。
步驟 2:穿上鞋子。
如果你顛倒了順序,襪子就會穿在鞋子外面,那可就亂套了!

2. 選擇 (Selection/Decisions)

選擇是指電腦必須進行決策的時候。我們通常使用 If-Then-Else(如果-那麼-否則)語句來實現。
例子:如果 (IF) 下雨,那麼 (THEN) 帶雨傘。否則 (ELSE)(如果不下雨),戴太陽眼鏡。

3. 迭代 (Iteration/Loops)

迭代其實就是重複的意思。我們不需要將相同的程式碼寫 100 次,而是使用迴圈 (Loop)
例子:與其一直說「走一步、走一步、走一步」,你可以告訴電腦:「重複『走一步』直到碰到牆壁。」

你知道嗎?電腦其實有點「笨」——它們只會完全按照你的指示去做。如果你忘記叫機器人在走過門口前先開門,機器人就會直接撞向門!

重點總結:編碼邏輯就像流程圖。你依照路徑前進(順序),進行抉擇(選擇),並重複動作(迭代)。

第三部分:變數與數據

為了處理問題,電腦需要記住資訊。我們使用變數 (Variables) 來達成此目的。

變數想像成一個貼了標籤的盒子。你可以把數值放進盒子裡,之後再進行修改。例如,在電子遊戲中,你可能會有一個名為分數 (Score) 的變數。
開始時:\( Score = 0 \)。
贏得分數後:\( Score = Score + 1 \)。

常見數據類型:
  • 整數 (Integer):整數(例如 5、10 或 -2)。
  • 字串 (String):文字或字元(例如 "Hello World" 或 "Player1")。字串通常會用「引號」括起來。
  • 布林值 (Boolean):一個只有真 (True)假 (False) 的值。(例如:遊戲結束了嗎?True。)

常見錯誤:別忘了電腦處理數字 5(整數)和文字 "5"(字串)的方式完全不同。你不能對字串進行數學運算!

重點總結:變數讓我們的程式能透過儲存和更改資訊,變得更加靈活多變。

第四部分:除錯與設計週期

在你的 IB MYP 設計專題中,你常會發現程式碼第一次執行時無法運作。這很正常!這是設計週期中創建 (Create)評估 (Evaluate) 階段的正常現象。

什麼是除錯 (Debugging)?

除錯是尋找並修復程式碼中錯誤(Bug)的過程。主要有兩種錯誤:

  1. 語法錯誤 (Syntax Errors):這就像程式碼中的「拼字錯誤」。因為少了括號或引號,電腦無法理解指令。
  2. 邏輯錯誤 (Logic Errors):程式可以執行,但結果不如預期。這通常表示你的演算法(計畫)出了錯。
如何像專業人士一樣除錯:

1. 閱讀錯誤訊息:電腦通常會試著告訴你問題出在哪裡!
2. 檢查順序:步驟的順序正確嗎?
3. 與「橡皮鴨」對話:大聲地向物體(或朋友)解釋你的程式碼。通常在解釋的過程中,你就會發現自己在哪裡犯錯了!

重點總結:錯誤是學習的契機。每位優秀的程式設計師花在除錯上的時間,遠比寫新程式碼的時間多。

總結

編碼不只是打字,更是關於運算思維。透過拆解問題、尋找規律抽象化細節並建立演算法,你可以設計出解決各種難題的方案。記得運用順序選擇迭代來建立邏輯,並使用變數來管理數據。如果事情進展不順,保持冷靜並進行除錯 (debug)!你做得到的!