我是一個退休的資訊工程師,去年想教兩個唸高中的女兒學習程式設計,但我已有20年沒有寫程式,經過一番探索與學習,寫了一份簡單的教材,其中構想有幾個獨特之處:

  1. 選定 Swift程式語言(而不是目前當紅的 Python 或 Scratch)
  2. 開發環境以 Swift Playgrounds 為主(而不用Xcode)
  3. 自行命名的變數、函式、結構、類別...等等,盡量採用中文(而不是英文)
  4. 先實作再講解理論

由於對象是高中生,所以講解理論必須盡量淺白,只介紹基本必要的術語,多用實例與比喻。

課程內容的安排,每堂課盡量精簡,預期在20-30分鐘以內,10堂課左右為一個單元,目前構思了幾個單元:

單元#1. Swift資料類型與基本句型
 1.1 變數與常數(var/let)
 1.2 算術運算與for迴圈
 1.3 函式(func)
 1.4 陣列(Array)
 1.5 布爾(Bool)
 1.6 Swift基本句型
 1.7 物件結構(struct)
 1.8 什麼是物件(Object)
 1.9 表情字符(emoji)
 1.10 時間(Date)
單元#2. SwiftUI 入門
 2.1 什麼是SwiftUI
 2.2 顯示圖片(Image)
 2.3 VStack/HStack
 2.4 ZStack
 2.5 View 修飾語(modifier)
 2.6 ScrollView
 2.7 JSON 資料表格
 2.8 表情符號(emoji)
 2.9 系統圖示(SF Symbols)
 2.10 手勢控制
單元#3. 網路資料存取
 3-1 URL & URLSession 物件
 3-2 下載網路圖片
 3-3 搜尋 iTunes 音樂
 3-4 連接Open API
 3-5 下載大圖(downloadTask)
 3-6 網路抓圖 AsyncImage
 3-7 非同步指令 async/await
 3-8 錯誤處理(error handling)
 3-9 用iPad撰寫App
 3-10 擴充改善我的App
單元#4. SwiftUI 動畫與2D繪圖 
單元#5. 人工智慧
單元#6. 3D與AR

(c) 2021-2025 Heman Lu [email protected]

第1單元目錄

準備工作:測試練習環境

第1課 自我介紹:字串

1-1 範例程式解說

關於Swift Playgrounds

程式跟誰對話?

第2課 先乘除後加減:算術運算與迴圈

Swift Playgrounds: 學習程式設計1

1-2b while 迴圈

1-2c 迴圈的力量

資料類型(Data Type)

第3課 自訂新指令:函式(func)

為什麼不直接套用公式?

人生的「變數」

第4課 臨兵鬥者皆陣列在前:陣列(Array)

商王寶藏

第5課 是非題 Bool 與選擇題 if-else

1-5b 尋找質數

1-5c 道法自然:費氏數列

進度回顧與習題

變數名稱的有效範圍

Debug 迴圈

第6課 Swift 程式語言的基本句型

整數分解為費波那契數之和

程式「模組化」

台灣給世界的禮物