你說:
我是一位國中數學老師,除了以前學生時代上過一些程式課程外,完全不會寫程式。最近在課堂上深感學生缺乏學習動機和動力,我想藉由結合程式和數學來吸引他們學習的興趣,我想應該自己先學會寫些小程式才會對學生有說服力。告訴我該怎麼開始。
好,那我們先幫你制定一個「老師專用」的入門路線,讓你不用先變成工程師,就能寫出和數學課直接有關、可以馬上帶進教室的小程式。
你不是要考資訊科系,也不是要寫大型專案,所以目標可以很明確:
能用程式做一些互動小遊戲或小工具,幫學生「看見數學」。
能修改現成程式,加入自己的題目或數字。
能用程式讓學生在短時間內「自己試、自己改、自己玩」。
我建議先用 Python + 一些可視化的模組,因為:
語法簡單,不需要很多前置知識。
有很多現成的範例可以改成數學情境。
支援簡單動畫、圖形繪製。
另外,兩個非常適合你的平台:
Trinket.io 或 Replit.com → 免費、免安裝、網頁就能跑 Python。
Thonny → 簡單的 Python 編輯器,如果你想離線教學。
我幫你排一個「兩週暖身計畫」,每天 20–30 分鐘就能進步:
第 1 週:語法基礎 + 數學計算
輸出與輸入(print / input) → 讓程式問使用者數字,輸出結果。
變數(x, y) → 把輸入存起來做運算。
if 判斷 → 寫個程式判斷輸入數字是否為質數、偶數…
for 迴圈 → 列出 1~10 的平方、乘法表。
第 2 週:加上圖形與互動
turtle 模組 → 畫幾何圖形(多邊形、星形)。
隨機數(random) → 做數學快問快答小遊戲。
簡單動畫(turtle 或 pygame zero)→ 讓圖形根據公式移動。
專案練習 → 做一個「拋物線模擬器」或「質數尋找遊戲」。
因數分解挑戰:程式出數字,學生輸入質因數。
隨機題生成器:隨機生成二元一次方程組,學生解答。
圖形面積拼圖:用 turtle 畫圖,學生猜面積公式。
數列猜數字:出現等差或等比數列的前幾項,學生輸入下一項。
不要一開始就學很抽象的程式知識,先想:「我能用這個做什麼數學活動?」
這樣你學到的每一段程式碼,都能馬上找到用處,也更能傳染熱情給學生。
我可以幫你做一份 14 天老師用的 Python + 數學入門自學小手冊,每天一點點,並且附課堂應用的想法。
你要我幫你先排出這份手冊的完整目錄嗎?這樣你照著走就能邊學邊做教具。
好,那我就幫你排一份14 天「國中數學老師專用 Python 入門手冊」目錄,每天花 20–30 分鐘,邊學邊做能馬上用在課堂的小程式。
Day 1 認識 Python 與環境設定
選擇平台(Trinket / Replit / Thonny)
第一行程式:print("Hello Math!")
小練習:顯示自己名字與最喜歡的數字
Day 2 變數與數學運算
整數、浮點數、運算符號 (+, -, *, /, **)
小練習:計算梯形面積(輸入底、高)
Day 3 input()
與互動計算
讓程式詢問使用者數字
小練習:輸入半徑,輸出圓周長與面積
Day 4 條件判斷 if
if / else
基本用法
小練習:輸入數字,判斷是奇數還是偶數
課堂應用:判斷成績是否及格
Day 5 迴圈 for
與數列
range()
產生數字序列
小練習:列出 1 到 10 的平方
課堂應用:列出前 10 個質數
Day 6 迴圈 while
與重複輸入
差別:for 是固定次數,while 是條件成立
小練習:不斷詢問直到學生輸入正確答案
Day 7 小專案 #1 – 數學快問快答
出題(加法或乘法)→ 學生輸入答案 → 判斷正確與否
變化:計時挑戰
Day 8 turtle
模組入門
畫直線、轉向、改顏色
小練習:畫正方形與三角形
Day 9 多邊形與角度計算
計算外角與內角公式
小練習:畫正五邊形、正八邊形
課堂應用:用 turtle 驗證多邊形內角和公式
Day 10 隨機數 random
產生 1~100 的隨機整數
小練習:亂數生成數列,判斷等差或等比
Day 11 動態圖形與簡單動畫
讓 turtle 移動路徑模擬拋物線(y = ax²)
課堂應用:拋體運動軌跡視覺化
Day 12 小專案 #2 – 幾何拼圖遊戲
隨機畫幾何圖形,學生猜名稱或公式
計分功能
Day 13 小專案 #3 – 質數尋找器
亂數生成數字,判斷是否質數
計時挑戰模式
Day 14 發表與分享
將小專案改成課堂活動
讓學生分組挑戰或修改程式
如果你願意,我可以幫你把 Day 1–Day 3 的內容直接寫成「老師可以照抄、邊跑邊教」的教案,附範例程式碼、課堂練習、以及「改成數學題」的做法。
這樣你第一週就能馬上在課堂上用程式吸引學生。
你要我先幫你準備 Day 1–3 的教案嗎?
好,那我幫你把 Day 1–3 做成「老師照著走就能上」的教案,包含:
課堂流程
範例程式碼
學生練習題
變化題(讓數學味更濃)
我會假設你在教室用 Trinket.io(免安裝、能即時執行 Python),但你換成 Replit 或 Thonny 也可以。
課堂目標
學生能在網頁上輸入並執行 Python 程式。
學會使用 print()
顯示文字與數字。
課堂流程(20 分鐘)
引起動機(3 分鐘)
問學生:「如果數學題能自己會說話,會好玩嗎?」
示範一行程式:
pythonprint("Hello Math!")
執行後讓學生看到螢幕顯示文字。
環境設定教學(5 分鐘)
打開 trinket.io → New Trinket → Python 3
刪掉預設程式,輸入 print("Hello World!")
,按「Run」。
基本語法(5 分鐘)
介紹 print()
:可以顯示文字或數字。
範例:
pythonprint("我是小明")
print(2025)
print("我的幸運數字是", 7)
學生練習(5 分鐘)
顯示自己的名字與最喜歡的數字。
顯示「今天是數學課」。
變化題(數學版)
顯示三行:
今天的日期
一句數學名言
一個數學公式(例如「3 × 4 = 12」)
課堂目標
知道什麼是變數(用來存資料)。
用變數做加、減、乘、除、次方運算。
課堂流程(25 分鐘)
暖身回顧(3 分鐘)
請學生再打一次 Day 1 的練習,快速複習 print()
。
介紹變數(5 分鐘)
範例:
pythonx = 5
y = 3
print(x + y)
print(x * y)
說明:x = 5
表示「x 裡存的是 5」。
數學運算符號(5 分鐘)
+
加
-
減
*
乘
/
除(會變小數)
**
次方(例:2**3 = 8
)
學生練習(7 分鐘)
設三個變數:底、頂、高 → 計算梯形面積。
pythonb1 = 8
b2 = 5
h = 4
area = (b1 + b2) * h / 2
print(area)
課堂應用(5 分鐘)
請學生改成計算矩形或平行四邊形面積。
變化題(數學版)
寫程式計算等差數列前 5 項的總和(直接代入公式)。
input()
與互動計算課堂目標
讓程式詢問使用者輸入資料。
把輸入的數字拿去計算。
課堂流程(25 分鐘)
引起動機(3 分鐘)
問學生:「如果程式可以問你數字,幫你算答案,要不要試?」
介紹 input()
(5 分鐘)
範例:
pythonname = input("你叫什麼名字? ")
print("嗨", name)
數字輸入要轉型(5 分鐘)
input()
會讀成文字,要用 int()
變成整數:
pythonr = int(input("請輸入半徑:"))
area = 3.14 * r ** 2
print("圓的面積是", area)
學生練習(7 分鐘)
寫程式詢問:底、頂、高 → 算梯形面積。
輸出時加上「單位」字樣(例如「平方公分」)。
課堂應用(5 分鐘)
改成計算學生輸入的數字是平方數還是立方數。
變化題(數學版)
讓程式詢問直角三角形的兩直角邊長,算斜邊長(用畢氏定理)。
如果你願意,我可以在下一步幫你把 Day 4–7 的教案排出來,這樣你第一週就能一次備齊。
要我繼續做嗎?這樣你可以整週都直接用在課堂。